aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-08-02 16:11:27 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-08-02 16:11:27 -0400
commit221bb8a46e230b9824204ae86537183d9991ff2a (patch)
tree92510d72285b2285be7cb87288bf088cb28af4c1 /include/uapi
parentf7b32e4c021fd788f13f6785e17efbc3eb05b351 (diff)
parent23528bb21ee2c9b27f3feddd77a2a3351a8df148 (diff)
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM updates from Paolo Bonzini: - ARM: GICv3 ITS emulation and various fixes. Removal of the old VGIC implementation. - s390: support for trapping software breakpoints, nested virtualization (vSIE), the STHYI opcode, initial extensions for CPU model support. - MIPS: support for MIPS64 hosts (32-bit guests only) and lots of cleanups, preliminary to this and the upcoming support for hardware virtualization extensions. - x86: support for execute-only mappings in nested EPT; reduced vmexit latency for TSC deadline timer (by about 30%) on Intel hosts; support for more than 255 vCPUs. - PPC: bugfixes. * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (302 commits) KVM: PPC: Introduce KVM_CAP_PPC_HTM MIPS: Select HAVE_KVM for MIPS64_R{2,6} MIPS: KVM: Reset CP0_PageMask during host TLB flush MIPS: KVM: Fix ptr->int cast via KVM_GUEST_KSEGX() MIPS: KVM: Sign extend MFC0/RDHWR results MIPS: KVM: Fix 64-bit big endian dynamic translation MIPS: KVM: Fail if ebase doesn't fit in CP0_EBase MIPS: KVM: Use 64-bit CP0_EBase when appropriate MIPS: KVM: Set CP0_Status.KX on MIPS64 MIPS: KVM: Make entry code MIPS64 friendly MIPS: KVM: Use kmap instead of CKSEG0ADDR() MIPS: KVM: Use virt_to_phys() to get commpage PFN MIPS: Fix definition of KSEGX() for 64-bit KVM: VMX: Add VMCS to CPU's loaded VMCSs before VMPTRLD kvm: x86: nVMX: maintain internal copy of current VMCS KVM: PPC: Book3S HV: Save/restore TM state in H_CEDE KVM: PPC: Book3S HV: Pull out TM state save/restore into separate procedures KVM: arm64: vgic-its: Simplify MAPI error handling KVM: arm64: vgic-its: Make vgic_its_cmd_handle_mapi similar to other handlers KVM: arm64: vgic-its: Turn device_id validation into generic ID validation ...
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/kvm.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 05ebf475104c..e98bb4cce639 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -866,6 +866,10 @@ struct kvm_ppc_smmu_info {
866#define KVM_CAP_ARM_PMU_V3 126 866#define KVM_CAP_ARM_PMU_V3 126
867#define KVM_CAP_VCPU_ATTRIBUTES 127 867#define KVM_CAP_VCPU_ATTRIBUTES 127
868#define KVM_CAP_MAX_VCPU_ID 128 868#define KVM_CAP_MAX_VCPU_ID 128
869#define KVM_CAP_X2APIC_API 129
870#define KVM_CAP_S390_USER_INSTR0 130
871#define KVM_CAP_MSI_DEVID 131
872#define KVM_CAP_PPC_HTM 132
869 873
870#ifdef KVM_CAP_IRQ_ROUTING 874#ifdef KVM_CAP_IRQ_ROUTING
871 875
@@ -1024,12 +1028,14 @@ struct kvm_one_reg {
1024 __u64 addr; 1028 __u64 addr;
1025}; 1029};
1026 1030
1031#define KVM_MSI_VALID_DEVID (1U << 0)
1027struct kvm_msi { 1032struct kvm_msi {
1028 __u32 address_lo; 1033 __u32 address_lo;
1029 __u32 address_hi; 1034 __u32 address_hi;
1030 __u32 data; 1035 __u32 data;
1031 __u32 flags; 1036 __u32 flags;
1032 __u8 pad[16]; 1037 __u32 devid;
1038 __u8 pad[12];
1033}; 1039};
1034 1040
1035struct kvm_arm_device_addr { 1041struct kvm_arm_device_addr {
@@ -1074,6 +1080,8 @@ enum kvm_device_type {
1074#define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC 1080#define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC
1075 KVM_DEV_TYPE_ARM_VGIC_V3, 1081 KVM_DEV_TYPE_ARM_VGIC_V3,
1076#define KVM_DEV_TYPE_ARM_VGIC_V3 KVM_DEV_TYPE_ARM_VGIC_V3 1082#define KVM_DEV_TYPE_ARM_VGIC_V3 KVM_DEV_TYPE_ARM_VGIC_V3
1083 KVM_DEV_TYPE_ARM_VGIC_ITS,
1084#define KVM_DEV_TYPE_ARM_VGIC_ITS KVM_DEV_TYPE_ARM_VGIC_ITS
1077 KVM_DEV_TYPE_MAX, 1085 KVM_DEV_TYPE_MAX,
1078}; 1086};
1079 1087
@@ -1313,4 +1321,7 @@ struct kvm_assigned_msix_entry {
1313 __u16 padding[3]; 1321 __u16 padding[3];
1314}; 1322};
1315 1323
1324#define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0)
1325#define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1)
1326
1316#endif /* __LINUX_KVM_H */ 1327#endif /* __LINUX_KVM_H */