diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-02 16:11:27 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-02 16:11:27 -0400 |
| commit | 221bb8a46e230b9824204ae86537183d9991ff2a (patch) | |
| tree | 92510d72285b2285be7cb87288bf088cb28af4c1 /include/uapi | |
| parent | f7b32e4c021fd788f13f6785e17efbc3eb05b351 (diff) | |
| parent | 23528bb21ee2c9b27f3feddd77a2a3351a8df148 (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.h | 13 |
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) | ||
| 1027 | struct kvm_msi { | 1032 | struct 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 | ||
| 1035 | struct kvm_arm_device_addr { | 1041 | struct 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 */ |
