aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-01-18 10:20:33 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-01-18 19:58:12 +0100
commitfd7be1bfadc0ccd0fbfc3af5d8e3fd705f0b18ca (patch)
treed223e019afad0ea86090548cfe8a868194f9f1ca /sys
parentc21fc61cb164e54221fe525b16eed06747b3f12d (diff)
sys: add KVM_ENABLE_CAP for vm
Diffstat (limited to 'sys')
-rw-r--r--sys/kvm.txt18
-rw-r--r--sys/kvm_amd64.const3
-rw-r--r--sys/kvm_arm64.const3
-rw-r--r--sys/kvm_ppc64le.const3
4 files changed, 22 insertions, 5 deletions
diff --git a/sys/kvm.txt b/sys/kvm.txt
index 07059f7b3..9898ca046 100644
--- a/sys/kvm.txt
+++ b/sys/kvm.txt
@@ -33,7 +33,7 @@ ioctl$KVM_GET_CLOCK(fd fd_kvmvm, cmd const[KVM_GET_CLOCK], arg ptr[out, kvm_cloc
ioctl$KVM_SET_CLOCK(fd fd_kvmvm, cmd const[KVM_SET_CLOCK], arg ptr[in, kvm_clock_data])
ioctl$KVM_SET_USER_MEMORY_REGION(fd fd_kvmvm, cmd const[KVM_SET_USER_MEMORY_REGION], arg ptr[in, kvm_userspace_memory_region])
ioctl$KVM_SET_TSS_ADDR(fd fd_kvmvm, cmd const[KVM_SET_TSS_ADDR], arg flags[kvm_x86_tss_addr])
-ioctl$KVM_ENABLE_CAP(fd fd_kvmvm, cmd const[KVM_ENABLE_CAP], arg ptr[in, kvm_enable_cap])
+ioctl$KVM_ENABLE_CAP(fd fd_kvmvm, cmd const[KVM_ENABLE_CAP], arg ptr[in, kvm_enable_cap_vm])
ioctl$KVM_SET_IDENTITY_MAP_ADDR(fd fd_kvmvm, cmd const[KVM_SET_IDENTITY_MAP_ADDR], arg ptr[in, flags[kvm_guest_addrs, int64]])
ioctl$KVM_SET_BOOT_CPU_ID(fd fd_kvmvm, cmd const[KVM_SET_BOOT_CPU_ID], arg ptr[in, intptr[0:2]])
ioctl$KVM_PPC_GET_PVINFO(fd fd_kvmvm, cmd const[KVM_PPC_GET_PVINFO], arg buffer[out])
@@ -86,7 +86,7 @@ ioctl$KVM_GET_VCPU_EVENTS(fd fd_kvmcpu, cmd const[KVM_GET_VCPU_EVENTS], arg ptr[
ioctl$KVM_SET_VCPU_EVENTS(fd fd_kvmcpu, cmd const[KVM_SET_VCPU_EVENTS], arg ptr[in, kvm_vcpu_events])
ioctl$KVM_GET_DEBUGREGS(fd fd_kvmcpu, cmd const[KVM_GET_DEBUGREGS], arg ptr[out, kvm_debugregs])
ioctl$KVM_SET_DEBUGREGS(fd fd_kvmcpu, cmd const[KVM_SET_DEBUGREGS], arg ptr[in, kvm_debugregs])
-ioctl$KVM_ENABLE_CAP_CPU(fd fd_kvmcpu, cmd const[KVM_ENABLE_CAP], arg ptr[in, kvm_enable_cap])
+ioctl$KVM_ENABLE_CAP_CPU(fd fd_kvmcpu, cmd const[KVM_ENABLE_CAP], arg ptr[in, kvm_enable_cap_cpu])
ioctl$KVM_GET_MP_STATE(fd fd_kvmcpu, cmd const[KVM_GET_MP_STATE], arg ptr[out, int32])
ioctl$KVM_SET_MP_STATE(fd fd_kvmcpu, cmd const[KVM_SET_MP_STATE], arg ptr[in, flags[kvm_mp_state, int32]])
ioctl$KVM_GET_XSAVE(fd fd_kvmcpu, cmd const[KVM_GET_XSAVE], arg ptr[out, kvm_xsave])
@@ -131,7 +131,8 @@ kvm_guest_selector = 0, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16
kvm_mce_flags = 1, 2, 4
kvm_mcg_status = MCG_STATUS_RIPV, MCG_STATUS_EIPV, MCG_STATUS_MCIP, MCG_STATUS_LMCES
kvm_mce_status = MCI_STATUS_VAL, MCI_STATUS_OVER, MCI_STATUS_UC, MCI_STATUS_EN, MCI_STATUS_MISCV, MCI_STATUS_ADDRV, MCI_STATUS_PCC, MCI_STATUS_S, MCI_STATUS_AR
-kvm_caps = KVM_CAP_HYPERV_SYNIC
+kvm_cpu_caps = KVM_CAP_HYPERV_SYNIC
+kvm_vm_caps = KVM_CAP_DISABLE_QUIRKS, KVM_CAP_SPLIT_IRQCHIP, KVM_CAP_X2APIC_API
kvm_cpuid_flags = KVM_CPUID_FLAG_SIGNIFCANT_INDEX, KVM_CPUID_FLAG_STATEFUL_FUNC, KVM_CPUID_FLAG_STATE_READ_NEXT
kvm_dev_flags = KVM_DEV_ASSIGN_ENABLE_IOMMU, KVM_DEV_ASSIGN_PCI_2_3, KVM_DEV_ASSIGN_MASK_INTX
kvm_vcpu_target = KVM_ARM_TARGET_CORTEX_A53, KVM_ARM_TARGET_AEM_V8, KVM_ARM_TARGET_FOUNDATION_V8, KVM_ARM_TARGET_CORTEX_A57, KVM_ARM_TARGET_XGENE_POTENZA, KVM_ARM_TARGET_GENERIC_V8
@@ -431,8 +432,15 @@ kvm_xsave {
region array[int8, 1024]
}
-kvm_enable_cap {
- cap flags[kvm_caps, int32]
+kvm_enable_cap_cpu {
+ cap flags[kvm_cpu_caps, int32]
+ flags const[0, int32]
+ args array[int64, 4]
+ pad array[const[0, int8], 64]
+}
+
+kvm_enable_cap_vm {
+ cap flags[kvm_vm_caps, int32]
flags const[0, int32]
args array[int64, 4]
pad array[const[0, int8], 64]
diff --git a/sys/kvm_amd64.const b/sys/kvm_amd64.const
index c6110d10b..5eb472999 100644
--- a/sys/kvm_amd64.const
+++ b/sys/kvm_amd64.const
@@ -6,7 +6,10 @@ KVM_ASSIGN_PCI_DEVICE = 2151722601
KVM_ASSIGN_SET_INTX_MASK = 1077980836
KVM_ASSIGN_SET_MSIX_ENTRY = 1074835060
KVM_ASSIGN_SET_MSIX_NR = 1074310771
+KVM_CAP_DISABLE_QUIRKS = 116
KVM_CAP_HYPERV_SYNIC = 123
+KVM_CAP_SPLIT_IRQCHIP = 121
+KVM_CAP_X2APIC_API = 129
KVM_CHECK_EXTENSION = 44547
KVM_CPUID_FEATURES = 1073741825
KVM_CPUID_FLAG_SIGNIFCANT_INDEX = 1
diff --git a/sys/kvm_arm64.const b/sys/kvm_arm64.const
index f681ccaeb..c08413d2a 100644
--- a/sys/kvm_arm64.const
+++ b/sys/kvm_arm64.const
@@ -17,7 +17,10 @@ KVM_ASSIGN_PCI_DEVICE = 2151722601
KVM_ASSIGN_SET_INTX_MASK = 1077980836
KVM_ASSIGN_SET_MSIX_ENTRY = 1074835060
KVM_ASSIGN_SET_MSIX_NR = 1074310771
+KVM_CAP_DISABLE_QUIRKS = 116
KVM_CAP_HYPERV_SYNIC = 123
+KVM_CAP_SPLIT_IRQCHIP = 121
+KVM_CAP_X2APIC_API = 129
KVM_CHECK_EXTENSION = 44547
KVM_CREATE_DEVICE = 3222056672
KVM_CREATE_DEVICE_TEST = 1
diff --git a/sys/kvm_ppc64le.const b/sys/kvm_ppc64le.const
index ac399405e..4b79eeacc 100644
--- a/sys/kvm_ppc64le.const
+++ b/sys/kvm_ppc64le.const
@@ -6,7 +6,10 @@ KVM_ASSIGN_PCI_DEVICE = 1077980777
KVM_ASSIGN_SET_INTX_MASK = 2151722660
KVM_ASSIGN_SET_MSIX_ENTRY = 2148576884
KVM_ASSIGN_SET_MSIX_NR = 2148052595
+KVM_CAP_DISABLE_QUIRKS = 116
KVM_CAP_HYPERV_SYNIC = 123
+KVM_CAP_SPLIT_IRQCHIP = 121
+KVM_CAP_X2APIC_API = 129
KVM_CHECK_EXTENSION = 536915459
KVM_CREATE_DEVICE = 3222056672
KVM_CREATE_DEVICE_TEST = 1