diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2019-07-26 11:43:23 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2019-07-26 11:43:23 -0400 |
commit | e0d99c4d24fd8861da724b88ebd18a9fae8a2260 (patch) | |
tree | 2b08cbe857f0492954094a669baa38d0954ae154 /tools/arch | |
parent | 820571af721990e354649368e641313f85a29976 (diff) |
tools headers UAPI: Update tools's copy of kvm.h headers
Picking the changes from:
66bb8a065f5a ("KVM: x86: PMU Event Filter")
f087a02941fe ("KVM: nVMX: Stash L1's CR3 in vmcs01.GUEST_CR3 on nested entry w/o EPT")
99adb567632b ("KVM: arm/arm64: Add save/restore support for firmware workaround state")
Silencing this perf build warning:
Warning: Kernel ABI header at 'tools/arch/arm/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm/include/uapi/asm/kvm.h'
diff -u tools/arch/arm/include/uapi/asm/kvm.h arch/arm/include/uapi/asm/kvm.h
Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h
Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/vmx.h' differs from latest version at 'arch/x86/include/uapi/asm/vmx.h'
diff -u tools/arch/x86/include/uapi/asm/vmx.h arch/x86/include/uapi/asm/vmx.h
Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h'
diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h
Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
Now 'perf trace' and other code that might use the tools/perf/trace/beauty autogenerated
tables will be able to translate this new ioctl code into a string:
$ tools/perf/trace/beauty/kvm_ioctl.sh > before
$
$ cp include/uapi/linux/kvm.h tools/include/uapi/linux/kvm.h
$ tools/perf/trace/beauty/kvm_ioctl.sh > after
$ diff -u before after
--- before 2019-07-26 12:32:47.959220236 -0300
+++ after 2019-07-26 12:33:05.766464871 -0300
@@ -79,6 +79,7 @@
[0xac] = "SET_ONE_REG",
[0xad] = "KVMCLOCK_CTRL",
[0xb0] = "GET_REG_LIST",
+ [0xb2] = "SET_PMU_EVENT_FILTER",
[0xb7] = "SMI",
[0xba] = "MEMORY_ENCRYPT_OP",
[0xbb] = "MEMORY_ENCRYPT_REG_REGION",
$
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andre Przywara <andre.przywara@arm.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Eric Hankland <ehankland@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <sean.j.christopherson@intel.com>
Link: https://lkml.kernel.org/n/tip-py1gcmt6rboehlwg6zvagfg2@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/arch')
-rw-r--r-- | tools/arch/arm/include/uapi/asm/kvm.h | 12 | ||||
-rw-r--r-- | tools/arch/arm64/include/uapi/asm/kvm.h | 10 | ||||
-rw-r--r-- | tools/arch/x86/include/uapi/asm/kvm.h | 22 | ||||
-rw-r--r-- | tools/arch/x86/include/uapi/asm/vmx.h | 1 |
4 files changed, 40 insertions, 5 deletions
diff --git a/tools/arch/arm/include/uapi/asm/kvm.h b/tools/arch/arm/include/uapi/asm/kvm.h index 4602464ebdfb..a4217c1a5d01 100644 --- a/tools/arch/arm/include/uapi/asm/kvm.h +++ b/tools/arch/arm/include/uapi/asm/kvm.h | |||
@@ -214,6 +214,18 @@ struct kvm_vcpu_events { | |||
214 | #define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM | KVM_REG_SIZE_U64 | \ | 214 | #define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM | KVM_REG_SIZE_U64 | \ |
215 | KVM_REG_ARM_FW | ((r) & 0xffff)) | 215 | KVM_REG_ARM_FW | ((r) & 0xffff)) |
216 | #define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) | 216 | #define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) |
217 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1 KVM_REG_ARM_FW_REG(1) | ||
218 | /* Higher values mean better protection. */ | ||
219 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL 0 | ||
220 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL 1 | ||
221 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED 2 | ||
222 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2 KVM_REG_ARM_FW_REG(2) | ||
223 | /* Higher values mean better protection. */ | ||
224 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL 0 | ||
225 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN 1 | ||
226 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_AVAIL 2 | ||
227 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_REQUIRED 3 | ||
228 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_ENABLED (1U << 4) | ||
217 | 229 | ||
218 | /* Device Control API: ARM VGIC */ | 230 | /* Device Control API: ARM VGIC */ |
219 | #define KVM_DEV_ARM_VGIC_GRP_ADDR 0 | 231 | #define KVM_DEV_ARM_VGIC_GRP_ADDR 0 |
diff --git a/tools/arch/arm64/include/uapi/asm/kvm.h b/tools/arch/arm64/include/uapi/asm/kvm.h index d819a3e8b552..9a507716ae2f 100644 --- a/tools/arch/arm64/include/uapi/asm/kvm.h +++ b/tools/arch/arm64/include/uapi/asm/kvm.h | |||
@@ -229,6 +229,16 @@ struct kvm_vcpu_events { | |||
229 | #define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \ | 229 | #define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \ |
230 | KVM_REG_ARM_FW | ((r) & 0xffff)) | 230 | KVM_REG_ARM_FW | ((r) & 0xffff)) |
231 | #define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) | 231 | #define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0) |
232 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1 KVM_REG_ARM_FW_REG(1) | ||
233 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL 0 | ||
234 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL 1 | ||
235 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED 2 | ||
236 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2 KVM_REG_ARM_FW_REG(2) | ||
237 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL 0 | ||
238 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN 1 | ||
239 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_AVAIL 2 | ||
240 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_REQUIRED 3 | ||
241 | #define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_ENABLED (1U << 4) | ||
232 | 242 | ||
233 | /* SVE registers */ | 243 | /* SVE registers */ |
234 | #define KVM_REG_ARM64_SVE (0x15 << KVM_REG_ARM_COPROC_SHIFT) | 244 | #define KVM_REG_ARM64_SVE (0x15 << KVM_REG_ARM_COPROC_SHIFT) |
diff --git a/tools/arch/x86/include/uapi/asm/kvm.h b/tools/arch/x86/include/uapi/asm/kvm.h index d6ab5b4d15e5..503d3f42da16 100644 --- a/tools/arch/x86/include/uapi/asm/kvm.h +++ b/tools/arch/x86/include/uapi/asm/kvm.h | |||
@@ -378,10 +378,11 @@ struct kvm_sync_regs { | |||
378 | struct kvm_vcpu_events events; | 378 | struct kvm_vcpu_events events; |
379 | }; | 379 | }; |
380 | 380 | ||
381 | #define KVM_X86_QUIRK_LINT0_REENABLED (1 << 0) | 381 | #define KVM_X86_QUIRK_LINT0_REENABLED (1 << 0) |
382 | #define KVM_X86_QUIRK_CD_NW_CLEARED (1 << 1) | 382 | #define KVM_X86_QUIRK_CD_NW_CLEARED (1 << 1) |
383 | #define KVM_X86_QUIRK_LAPIC_MMIO_HOLE (1 << 2) | 383 | #define KVM_X86_QUIRK_LAPIC_MMIO_HOLE (1 << 2) |
384 | #define KVM_X86_QUIRK_OUT_7E_INC_RIP (1 << 3) | 384 | #define KVM_X86_QUIRK_OUT_7E_INC_RIP (1 << 3) |
385 | #define KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT (1 << 4) | ||
385 | 386 | ||
386 | #define KVM_STATE_NESTED_FORMAT_VMX 0 | 387 | #define KVM_STATE_NESTED_FORMAT_VMX 0 |
387 | #define KVM_STATE_NESTED_FORMAT_SVM 1 /* unused */ | 388 | #define KVM_STATE_NESTED_FORMAT_SVM 1 /* unused */ |
@@ -432,4 +433,17 @@ struct kvm_nested_state { | |||
432 | } data; | 433 | } data; |
433 | }; | 434 | }; |
434 | 435 | ||
436 | /* for KVM_CAP_PMU_EVENT_FILTER */ | ||
437 | struct kvm_pmu_event_filter { | ||
438 | __u32 action; | ||
439 | __u32 nevents; | ||
440 | __u32 fixed_counter_bitmap; | ||
441 | __u32 flags; | ||
442 | __u32 pad[4]; | ||
443 | __u64 events[0]; | ||
444 | }; | ||
445 | |||
446 | #define KVM_PMU_EVENT_ALLOW 0 | ||
447 | #define KVM_PMU_EVENT_DENY 1 | ||
448 | |||
435 | #endif /* _ASM_X86_KVM_H */ | 449 | #endif /* _ASM_X86_KVM_H */ |
diff --git a/tools/arch/x86/include/uapi/asm/vmx.h b/tools/arch/x86/include/uapi/asm/vmx.h index d213ec5c3766..f0b0c90dd398 100644 --- a/tools/arch/x86/include/uapi/asm/vmx.h +++ b/tools/arch/x86/include/uapi/asm/vmx.h | |||
@@ -146,7 +146,6 @@ | |||
146 | 146 | ||
147 | #define VMX_ABORT_SAVE_GUEST_MSR_FAIL 1 | 147 | #define VMX_ABORT_SAVE_GUEST_MSR_FAIL 1 |
148 | #define VMX_ABORT_LOAD_HOST_PDPTE_FAIL 2 | 148 | #define VMX_ABORT_LOAD_HOST_PDPTE_FAIL 2 |
149 | #define VMX_ABORT_VMCS_CORRUPTED 3 | ||
150 | #define VMX_ABORT_LOAD_HOST_MSR_FAIL 4 | 149 | #define VMX_ABORT_LOAD_HOST_MSR_FAIL 4 |
151 | 150 | ||
152 | #endif /* _UAPIVMX_H */ | 151 | #endif /* _UAPIVMX_H */ |