Patchwork [04/12] Update linux headers.

login
register
mail settings
Submitter Cornelia Huck
Date Jan. 17, 2013, 2:23 p.m.
Message ID <1358432637-42512-5-git-send-email-cornelia.huck@de.ibm.com>
Download mbox | patch
Permalink /patch/213285/
State New
Headers show

Comments

Cornelia Huck - Jan. 17, 2013, 2:23 p.m.
Base is kvm-next as of 2013/01/16.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
---
 linux-headers/asm-generic/kvm_para.h |  4 ++++
 linux-headers/asm-powerpc/kvm_para.h |  2 +-
 linux-headers/linux/kvm.h            | 21 +++++++++++++++++++++
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 linux-headers/asm-generic/kvm_para.h
Peter Maydell - Jan. 17, 2013, 3:05 p.m.
On 17 January 2013 14:23, Cornelia Huck <cornelia.huck@de.ibm.com> wrote:
> Base is kvm-next as of 2013/01/16.

> --- a/linux-headers/asm-powerpc/kvm_para.h
> +++ b/linux-headers/asm-powerpc/kvm_para.h
> @@ -78,7 +78,7 @@ struct kvm_vcpu_arch_shared {
>
>  #define KVM_HCALL_TOKEN(num)     _EV_HCALL_TOKEN(EV_KVM_VENDOR_ID, num)
>
> -#include <asm/epapr_hcalls.h>
> +#include <uapi/asm/epapr_hcalls.h>

This is reintroducing a bug, isn't it? cf
http://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02807.html

(maybe this just means the sync needs to be against some
different set of kernel headers?)

-- PMM
Cornelia Huck - Jan. 17, 2013, 4:20 p.m.
On Thu, 17 Jan 2013 15:05:46 +0000
Peter Maydell <peter.maydell@linaro.org> wrote:

> On 17 January 2013 14:23, Cornelia Huck <cornelia.huck@de.ibm.com> wrote:
> > Base is kvm-next as of 2013/01/16.
> 
> > --- a/linux-headers/asm-powerpc/kvm_para.h
> > +++ b/linux-headers/asm-powerpc/kvm_para.h
> > @@ -78,7 +78,7 @@ struct kvm_vcpu_arch_shared {
> >
> >  #define KVM_HCALL_TOKEN(num)     _EV_HCALL_TOKEN(EV_KVM_VENDOR_ID, num)
> >
> > -#include <asm/epapr_hcalls.h>
> > +#include <uapi/asm/epapr_hcalls.h>
> 
> This is reintroducing a bug, isn't it? cf
> http://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02807.html
> 
> (maybe this just means the sync needs to be against some
> different set of kernel headers?)
> 
> -- PMM
> 

Hm, I seem to have some stale copy here - will check.
Alexander Graf - Jan. 17, 2013, 4:55 p.m.
On 17.01.2013, at 17:20, Cornelia Huck wrote:

> On Thu, 17 Jan 2013 15:05:46 +0000
> Peter Maydell <peter.maydell@linaro.org> wrote:
> 
>> On 17 January 2013 14:23, Cornelia Huck <cornelia.huck@de.ibm.com> wrote:
>>> Base is kvm-next as of 2013/01/16.
>> 
>>> --- a/linux-headers/asm-powerpc/kvm_para.h
>>> +++ b/linux-headers/asm-powerpc/kvm_para.h
>>> @@ -78,7 +78,7 @@ struct kvm_vcpu_arch_shared {
>>> 
>>> #define KVM_HCALL_TOKEN(num)     _EV_HCALL_TOKEN(EV_KVM_VENDOR_ID, num)
>>> 
>>> -#include <asm/epapr_hcalls.h>
>>> +#include <uapi/asm/epapr_hcalls.h>
>> 
>> This is reintroducing a bug, isn't it? cf
>> http://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02807.html
>> 
>> (maybe this just means the sync needs to be against some
>> different set of kernel headers?)
>> 
>> -- PMM
>> 
> 
> Hm, I seem to have some stale copy here - will check.

No, the problem is that the fix went into master, but you were probably basing off of next. This is the way Linus envisions Linux development. Next is always a broken tree.


Alex

Patch

diff --git a/linux-headers/asm-generic/kvm_para.h b/linux-headers/asm-generic/kvm_para.h
new file mode 100644
index 0000000..486f0af
--- /dev/null
+++ b/linux-headers/asm-generic/kvm_para.h
@@ -0,0 +1,4 @@ 
+/*
+ * There isn't anything here, but the file must not be empty or patch
+ * will delete it.
+ */
diff --git a/linux-headers/asm-powerpc/kvm_para.h b/linux-headers/asm-powerpc/kvm_para.h
index 7e64f57..484bcaa 100644
--- a/linux-headers/asm-powerpc/kvm_para.h
+++ b/linux-headers/asm-powerpc/kvm_para.h
@@ -78,7 +78,7 @@  struct kvm_vcpu_arch_shared {
 
 #define KVM_HCALL_TOKEN(num)     _EV_HCALL_TOKEN(EV_KVM_VENDOR_ID, num)
 
-#include <asm/epapr_hcalls.h>
+#include <uapi/asm/epapr_hcalls.h>
 
 #define KVM_FEATURE_MAGIC_PAGE	1
 
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index bfdbf4d..2602437 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -168,6 +168,7 @@  struct kvm_pit_config {
 #define KVM_EXIT_PAPR_HCALL	  19
 #define KVM_EXIT_S390_UCONTROL	  20
 #define KVM_EXIT_WATCHDOG         21
+#define KVM_EXIT_S390_TSCH        22
 
 /* For KVM_EXIT_INTERNAL_ERROR */
 /* Emulate instruction failed. */
@@ -285,6 +286,15 @@  struct kvm_run {
 			__u64 ret;
 			__u64 args[9];
 		} papr_hcall;
+		/* KVM_EXIT_S390_TSCH */
+		struct {
+			__u16 subchannel_id;
+			__u16 subchannel_nr;
+			__u32 io_int_parm;
+			__u32 io_int_word;
+			__u32 ipb;
+			__u8 dequeued;
+		} s390_tsch;
 		/* Fix the size of the union. */
 		char padding[256];
 	};
@@ -397,10 +407,20 @@  struct kvm_s390_psw {
 #define KVM_S390_PROGRAM_INT		0xfffe0001u
 #define KVM_S390_SIGP_SET_PREFIX	0xfffe0002u
 #define KVM_S390_RESTART		0xfffe0003u
+#define KVM_S390_MCHK			0xfffe1000u
 #define KVM_S390_INT_VIRTIO		0xffff2603u
 #define KVM_S390_INT_SERVICE		0xffff2401u
 #define KVM_S390_INT_EMERGENCY		0xffff1201u
 #define KVM_S390_INT_EXTERNAL_CALL	0xffff1202u
+/* Anything below 0xfffe0000u is taken by INT_IO */
+#define KVM_S390_INT_IO(ai,cssid,ssid,schid)   \
+	(((schid)) |			       \
+	 ((ssid) << 16) |		       \
+	 ((cssid) << 18) |		       \
+	 ((ai) << 26))
+#define KVM_S390_INT_IO_MIN		0x00000000u
+#define KVM_S390_INT_IO_MAX		0xfffdffffu
+
 
 struct kvm_s390_interrupt {
 	__u32 type;
@@ -635,6 +655,7 @@  struct kvm_ppc_smmu_info {
 #define KVM_CAP_IRQFD_RESAMPLE 82
 #define KVM_CAP_PPC_BOOKE_WATCHDOG 83
 #define KVM_CAP_PPC_HTAB_FD 84
+#define KVM_CAP_S390_CSS_SUPPORT 85
 
 #ifdef KVM_CAP_IRQ_ROUTING