Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources

To pick the changes in:

43bb9e000ea4c621 ("KVM: x86: Tweak name of MONITOR/MWAIT #UD quirk to make it #UD specific")
94dfc73e7cf4a31d ("treewide: uapi: Replace zero-length arrays with flexible-array members")
bfbcc81bb82cbbad ("KVM: x86: Add a quirk for KVM's "MONITOR/MWAIT are NOPs!" behavior")
b172862241b48499 ("KVM: x86: PIT: Preserve state of speaker port data bit")
ed2351174e38ad4f ("KVM: x86: Extend KVM_{G,S}ET_VCPU_EVENTS to support pending triple fault")

That just rebuilds kvm-stat.c on x86, no change in functionality.

This silences these perf build warning:

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

Cc: Chenyi Qiang <chenyi.qiang@intel.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Paul Durrant <pdurrant@amazon.com>
Link: https://lore.kernel.org/lkml/Yv6OMPKYqYSbUxwZ@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+8 -2
+8 -2
tools/arch/x86/include/uapi/asm/kvm.h
··· 306 306 struct kvm_pit_channel_state channels[3]; 307 307 }; 308 308 309 - #define KVM_PIT_FLAGS_HPET_LEGACY 0x00000001 309 + #define KVM_PIT_FLAGS_HPET_LEGACY 0x00000001 310 + #define KVM_PIT_FLAGS_SPEAKER_DATA_ON 0x00000002 310 311 311 312 struct kvm_pit_state2 { 312 313 struct kvm_pit_channel_state channels[3]; ··· 326 325 #define KVM_VCPUEVENT_VALID_SHADOW 0x00000004 327 326 #define KVM_VCPUEVENT_VALID_SMM 0x00000008 328 327 #define KVM_VCPUEVENT_VALID_PAYLOAD 0x00000010 328 + #define KVM_VCPUEVENT_VALID_TRIPLE_FAULT 0x00000020 329 329 330 330 /* Interrupt shadow states */ 331 331 #define KVM_X86_SHADOW_INT_MOV_SS 0x01 ··· 361 359 __u8 smm_inside_nmi; 362 360 __u8 latched_init; 363 361 } smi; 364 - __u8 reserved[27]; 362 + struct { 363 + __u8 pending; 364 + } triple_fault; 365 + __u8 reserved[26]; 365 366 __u8 exception_has_payload; 366 367 __u64 exception_payload; 367 368 }; ··· 439 434 #define KVM_X86_QUIRK_OUT_7E_INC_RIP (1 << 3) 440 435 #define KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT (1 << 4) 441 436 #define KVM_X86_QUIRK_FIX_HYPERCALL_INSN (1 << 5) 437 + #define KVM_X86_QUIRK_MWAIT_NEVER_UD_FAULTS (1 << 6) 442 438 443 439 #define KVM_STATE_NESTED_FORMAT_VMX 0 444 440 #define KVM_STATE_NESTED_FORMAT_SVM 1