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
420struct kvm_coalesced_mmio_zone {420struct kvm_coalesced_mmio_zone {
421 __u64 addr;421 __u64 addr;
422 __u32 size;422 __u32 size;
423 __u32 pad;423 union {
424 __u32 pad;
425 __u32 pio;
426 };
424};427};
425 428
426struct kvm_coalesced_mmio {429struct kvm_coalesced_mmio {
427 __u64 phys_addr;430 __u64 phys_addr;
428 __u32 len;431 __u32 len;
429 __u32 pad;432 union {
433 __u32 pad;
434 __u32 pio;
435 };
430 __u8 data[8];436 __u8 data[8];
431};437};
432 438
@@ -719,6 +725,7 @@ struct kvm_ppc_one_seg_page_size { · 286 unmodified lines
719 725
720#define KVM_PPC_PAGE_SIZES_REAL 0x00000001726#define KVM_PPC_PAGE_SIZES_REAL 0x00000001
721#define KVM_PPC_1T_SEGMENTS 0x00000002727#define KVM_PPC_1T_SEGMENTS 0x00000002
728#define KVM_PPC_NO_HASH 0x00000004
722 729
723struct kvm_ppc_smmu_info {730struct kvm_ppc_smmu_info {
724 __u64 flags;731 __u64 flags;
@@ -750,6 +757,15 @@ struct kvm_ppc_resize_hpt { · 25 unmodified lines
750 757
751#define KVM_S390_SIE_PAGE_OFFSET 1758#define KVM_S390_SIE_PAGE_OFFSET 1
752 759
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)
753/*769/*
754 * ioctls for /dev/kvm fds:770 * ioctls for /dev/kvm fds:
755 */771 */
@@ -953,6 +969,12 @@ struct kvm_ppc_resize_hpt { · 197 unmodified lines
953#define KVM_CAP_NESTED_STATE 157969#define KVM_CAP_NESTED_STATE 157
954#define KVM_CAP_ARM_INJECT_SERROR_ESR 158970#define KVM_CAP_ARM_INJECT_SERROR_ESR 158
955#define KVM_CAP_MSR_PLATFORM_INFO 159971#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
956 978
957#ifdef KVM_CAP_IRQ_ROUTING979#ifdef KVM_CAP_IRQ_ROUTING
958 980
include/uapi/linux/vfio.h+2−0
@@ -200,6 +200,7 @@ struct vfio_device_info { · 199 unmodified lines
200#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */200#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */
201#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */201#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */
202#define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */202#define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */
203#define VFIO_DEVICE_FLAGS_AP (1 << 5) /* vfio-ap device */
203 __u32 num_regions; /* Max region index + 1 */204 __u32 num_regions; /* Max region index + 1 */
204 __u32 num_irqs; /* Max IRQ index + 1 */205 __u32 num_irqs; /* Max IRQ index + 1 */
205};206};
@@ -215,6 +216,7 @@ struct vfio_device_info { · 9 unmodified lines
215#define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform"216#define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform"
216#define VFIO_DEVICE_API_AMBA_STRING "vfio-amba"217#define VFIO_DEVICE_API_AMBA_STRING "vfio-amba"
217#define VFIO_DEVICE_API_CCW_STRING "vfio-ccw"218#define VFIO_DEVICE_API_CCW_STRING "vfio-ccw"
219#define VFIO_DEVICE_API_AP_STRING "vfio-ap"
218 220
219/**221/**
220 * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,222 * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,