All of lore.kernel.org
 help / color / mirror / Atom feed
* Complie issues with trinity-2013-06-17 on s390
@ 2013-06-18  7:07 Sravan V Dodla
  2013-06-18 15:39 ` Dave Jones
  0 siblings, 1 reply; 6+ messages in thread
From: Sravan V Dodla @ 2013-06-18  7:07 UTC (permalink / raw)
  To: trinity

Hello,

I was trying to compile trinity-2013-06-17 build on s390x with kernel
3.9.4 and have hit the following issue:

  CC	syscalls/fcntl.o
syscalls/fcntl.c: In function ‘sanitise_fcntl’:
syscalls/fcntl.c:70:2: error: duplicate case value
  case F_GETLK64:
  ^
syscalls/fcntl.c:65:2: error: previously used here
  case F_GETLK:
  ^
syscalls/fcntl.c:72:2: error: duplicate case value
  case F_SETLK64:
  ^
syscalls/fcntl.c:66:2: error: previously used here
  case F_SETLK:
  ^
syscalls/fcntl.c:74:2: error: duplicate case value
  case F_SETLKW64:
  ^
syscalls/fcntl.c:67:2: error: previously used here
  case F_SETLKW:
  ^
make: *** [syscalls/fcntl.o] Error 1

Was this a known issue and I was not able to find anything related to
this in archived mails.

Thanks!
-Sravan.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Complie issues with trinity-2013-06-17 on s390
  2013-06-18  7:07 Complie issues with trinity-2013-06-17 on s390 Sravan V Dodla
@ 2013-06-18 15:39 ` Dave Jones
  2013-06-19  5:40   ` Sravan V Dodla
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Jones @ 2013-06-18 15:39 UTC (permalink / raw)
  To: Sravan V Dodla; +Cc: trinity

On Tue, Jun 18, 2013 at 12:37:26PM +0530, Sravan V Dodla wrote:
 > Hello,
 > 
 > I was trying to compile trinity-2013-06-17 build on s390x with kernel
 > 3.9.4 and have hit the following issue:
 > 
 >   CC	syscalls/fcntl.o
 > syscalls/fcntl.c: In function ‘sanitise_fcntl’:
 > syscalls/fcntl.c:70:2: error: duplicate case value
 >   case F_GETLK64:
 >   ^
 > syscalls/fcntl.c:65:2: error: previously used here
 >   case F_GETLK:
 >   ^
 > syscalls/fcntl.c:72:2: error: duplicate case value
 >   case F_SETLK64:
 >   ^
 > syscalls/fcntl.c:66:2: error: previously used here
 >   case F_SETLK:
 >   ^
 > syscalls/fcntl.c:74:2: error: duplicate case value
 >   case F_SETLKW64:
 >   ^
 > syscalls/fcntl.c:67:2: error: previously used here
 >   case F_SETLKW:
 >   ^
 > make: *** [syscalls/fcntl.o] Error 1
 > 
 > Was this a known issue and I was not able to find anything related to
 > this in archived mails.

Does this help ?

diff --git a/syscalls/fcntl.c b/syscalls/fcntl.c
index 6eb2344..5d651af 100644
--- a/syscalls/fcntl.c
+++ b/syscalls/fcntl.c
@@ -23,6 +23,10 @@
 #include "shm.h"
 #include "compat.h"
 
+#if F_GETLK64 != F_GETLK
+#define HAVE_LK64
+#endif
+
 void sanitise_fcntl(int childno)
 {
 	switch (shm->a2[childno]) {
@@ -66,7 +70,7 @@ void sanitise_fcntl(int childno)
 	case F_SETLK:
 	case F_SETLKW:
 		break;
-#ifndef __x86_64__
+#ifdef HAVE_LK64
 	case F_GETLK64:
 		break;
 	case F_SETLK64:
@@ -122,7 +126,7 @@ struct syscall syscall_fcntl = {
 	.arg2name = "cmd",
 	.arg2type = ARG_OP,
 	.arg2list = {
-#ifdef __x86_64__
+#ifndef HAVE_LK64
 		.num = 20,
 #else
 		.num = 23,
@@ -130,7 +134,7 @@ struct syscall syscall_fcntl = {
 		.values = { F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETLK, F_SETLK,
 		  F_SETLKW, F_GETOWN, F_SETOWN, F_GETOWN_EX, F_SETOWN_EX, F_GETSIG, F_SETSIG, F_GETLEASE,
 		  F_SETLEASE, F_NOTIFY, F_SETPIPE_SZ, F_GETPIPE_SZ,
-#ifndef __x86_64__
+#ifdef HAVE_LK64
 		  F_GETLK64, F_SETLK64, F_SETLKW64,
 #endif
 		},

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: Complie issues with trinity-2013-06-17 on s390
  2013-06-18 15:39 ` Dave Jones
@ 2013-06-19  5:40   ` Sravan V Dodla
  2013-06-19  6:28     ` Michael Ellerman
  0 siblings, 1 reply; 6+ messages in thread
From: Sravan V Dodla @ 2013-06-19  5:40 UTC (permalink / raw)
  To: Dave Jones; +Cc: trinity

On Tue, 2013-06-18 at 11:39 -0400, Dave Jones wrote:
> On Tue, Jun 18, 2013 at 12:37:26PM +0530, Sravan V Dodla wrote:

> Does this help ?
Thanks a lot Dave. That did help :)
Still compilation does not complete successfully. I'm seeing the
following issue on both ppc64 and s390x archs:


 CC	ioctls/hpet.o
  CC	ioctls/kvm.o
In file included from ioctls/kvm.c:8:0:
ioctls/kvm.c:15:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_memory_alias’
  IOCTL(KVM_SET_MEMORY_ALIAS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:29:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_pit_state’
  IOCTL(KVM_GET_PIT),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:30:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_pit_state’
  IOCTL(KVM_SET_PIT),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:35:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_irq_routing’
  IOCTL(KVM_SET_GSI_ROUTING),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:47:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_xen_hvm_config’
  IOCTL(KVM_XEN_HVM_CONFIG),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:50:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_pit_state2’
  IOCTL(KVM_GET_PIT2),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:51:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_pit_state2’
  IOCTL(KVM_SET_PIT2),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:76:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_msrs’
  IOCTL(KVM_GET_MSRS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:77:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_msrs’
  IOCTL(KVM_SET_MSRS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:78:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_cpuid’
  IOCTL(KVM_SET_CPUID),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:82:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_lapic_state’
  IOCTL(KVM_GET_LAPIC),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:83:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_lapic_state’
  IOCTL(KVM_SET_LAPIC),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:84:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_cpuid2’
  IOCTL(KVM_SET_CPUID2),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:85:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_cpuid2’
  IOCTL(KVM_GET_CPUID2),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:90:2: error: large integer implicitly truncated to unsigned
type [-Werror=overflow]
  IOCTL(KVM_S390_STORE_STATUS_NOADDR),
  ^
ioctls/kvm.c:91:2: error: large integer implicitly truncated to unsigned
type [-Werror=overflow]
  IOCTL(KVM_S390_STORE_STATUS_PREFIXED),
  ^
In file included from ioctls/kvm.c:8:0:
ioctls/kvm.c:102:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_x86_mce’
  IOCTL(KVM_X86_SET_MCE),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:105:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_vcpu_events’
  IOCTL(KVM_GET_VCPU_EVENTS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:106:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_vcpu_events’
  IOCTL(KVM_SET_VCPU_EVENTS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:107:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_debugregs’
  IOCTL(KVM_GET_DEBUGREGS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:108:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_debugregs’
  IOCTL(KVM_SET_DEBUGREGS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:110:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_xsave’
  IOCTL(KVM_GET_XSAVE),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:111:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_xsave’
  IOCTL(KVM_SET_XSAVE),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:112:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_xcrs’
  IOCTL(KVM_GET_XCRS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
ioctls/kvm.c:113:8: error: invalid application of ‘sizeof’ to incomplete
type ‘struct kvm_xcrs’
  IOCTL(KVM_SET_XCRS),
        ^
include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’
  { .request = _request, .name = #_request, }
               ^
cc1: all warnings being treated as errors
make: *** [ioctls/kvm.o] Error 1


> 
> diff --git a/syscalls/fcntl.c b/syscalls/fcntl.c
> index 6eb2344..5d651af 100644
> --- a/syscalls/fcntl.c
> +++ b/syscalls/fcntl.c
> @@ -23,6 +23,10 @@
>  #include "shm.h"
>  #include "compat.h"
> 
> +#if F_GETLK64 != F_GETLK
> +#define HAVE_LK64
> +#endif
> +
>  void sanitise_fcntl(int childno)
>  {
>  	switch (shm->a2[childno]) {
> @@ -66,7 +70,7 @@ void sanitise_fcntl(int childno)
>  	case F_SETLK:
>  	case F_SETLKW:
>  		break;
> -#ifndef __x86_64__
> +#ifdef HAVE_LK64
>  	case F_GETLK64:
>  		break;
>  	case F_SETLK64:
> @@ -122,7 +126,7 @@ struct syscall syscall_fcntl = {
>  	.arg2name = "cmd",
>  	.arg2type = ARG_OP,
>  	.arg2list = {
> -#ifdef __x86_64__
> +#ifndef HAVE_LK64
>  		.num = 20,
>  #else
>  		.num = 23,
> @@ -130,7 +134,7 @@ struct syscall syscall_fcntl = {
>  		.values = { F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETLK, F_SETLK,
>  		  F_SETLKW, F_GETOWN, F_SETOWN, F_GETOWN_EX, F_SETOWN_EX, F_GETSIG, F_SETSIG, F_GETLEASE,
>  		  F_SETLEASE, F_NOTIFY, F_SETPIPE_SZ, F_GETPIPE_SZ,
> -#ifndef __x86_64__
> +#ifdef HAVE_LK64
>  		  F_GETLK64, F_SETLK64, F_SETLKW64,
>  #endif
>  		},
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Complie issues with trinity-2013-06-17 on s390
  2013-06-19  5:40   ` Sravan V Dodla
@ 2013-06-19  6:28     ` Michael Ellerman
  2013-06-19  8:36       ` Sravan V Dodla
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Ellerman @ 2013-06-19  6:28 UTC (permalink / raw)
  To: Sravan V Dodla; +Cc: Dave Jones, trinity

On Wed, 2013-06-19 at 11:10 +0530, Sravan V Dodla wrote:
> On Tue, 2013-06-18 at 11:39 -0400, Dave Jones wrote:
> > On Tue, Jun 18, 2013 at 12:37:26PM +0530, Sravan V Dodla wrote:
> 
> > Does this help ?
> Thanks a lot Dave. That did help :)
> Still compilation does not complete successfully. I'm seeing the
> following issue on both ppc64 and s390x archs:

I have the following patch that I've been meaning to cleanup and send,
it works for me on ppc64.

cheers


diff --git a/include/compat.h b/include/compat.h
index 20455f3..bba5560 100644
--- a/include/compat.h
+++ b/include/compat.h
@@ -669,6 +669,42 @@ struct kvm_one_reg {
 #define KVM_KVMCLOCK_CTRL         _IO(KVMIO,   0xad)
 #endif
 
+#ifndef KVM_PPC_GET_SMMU_INFO
+#define KVM_PPC_PAGE_SIZES_MAX_SZ	8
+
+struct kvm_ppc_one_page_size {
+	__u32 page_shift;	/* Page shift (or 0) */
+	__u32 pte_enc;		/* Encoding in the HPTE (>>12) */
+};
+
+struct kvm_ppc_one_seg_page_size {
+	__u32 page_shift;	/* Base page shift of segment (or 0) */
+	__u32 slb_enc;		/* SLB encoding for BookS */
+	struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ];
+};
+
+struct kvm_ppc_smmu_info {
+	__u64 flags;
+	__u32 slb_size;
+	__u32 pad;
+	struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
+};
+#define KVM_PPC_GET_SMMU_INFO	  _IOR(KVMIO,  0xa6, struct kvm_ppc_smmu_info)
+#endif
+
+#ifndef KVM_PPC_ALLOCATE_HTAB
+#define KVM_PPC_ALLOCATE_HTAB	  _IOWR(KVMIO, 0xa7, __u32)
+#endif
+
+#ifndef KVM_PPC_GET_HTAB_FD
+struct kvm_get_htab_fd {
+	__u64	flags;
+	__u64	start_index;
+	__u64	reserved[2];
+};
+#define KVM_PPC_GET_HTAB_FD	  _IOW(KVMIO,  0xaa, struct kvm_get_htab_fd)
+#endif
+
 #ifndef EM_ARM
 #define EM_ARM                    40
 #endif
diff --git a/ioctls/kvm.c b/ioctls/kvm.c
index 4620ca8..ffddee4 100644
--- a/ioctls/kvm.c
+++ b/ioctls/kvm.c
@@ -12,7 +12,6 @@ static const struct ioctl kvm_ioctls[] = {
 	IOCTL(KVM_SET_MEMORY_REGION),
 	IOCTL(KVM_CREATE_VCPU),
 	IOCTL(KVM_GET_DIRTY_LOG),
-	IOCTL(KVM_SET_MEMORY_ALIAS),
 	IOCTL(KVM_SET_NR_MMU_PAGES),
 	IOCTL(KVM_GET_NR_MMU_PAGES),
 	IOCTL(KVM_SET_USER_MEMORY_REGION),
@@ -26,13 +25,10 @@ static const struct ioctl kvm_ioctls[] = {
 	IOCTL(KVM_GET_IRQCHIP),
 	IOCTL(KVM_SET_IRQCHIP),
 	IOCTL(KVM_CREATE_PIT),
-	IOCTL(KVM_GET_PIT),
-	IOCTL(KVM_SET_PIT),
 	IOCTL(KVM_IRQ_LINE_STATUS),
 	IOCTL(KVM_REGISTER_COALESCED_MMIO),
 	IOCTL(KVM_UNREGISTER_COALESCED_MMIO),
 	IOCTL(KVM_ASSIGN_PCI_DEVICE),
-	IOCTL(KVM_SET_GSI_ROUTING),
 	IOCTL(KVM_ASSIGN_IRQ),
 	IOCTL(KVM_ASSIGN_DEV_IRQ),
 	IOCTL(KVM_REINJECT_CONTROL),
@@ -44,16 +40,38 @@ static const struct ioctl kvm_ioctls[] = {
 	IOCTL(KVM_CREATE_PIT2),
 	IOCTL(KVM_SET_BOOT_CPU_ID),
 	IOCTL(KVM_IOEVENTFD),
-	IOCTL(KVM_XEN_HVM_CONFIG),
 	IOCTL(KVM_SET_CLOCK),
 	IOCTL(KVM_GET_CLOCK),
-	IOCTL(KVM_GET_PIT2),
-	IOCTL(KVM_SET_PIT2),
 	IOCTL(KVM_PPC_GET_PVINFO),
 	IOCTL(KVM_SET_TSC_KHZ),
 	IOCTL(KVM_GET_TSC_KHZ),
 	IOCTL(KVM_ASSIGN_SET_INTX_MASK),
 	IOCTL(KVM_SIGNAL_MSI),
+#ifdef X86
+	IOCTL(KVM_SET_MEMORY_ALIAS),
+	IOCTL(KVM_GET_PIT),
+	IOCTL(KVM_SET_PIT),
+	IOCTL(KVM_GET_PIT2),
+	IOCTL(KVM_SET_PIT2),
+	IOCTL(KVM_SET_GSI_ROUTING),
+	IOCTL(KVM_XEN_HVM_CONFIG),
+	IOCTL(KVM_GET_MSRS),
+	IOCTL(KVM_SET_MSRS),
+	IOCTL(KVM_SET_CPUID),
+	IOCTL(KVM_GET_LAPIC),
+	IOCTL(KVM_SET_LAPIC),
+	IOCTL(KVM_SET_CPUID2),
+	IOCTL(KVM_GET_CPUID2),
+	IOCTL(KVM_X86_SET_MCE),
+	IOCTL(KVM_GET_VCPU_EVENTS),
+	IOCTL(KVM_SET_VCPU_EVENTS),
+	IOCTL(KVM_GET_DEBUGREGS),
+	IOCTL(KVM_SET_DEBUGREGS),
+	IOCTL(KVM_GET_XSAVE),
+	IOCTL(KVM_SET_XSAVE),
+	IOCTL(KVM_GET_XCRS),
+	IOCTL(KVM_SET_XCRS),
+#endif
 #if defined(__powerpc__)
 	IOCTL(KVM_PPC_GET_SMMU_INFO),
 	IOCTL(KVM_PPC_ALLOCATE_HTAB),
@@ -73,16 +91,9 @@ static const struct ioctl kvm_ioctls[] = {
 	IOCTL(KVM_TRANSLATE),
 	IOCTL(KVM_INTERRUPT),
 	IOCTL(KVM_DEBUG_GUEST),
-	IOCTL(KVM_GET_MSRS),
-	IOCTL(KVM_SET_MSRS),
-	IOCTL(KVM_SET_CPUID),
 	IOCTL(KVM_SET_SIGNAL_MASK),
 	IOCTL(KVM_GET_FPU),
 	IOCTL(KVM_SET_FPU),
-	IOCTL(KVM_GET_LAPIC),
-	IOCTL(KVM_SET_LAPIC),
-	IOCTL(KVM_SET_CPUID2),
-	IOCTL(KVM_GET_CPUID2),
 	IOCTL(KVM_TPR_ACCESS_REPORTING),
 	IOCTL(KVM_SET_VAPIC_ADDR),
 #if defined(__s390__)
@@ -99,18 +110,9 @@ static const struct ioctl kvm_ioctls[] = {
 	IOCTL(KVM_SET_GUEST_DEBUG),
 	IOCTL(KVM_X86_SETUP_MCE),
 	IOCTL(KVM_X86_GET_MCE_CAP_SUPPORTED),
-	IOCTL(KVM_X86_SET_MCE),
 	IOCTL(KVM_IA64_VCPU_GET_STACK),
 	IOCTL(KVM_IA64_VCPU_SET_STACK),
-	IOCTL(KVM_GET_VCPU_EVENTS),
-	IOCTL(KVM_SET_VCPU_EVENTS),
-	IOCTL(KVM_GET_DEBUGREGS),
-	IOCTL(KVM_SET_DEBUGREGS),
 	IOCTL(KVM_ENABLE_CAP),
-	IOCTL(KVM_GET_XSAVE),
-	IOCTL(KVM_SET_XSAVE),
-	IOCTL(KVM_GET_XCRS),
-	IOCTL(KVM_SET_XCRS),
 	IOCTL(KVM_DIRTY_TLB),
 	IOCTL(KVM_GET_ONE_REG),
 	IOCTL(KVM_SET_ONE_REG),
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: Complie issues with trinity-2013-06-17 on s390
  2013-06-19  6:28     ` Michael Ellerman
@ 2013-06-19  8:36       ` Sravan V Dodla
  2013-06-19  9:06         ` Michael Ellerman
  0 siblings, 1 reply; 6+ messages in thread
From: Sravan V Dodla @ 2013-06-19  8:36 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: Dave Jones, trinity

On Wed, 2013-06-19 at 16:28 +1000, Michael Ellerman wrote:
> On Wed, 2013-06-19 at 11:10 +0530, Sravan V Dodla wrote:
> > On Tue, 2013-06-18 at 11:39 -0400, Dave Jones wrote:
> > > On Tue, Jun 18, 2013 at 12:37:26PM +0530, Sravan V Dodla wrote:
> > 
> > > Does this help ?
> > Thanks a lot Dave. That did help :)
> > Still compilation does not complete successfully. I'm seeing the
> > following issue on both ppc64 and s390x archs:
> 
> I have the following patch that I've been meaning to cleanup and send,
> it works for me on ppc64.
> 
Yes Michael, it worked for me on ppc64. Thank you.
I have also made the following changes to make it work for s390x, not
sure of the impact though!

--- kvm.c.orig	2013-06-19 14:04:37.814590066 +0530
+++ kvm.c	2013-06-19 14:04:43.306415094 +0530
@@ -87,8 +87,6 @@ static const struct ioctl kvm_ioctls[] =
 	IOCTL(KVM_SET_VAPIC_ADDR),
 #if defined(__s390__)
 	IOCTL(KVM_S390_INTERRUPT),
-	IOCTL(KVM_S390_STORE_STATUS_NOADDR),
-	IOCTL(KVM_S390_STORE_STATUS_PREFIXED),
 	IOCTL(KVM_S390_STORE_STATUS),
 	IOCTL(KVM_S390_SET_INITIAL_PSW),
 	IOCTL(KVM_S390_INITIAL_RESET),


> cheers
> 
> 
> diff --git a/include/compat.h b/include/compat.h
> index 20455f3..bba5560 100644
> --- a/include/compat.h
> +++ b/include/compat.h
> @@ -669,6 +669,42 @@ struct kvm_one_reg {
>  #define KVM_KVMCLOCK_CTRL         _IO(KVMIO,   0xad)
>  #endif
> 
> +#ifndef KVM_PPC_GET_SMMU_INFO
> +#define KVM_PPC_PAGE_SIZES_MAX_SZ	8
> +
> +struct kvm_ppc_one_page_size {
> +	__u32 page_shift;	/* Page shift (or 0) */
> +	__u32 pte_enc;		/* Encoding in the HPTE (>>12) */
> +};
> +
> +struct kvm_ppc_one_seg_page_size {
> +	__u32 page_shift;	/* Base page shift of segment (or 0) */
> +	__u32 slb_enc;		/* SLB encoding for BookS */
> +	struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ];
> +};
> +
> +struct kvm_ppc_smmu_info {
> +	__u64 flags;
> +	__u32 slb_size;
> +	__u32 pad;
> +	struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
> +};
> +#define KVM_PPC_GET_SMMU_INFO	  _IOR(KVMIO,  0xa6, struct kvm_ppc_smmu_info)
> +#endif
> +
> +#ifndef KVM_PPC_ALLOCATE_HTAB
> +#define KVM_PPC_ALLOCATE_HTAB	  _IOWR(KVMIO, 0xa7, __u32)
> +#endif
> +
> +#ifndef KVM_PPC_GET_HTAB_FD
> +struct kvm_get_htab_fd {
> +	__u64	flags;
> +	__u64	start_index;
> +	__u64	reserved[2];
> +};
> +#define KVM_PPC_GET_HTAB_FD	  _IOW(KVMIO,  0xaa, struct kvm_get_htab_fd)
> +#endif
> +
>  #ifndef EM_ARM
>  #define EM_ARM                    40
>  #endif
> diff --git a/ioctls/kvm.c b/ioctls/kvm.c
> index 4620ca8..ffddee4 100644
> --- a/ioctls/kvm.c
> +++ b/ioctls/kvm.c
> @@ -12,7 +12,6 @@ static const struct ioctl kvm_ioctls[] = {
>  	IOCTL(KVM_SET_MEMORY_REGION),
>  	IOCTL(KVM_CREATE_VCPU),
>  	IOCTL(KVM_GET_DIRTY_LOG),
> -	IOCTL(KVM_SET_MEMORY_ALIAS),
>  	IOCTL(KVM_SET_NR_MMU_PAGES),
>  	IOCTL(KVM_GET_NR_MMU_PAGES),
>  	IOCTL(KVM_SET_USER_MEMORY_REGION),
> @@ -26,13 +25,10 @@ static const struct ioctl kvm_ioctls[] = {
>  	IOCTL(KVM_GET_IRQCHIP),
>  	IOCTL(KVM_SET_IRQCHIP),
>  	IOCTL(KVM_CREATE_PIT),
> -	IOCTL(KVM_GET_PIT),
> -	IOCTL(KVM_SET_PIT),
>  	IOCTL(KVM_IRQ_LINE_STATUS),
>  	IOCTL(KVM_REGISTER_COALESCED_MMIO),
>  	IOCTL(KVM_UNREGISTER_COALESCED_MMIO),
>  	IOCTL(KVM_ASSIGN_PCI_DEVICE),
> -	IOCTL(KVM_SET_GSI_ROUTING),
>  	IOCTL(KVM_ASSIGN_IRQ),
>  	IOCTL(KVM_ASSIGN_DEV_IRQ),
>  	IOCTL(KVM_REINJECT_CONTROL),
> @@ -44,16 +40,38 @@ static const struct ioctl kvm_ioctls[] = {
>  	IOCTL(KVM_CREATE_PIT2),
>  	IOCTL(KVM_SET_BOOT_CPU_ID),
>  	IOCTL(KVM_IOEVENTFD),
> -	IOCTL(KVM_XEN_HVM_CONFIG),
>  	IOCTL(KVM_SET_CLOCK),
>  	IOCTL(KVM_GET_CLOCK),
> -	IOCTL(KVM_GET_PIT2),
> -	IOCTL(KVM_SET_PIT2),
>  	IOCTL(KVM_PPC_GET_PVINFO),
>  	IOCTL(KVM_SET_TSC_KHZ),
>  	IOCTL(KVM_GET_TSC_KHZ),
>  	IOCTL(KVM_ASSIGN_SET_INTX_MASK),
>  	IOCTL(KVM_SIGNAL_MSI),
> +#ifdef X86
> +	IOCTL(KVM_SET_MEMORY_ALIAS),
> +	IOCTL(KVM_GET_PIT),
> +	IOCTL(KVM_SET_PIT),
> +	IOCTL(KVM_GET_PIT2),
> +	IOCTL(KVM_SET_PIT2),
> +	IOCTL(KVM_SET_GSI_ROUTING),
> +	IOCTL(KVM_XEN_HVM_CONFIG),
> +	IOCTL(KVM_GET_MSRS),
> +	IOCTL(KVM_SET_MSRS),
> +	IOCTL(KVM_SET_CPUID),
> +	IOCTL(KVM_GET_LAPIC),
> +	IOCTL(KVM_SET_LAPIC),
> +	IOCTL(KVM_SET_CPUID2),
> +	IOCTL(KVM_GET_CPUID2),
> +	IOCTL(KVM_X86_SET_MCE),
> +	IOCTL(KVM_GET_VCPU_EVENTS),
> +	IOCTL(KVM_SET_VCPU_EVENTS),
> +	IOCTL(KVM_GET_DEBUGREGS),
> +	IOCTL(KVM_SET_DEBUGREGS),
> +	IOCTL(KVM_GET_XSAVE),
> +	IOCTL(KVM_SET_XSAVE),
> +	IOCTL(KVM_GET_XCRS),
> +	IOCTL(KVM_SET_XCRS),
> +#endif
>  #if defined(__powerpc__)
>  	IOCTL(KVM_PPC_GET_SMMU_INFO),
>  	IOCTL(KVM_PPC_ALLOCATE_HTAB),
> @@ -73,16 +91,9 @@ static const struct ioctl kvm_ioctls[] = {
>  	IOCTL(KVM_TRANSLATE),
>  	IOCTL(KVM_INTERRUPT),
>  	IOCTL(KVM_DEBUG_GUEST),
> -	IOCTL(KVM_GET_MSRS),
> -	IOCTL(KVM_SET_MSRS),
> -	IOCTL(KVM_SET_CPUID),
>  	IOCTL(KVM_SET_SIGNAL_MASK),
>  	IOCTL(KVM_GET_FPU),
>  	IOCTL(KVM_SET_FPU),
> -	IOCTL(KVM_GET_LAPIC),
> -	IOCTL(KVM_SET_LAPIC),
> -	IOCTL(KVM_SET_CPUID2),
> -	IOCTL(KVM_GET_CPUID2),
>  	IOCTL(KVM_TPR_ACCESS_REPORTING),
>  	IOCTL(KVM_SET_VAPIC_ADDR),
>  #if defined(__s390__)
> @@ -99,18 +110,9 @@ static const struct ioctl kvm_ioctls[] = {
>  	IOCTL(KVM_SET_GUEST_DEBUG),
>  	IOCTL(KVM_X86_SETUP_MCE),
>  	IOCTL(KVM_X86_GET_MCE_CAP_SUPPORTED),
> -	IOCTL(KVM_X86_SET_MCE),
>  	IOCTL(KVM_IA64_VCPU_GET_STACK),
>  	IOCTL(KVM_IA64_VCPU_SET_STACK),
> -	IOCTL(KVM_GET_VCPU_EVENTS),
> -	IOCTL(KVM_SET_VCPU_EVENTS),
> -	IOCTL(KVM_GET_DEBUGREGS),
> -	IOCTL(KVM_SET_DEBUGREGS),
>  	IOCTL(KVM_ENABLE_CAP),
> -	IOCTL(KVM_GET_XSAVE),
> -	IOCTL(KVM_SET_XSAVE),
> -	IOCTL(KVM_GET_XCRS),
> -	IOCTL(KVM_SET_XCRS),
>  	IOCTL(KVM_DIRTY_TLB),
>  	IOCTL(KVM_GET_ONE_REG),
>  	IOCTL(KVM_SET_ONE_REG),


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Complie issues with trinity-2013-06-17 on s390
  2013-06-19  8:36       ` Sravan V Dodla
@ 2013-06-19  9:06         ` Michael Ellerman
  0 siblings, 0 replies; 6+ messages in thread
From: Michael Ellerman @ 2013-06-19  9:06 UTC (permalink / raw)
  To: Sravan V Dodla; +Cc: Dave Jones, trinity

On Wed, 2013-06-19 at 14:06 +0530, Sravan V Dodla wrote:
> On Wed, 2013-06-19 at 16:28 +1000, Michael Ellerman wrote:
> > On Wed, 2013-06-19 at 11:10 +0530, Sravan V Dodla wrote:
> > > On Tue, 2013-06-18 at 11:39 -0400, Dave Jones wrote:
> > > > On Tue, Jun 18, 2013 at 12:37:26PM +0530, Sravan V Dodla wrote:
> > > 
> > > > Does this help ?
> > > Thanks a lot Dave. That did help :)
> > > Still compilation does not complete successfully. I'm seeing the
> > > following issue on both ppc64 and s390x archs:
> > 
> > I have the following patch that I've been meaning to cleanup and send,
> > it works for me on ppc64.

> Yes Michael, it worked for me on ppc64. Thank you.

OK, see the two patches I sent to the list.


> I have also made the following changes to make it work for s390x, not
> sure of the impact though!

>--- kvm.c.orig	2013-06-19 14:04:37.814590066 +0530
> +++ kvm.c	2013-06-19 14:04:43.306415094 +0530
> @@ -87,8 +87,6 @@ static const struct ioctl kvm_ioctls[] =
>  	IOCTL(KVM_SET_VAPIC_ADDR),
>  #if defined(__s390__)
>  	IOCTL(KVM_S390_INTERRUPT),
> -	IOCTL(KVM_S390_STORE_STATUS_NOADDR),
> -	IOCTL(KVM_S390_STORE_STATUS_PREFIXED),
>  	IOCTL(KVM_S390_STORE_STATUS),
>  	IOCTL(KVM_S390_SET_INITIAL_PSW),
>  	IOCTL(KVM_S390_INITIAL_RESET),
> 

That looks correct. They are not actually ioctls, they are meant to be
used as arguments to the KVM_S390_STORE_STATUS ioctl. So I think that's
just a cut-and-paste bug in kvm.c.

You should send it as a proper patch.

cheers


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-06-19  9:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-18  7:07 Complie issues with trinity-2013-06-17 on s390 Sravan V Dodla
2013-06-18 15:39 ` Dave Jones
2013-06-19  5:40   ` Sravan V Dodla
2013-06-19  6:28     ` Michael Ellerman
2013-06-19  8:36       ` Sravan V Dodla
2013-06-19  9:06         ` Michael Ellerman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.