History

Merge tag 'kvm-4.20-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM updates from Radim Krčmář: "ARM: - Improved guest IPA space support (32 to 52 bits) - RAS event delivery for 32bit - PMU fixes - Guest entry hardening - Various cleanups - Port of dirty_log_test selftest PPC: - Nested HV KVM support for radix guests on POWER9. The performance is much better than with PR KVM. Migration and arbitrary level of nesting is supported. - Disable nested HV-KVM on early POWER9 chips that need a particular hardware bug workaround - One VM per core mode to prevent potential data leaks - PCI pass-through optimization - merge ppc-kvm topic branch and kvm-ppc-fixes to get a better base s390: - Initial version of AP crypto virtualization via vfio-mdev - Improvement for vfio-ap - Set the host program identifier - Optimize page table locking x86: - Enable nested virtualization by default - Implement Hyper-V IPI hypercalls - Improve #PF and #DB handling - Allow guests to use Enlightened VMCS - Add migration selftests for VMCS and Enlightened VMCS - Allow coalesced PIO accesses - Add an option to perform nested VMCS host state consistency check through hardware - Automatic tuning of lapic_timer_advance_ns - Many fixes, minor improvements, and cleanups" * tag 'kvm-4.20-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (204 commits) KVM/nVMX: Do not validate that posted_intr_desc_addr is page aligned Revert "kvm: x86: optimize dr6 restore" KVM: PPC: Optimize clearing TCEs for sparse tables x86/kvm/nVMX: tweak shadow fields selftests/kvm: add missing executables to .gitignore KVM: arm64: Safety check PSTATE when entering guest and handle IL KVM: PPC: Book3S HV: Don't use streamlined entry path on early POWER9 chips arm/arm64: KVM: Enable 32 bits kvm vcpu events support arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension() KVM: arm64: Fix caching of host MDCR_EL2 value KVM: VMX: enable nested virtualization by default KVM/x86: Use 32bit xor to clear registers in svm.c kvm: x86: Introduce KVM_CAP_EXCEPTION_PAYLOAD kvm: vmx: Defer setting of DR6 until #DB delivery kvm: x86: Defer setting of CR2 until #PF delivery kvm: x86: Add payload operands to kvm_multiple_exception kvm: x86: Add exception payload fields to kvm_vcpu_events kvm: x86: Add has_payload and payload to kvm_queued_exception KVM: Documentation: Fix omission in struct kvm_vcpu_events KVM: selftests: add Enlightened VMCS test ...

Linus Torvalds committed 8 years ago

Commit 0d1e8b82 parents 83c4087 22a7cdc138 files · +12456 −3259Browse files

Showing the changes to include/uapi/linux (2 of 138 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/kvm.h +24 −2
  2. include/uapi/linux/vfio.h +2 −0
include/uapi/linux/kvm.h+24−2
@@ -420,13 +420,19 @@ struct kvm_run { · 419 unmodified lines
420420 struct kvm_coalesced_mmio_zone {
421421 __u64 addr;
422422 __u32 size;
423− __u32 pad;
423+ union {
424+ __u32 pad;
425+ __u32 pio;
426+ };
424427 };
425428
426429 struct kvm_coalesced_mmio {
427430 __u64 phys_addr;
428431 __u32 len;
429− __u32 pad;
432+ union {
433+ __u32 pad;
434+ __u32 pio;
435+ };
430436 __u8 data[8];
431437 };
432438
@@ -719,6 +725,7 @@ struct kvm_ppc_one_seg_page_size { · 286 unmodified lines
719725
720726 #define KVM_PPC_PAGE_SIZES_REAL 0x00000001
721727 #define KVM_PPC_1T_SEGMENTS 0x00000002
728+#define KVM_PPC_NO_HASH 0x00000004
722729
723730 struct kvm_ppc_smmu_info {
724731 __u64 flags;
@@ -750,6 +757,15 @@ struct kvm_ppc_resize_hpt { · 25 unmodified lines
750757
751758 #define KVM_S390_SIE_PAGE_OFFSET 1
752759
760+/*
761+ * On arm64, machine type can be used to request the physical
762+ * address size for the VM. Bits[7-0] are reserved for the guest
763+ * PA size shift (i.e, log2(PA_Size)). For backward compatibility,
764+ * value 0 implies the default IPA size, 40bits.
765+ */
766+#define KVM_VM_TYPE_ARM_IPA_SIZE_MASK 0xffULL
767+#define KVM_VM_TYPE_ARM_IPA_SIZE(x) \
768+ ((x) & KVM_VM_TYPE_ARM_IPA_SIZE_MASK)
753769 /*
754770 * ioctls for /dev/kvm fds:
755771 */
@@ -953,6 +969,12 @@ struct kvm_ppc_resize_hpt { · 197 unmodified lines
953969 #define KVM_CAP_NESTED_STATE 157
954970 #define KVM_CAP_ARM_INJECT_SERROR_ESR 158
955971 #define KVM_CAP_MSR_PLATFORM_INFO 159
972+#define KVM_CAP_PPC_NESTED_HV 160
973+#define KVM_CAP_HYPERV_SEND_IPI 161
974+#define KVM_CAP_COALESCED_PIO 162
975+#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
976+#define KVM_CAP_EXCEPTION_PAYLOAD 164
977+#define KVM_CAP_ARM_VM_IPA_SIZE 165
956978
957979 #ifdef KVM_CAP_IRQ_ROUTING
958980
include/uapi/linux/vfio.h+2−0
@@ -200,6 +200,7 @@ struct vfio_device_info { · 199 unmodified lines
200200 #define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */
201201 #define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */
202202 #define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */
203+#define VFIO_DEVICE_FLAGS_AP (1 << 5) /* vfio-ap device */
203204 __u32 num_regions; /* Max region index + 1 */
204205 __u32 num_irqs; /* Max IRQ index + 1 */
205206 };
@@ -215,6 +216,7 @@ struct vfio_device_info { · 9 unmodified lines
215216 #define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform"
216217 #define VFIO_DEVICE_API_AMBA_STRING "vfio-amba"
217218 #define VFIO_DEVICE_API_CCW_STRING "vfio-ccw"
219+#define VFIO_DEVICE_API_AP_STRING "vfio-ap"
218220
219221 /**
220222 * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,