linux-headers: update to 4.20-rc1
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 18 Oct 2018 12:37:10 +0000 (14:37 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 19 Oct 2018 11:44:11 +0000 (13:44 +0200)
This brings in eVMCS and coalesced PIO support, as well as other features we do
not support yet.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
linux-headers/asm-powerpc/kvm.h
linux-headers/asm-x86/kvm.h
linux-headers/linux/kvm.h

index 1b32b56a03d34ce2a5f0b7f79c621f87d8c89dbf..8c876c166ef27b2c6fa754781fdbb103f2addc54 100644 (file)
@@ -634,6 +634,7 @@ struct kvm_ppc_cpu_char {
 
 #define KVM_REG_PPC_DEC_EXPIRY (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbe)
 #define KVM_REG_PPC_ONLINE     (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xbf)
+#define KVM_REG_PPC_PTCR       (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc0)
 
 /* Transactional Memory checkpointed state:
  * This is all GPRs, all VSX regs and a subset of SPRs
index fd23d5778ea17f04e4c1b178fbcb2ffb3718dec0..dabfcf7c3941aa90a92a91ee37f1164447c71655 100644 (file)
@@ -288,6 +288,7 @@ struct kvm_reinject_control {
 #define KVM_VCPUEVENT_VALID_SIPI_VECTOR        0x00000002
 #define KVM_VCPUEVENT_VALID_SHADOW     0x00000004
 #define KVM_VCPUEVENT_VALID_SMM                0x00000008
+#define KVM_VCPUEVENT_VALID_PAYLOAD    0x00000010
 
 /* Interrupt shadow states */
 #define KVM_X86_SHADOW_INT_MOV_SS      0x01
@@ -299,7 +300,7 @@ struct kvm_vcpu_events {
                __u8 injected;
                __u8 nr;
                __u8 has_error_code;
-               __u8 pad;
+               __u8 pending;
                __u32 error_code;
        } exception;
        struct {
@@ -322,7 +323,9 @@ struct kvm_vcpu_events {
                __u8 smm_inside_nmi;
                __u8 latched_init;
        } smi;
-       __u32 reserved[9];
+       __u8 reserved[27];
+       __u8 exception_has_payload;
+       __u64 exception_payload;
 };
 
 /* for KVM_GET/SET_DEBUGREGS */
@@ -381,6 +384,7 @@ struct kvm_sync_regs {
 
 #define KVM_STATE_NESTED_GUEST_MODE    0x00000001
 #define KVM_STATE_NESTED_RUN_PENDING   0x00000002
+#define KVM_STATE_NESTED_EVMCS         0x00000004
 
 #define KVM_STATE_NESTED_SMM_GUEST_MODE        0x00000001
 #define KVM_STATE_NESTED_SMM_VMXON     0x00000002
index 83ba4eb57167976a2475848e92cdde6cdc689e86..f11a7eb49cfa8e918ebd8c450cda56eeceb18fc8 100644 (file)
@@ -420,13 +420,19 @@ struct kvm_run {
 struct kvm_coalesced_mmio_zone {
        __u64 addr;
        __u32 size;
-       __u32 pad;
+       union {
+               __u32 pad;
+               __u32 pio;
+       };
 };
 
 struct kvm_coalesced_mmio {
        __u64 phys_addr;
        __u32 len;
-       __u32 pad;
+       union {
+               __u32 pad;
+               __u32 pio;
+       };
        __u8  data[8];
 };
 
@@ -719,6 +725,7 @@ struct kvm_ppc_one_seg_page_size {
 
 #define KVM_PPC_PAGE_SIZES_REAL                0x00000001
 #define KVM_PPC_1T_SEGMENTS            0x00000002
+#define KVM_PPC_NO_HASH                        0x00000004
 
 struct kvm_ppc_smmu_info {
        __u64 flags;
@@ -953,6 +960,11 @@ struct kvm_ppc_resize_hpt {
 #define KVM_CAP_NESTED_STATE 157
 #define KVM_CAP_ARM_INJECT_SERROR_ESR 158
 #define KVM_CAP_MSR_PLATFORM_INFO 159
+#define KVM_CAP_PPC_NESTED_HV 160
+#define KVM_CAP_HYPERV_SEND_IPI 161
+#define KVM_CAP_COALESCED_PIO 162
+#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
+#define KVM_CAP_EXCEPTION_PAYLOAD 164
 
 #ifdef KVM_CAP_IRQ_ROUTING