ae23c9
From be13671e5df3d44fe0e29736e625a53f4d451d9f Mon Sep 17 00:00:00 2001
ae23c9
From: Thomas Huth <thuth@redhat.com>
ae23c9
Date: Mon, 15 Oct 2018 10:19:26 +0100
ae23c9
Subject: [PATCH 1/6] linux-headers: update
ae23c9
ae23c9
RH-Author: Thomas Huth <thuth@redhat.com>
ae23c9
Message-id: <1539598771-16223-2-git-send-email-thuth@redhat.com>
ae23c9
Patchwork-id: 82696
ae23c9
O-Subject: [RHEL-8 qemu-kvm PATCH 1/6] linux-headers: update
ae23c9
Bugzilla: 1508142
ae23c9
RH-Acked-by: David Hildenbrand <david@redhat.com>
ae23c9
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
ae23c9
RH-Acked-by: Jens Freimann <jfreimann@redhat.com>
ae23c9
ae23c9
From: Cornelia Huck <cohuck@redhat.com>
ae23c9
ae23c9
Update to kvm/next commit dd5bd0a65ff6 ("Merge tag 'kvm-s390-next-4.20-1'
ae23c9
of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD")
ae23c9
ae23c9
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
ae23c9
(cherry picked from commit 8f3cd250a897213d39e621e3d824507b48158d42)
ae23c9
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
ae23c9
ae23c9
Conflicts:
ae23c9
	linux-headers/linux/kvm.h
ae23c9
	linux-headers/linux/vhost.h
ae23c9
	(simple contextual conflicts due to some missing patches in downstream)
ae23c9
ae23c9
Signed-off-by: Thomas Huth <thuth@redhat.com>
ae23c9
---
ae23c9
 include/standard-headers/linux/input.h |  9 +++++----
ae23c9
 linux-headers/asm-arm/kvm.h            | 13 +++++++++++++
ae23c9
 linux-headers/asm-arm64/kvm.h          | 13 +++++++++++++
ae23c9
 linux-headers/asm-s390/kvm.h           |  2 ++
ae23c9
 linux-headers/asm-x86/kvm.h            |  1 +
ae23c9
 linux-headers/linux/kvm.h              |  3 +++
ae23c9
 linux-headers/linux/vfio.h             |  2 ++
ae23c9
 linux-headers/linux/vhost.h            |  8 ++++++++
ae23c9
 8 files changed, 47 insertions(+), 4 deletions(-)
ae23c9
ae23c9
diff --git a/include/standard-headers/linux/input.h b/include/standard-headers/linux/input.h
ae23c9
index 939b627..f791b1b 100644
ae23c9
--- a/include/standard-headers/linux/input.h
ae23c9
+++ b/include/standard-headers/linux/input.h
ae23c9
@@ -267,10 +267,11 @@ struct input_mask {
ae23c9
 /*
ae23c9
  * MT_TOOL types
ae23c9
  */
ae23c9
-#define MT_TOOL_FINGER		0
ae23c9
-#define MT_TOOL_PEN		1
ae23c9
-#define MT_TOOL_PALM		2
ae23c9
-#define MT_TOOL_MAX		2
ae23c9
+#define MT_TOOL_FINGER		0x00
ae23c9
+#define MT_TOOL_PEN		0x01
ae23c9
+#define MT_TOOL_PALM		0x02
ae23c9
+#define MT_TOOL_DIAL		0x0a
ae23c9
+#define MT_TOOL_MAX		0x0f
ae23c9
 
ae23c9
 /*
ae23c9
  * Values describing the status of a force-feedback effect
ae23c9
diff --git a/linux-headers/asm-arm/kvm.h b/linux-headers/asm-arm/kvm.h
ae23c9
index 4392955..3097290 100644
ae23c9
--- a/linux-headers/asm-arm/kvm.h
ae23c9
+++ b/linux-headers/asm-arm/kvm.h
ae23c9
@@ -27,6 +27,7 @@
ae23c9
 #define __KVM_HAVE_GUEST_DEBUG
ae23c9
 #define __KVM_HAVE_IRQ_LINE
ae23c9
 #define __KVM_HAVE_READONLY_MEM
ae23c9
+#define __KVM_HAVE_VCPU_EVENTS
ae23c9
 
ae23c9
 #define KVM_COALESCED_MMIO_PAGE_OFFSET 1
ae23c9
 
ae23c9
@@ -124,6 +125,18 @@ struct kvm_sync_regs {
ae23c9
 struct kvm_arch_memory_slot {
ae23c9
 };
ae23c9
 
ae23c9
+/* for KVM_GET/SET_VCPU_EVENTS */
ae23c9
+struct kvm_vcpu_events {
ae23c9
+	struct {
ae23c9
+		__u8 serror_pending;
ae23c9
+		__u8 serror_has_esr;
ae23c9
+		/* Align it to 8 bytes */
ae23c9
+		__u8 pad[6];
ae23c9
+		__u64 serror_esr;
ae23c9
+	} exception;
ae23c9
+	__u32 reserved[12];
ae23c9
+};
ae23c9
+
ae23c9
 /* If you need to interpret the index values, here is the key: */
ae23c9
 #define KVM_REG_ARM_COPROC_MASK		0x000000000FFF0000
ae23c9
 #define KVM_REG_ARM_COPROC_SHIFT	16
ae23c9
diff --git a/linux-headers/asm-arm64/kvm.h b/linux-headers/asm-arm64/kvm.h
ae23c9
index 4e80651..208de22 100644
ae23c9
--- a/linux-headers/asm-arm64/kvm.h
ae23c9
+++ b/linux-headers/asm-arm64/kvm.h
ae23c9
@@ -39,6 +39,7 @@
ae23c9
 #define __KVM_HAVE_GUEST_DEBUG
ae23c9
 #define __KVM_HAVE_IRQ_LINE
ae23c9
 #define __KVM_HAVE_READONLY_MEM
ae23c9
+#define __KVM_HAVE_VCPU_EVENTS
ae23c9
 
ae23c9
 #define KVM_COALESCED_MMIO_PAGE_OFFSET 1
ae23c9
 
ae23c9
@@ -153,6 +154,18 @@ struct kvm_sync_regs {
ae23c9
 struct kvm_arch_memory_slot {
ae23c9
 };
ae23c9
 
ae23c9
+/* for KVM_GET/SET_VCPU_EVENTS */
ae23c9
+struct kvm_vcpu_events {
ae23c9
+	struct {
ae23c9
+		__u8 serror_pending;
ae23c9
+		__u8 serror_has_esr;
ae23c9
+		/* Align it to 8 bytes */
ae23c9
+		__u8 pad[6];
ae23c9
+		__u64 serror_esr;
ae23c9
+	} exception;
ae23c9
+	__u32 reserved[12];
ae23c9
+};
ae23c9
+
ae23c9
 /* If you need to interpret the index values, here is the key: */
ae23c9
 #define KVM_REG_ARM_COPROC_MASK		0x000000000FFF0000
ae23c9
 #define KVM_REG_ARM_COPROC_SHIFT	16
ae23c9
diff --git a/linux-headers/asm-s390/kvm.h b/linux-headers/asm-s390/kvm.h
ae23c9
index 1ab9901..0265482 100644
ae23c9
--- a/linux-headers/asm-s390/kvm.h
ae23c9
+++ b/linux-headers/asm-s390/kvm.h
ae23c9
@@ -160,6 +160,8 @@ struct kvm_s390_vm_cpu_subfunc {
ae23c9
 #define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW	1
ae23c9
 #define KVM_S390_VM_CRYPTO_DISABLE_AES_KW	2
ae23c9
 #define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW	3
ae23c9
+#define KVM_S390_VM_CRYPTO_ENABLE_APIE		4
ae23c9
+#define KVM_S390_VM_CRYPTO_DISABLE_APIE		5
ae23c9
 
ae23c9
 /* kvm attributes for migration mode */
ae23c9
 #define KVM_S390_VM_MIGRATION_STOP	0
ae23c9
diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h
ae23c9
index f3a9604..dcf4dc9 100644
ae23c9
--- a/linux-headers/asm-x86/kvm.h
ae23c9
+++ b/linux-headers/asm-x86/kvm.h
ae23c9
@@ -360,5 +360,6 @@ struct kvm_sync_regs {
ae23c9
 
ae23c9
 #define KVM_X86_QUIRK_LINT0_REENABLED	(1 << 0)
ae23c9
 #define KVM_X86_QUIRK_CD_NW_CLEARED	(1 << 1)
ae23c9
+#define KVM_X86_QUIRK_LAPIC_MMIO_HOLE	(1 << 2)
ae23c9
 
ae23c9
 #endif /* _ASM_X86_KVM_H */
ae23c9
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
ae23c9
index 454a0f7..9d2e44d 100644
ae23c9
--- a/linux-headers/linux/kvm.h
ae23c9
+++ b/linux-headers/linux/kvm.h
ae23c9
@@ -937,6 +937,9 @@ struct kvm_ppc_resize_hpt {
ae23c9
 #define KVM_CAP_S390_BPB 152
ae23c9
 #define KVM_CAP_GET_MSR_FEATURES 153
ae23c9
 #define KVM_CAP_S390_HPAGE_1M 156
ae23c9
+#define KVM_CAP_NESTED_STATE 157
ae23c9
+#define KVM_CAP_ARM_INJECT_SERROR_ESR 158
ae23c9
+#define KVM_CAP_MSR_PLATFORM_INFO 159
ae23c9
 
ae23c9
 #ifdef KVM_CAP_IRQ_ROUTING
ae23c9
 
ae23c9
diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
ae23c9
index 3a0a305..25c7b7d 100644
ae23c9
--- a/linux-headers/linux/vfio.h
ae23c9
+++ b/linux-headers/linux/vfio.h
ae23c9
@@ -200,6 +200,7 @@ struct vfio_device_info {
ae23c9
 #define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2)	/* vfio-platform device */
ae23c9
 #define VFIO_DEVICE_FLAGS_AMBA  (1 << 3)	/* vfio-amba device */
ae23c9
 #define VFIO_DEVICE_FLAGS_CCW	(1 << 4)	/* vfio-ccw device */
ae23c9
+#define VFIO_DEVICE_FLAGS_AP	(1 << 5)	/* vfio-ap device */
ae23c9
 	__u32	num_regions;	/* Max region index + 1 */
ae23c9
 	__u32	num_irqs;	/* Max IRQ index + 1 */
ae23c9
 };
ae23c9
@@ -215,6 +216,7 @@ struct vfio_device_info {
ae23c9
 #define VFIO_DEVICE_API_PLATFORM_STRING		"vfio-platform"
ae23c9
 #define VFIO_DEVICE_API_AMBA_STRING		"vfio-amba"
ae23c9
 #define VFIO_DEVICE_API_CCW_STRING		"vfio-ccw"
ae23c9
+#define VFIO_DEVICE_API_AP_STRING		"vfio-ap"
ae23c9
 
ae23c9
 /**
ae23c9
  * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
ae23c9
diff --git a/linux-headers/linux/vhost.h b/linux-headers/linux/vhost.h
ae23c9
index e336395..3421624 100644
ae23c9
--- a/linux-headers/linux/vhost.h
ae23c9
+++ b/linux-headers/linux/vhost.h
ae23c9
@@ -160,6 +160,14 @@ struct vhost_memory {
ae23c9
 #define VHOST_GET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x24,	\
ae23c9
 					 struct vhost_vring_state)
ae23c9
 
ae23c9
+/* Set or get vhost backend capability */
ae23c9
+
ae23c9
+/* Use message type V2 */
ae23c9
+#define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1
ae23c9
+
ae23c9
+#define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64)
ae23c9
+#define VHOST_GET_BACKEND_FEATURES _IOR(VHOST_VIRTIO, 0x26, __u64)
ae23c9
+
ae23c9
 /* VHOST_NET specific defines */
ae23c9
 
ae23c9
 /* Attach virtio net ring to a raw socket, or tap device.
ae23c9
-- 
ae23c9
1.8.3.1
ae23c9