]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tools headers: Sync KVM headers with the kernel source
authorNamhyung Kim <namhyung@kernel.org>
Mon, 18 Aug 2025 17:32:18 +0000 (10:32 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Mon, 18 Aug 2025 18:52:22 +0000 (11:52 -0700)
To pick up the changes in this cset:

  f55ce5a6cd33211c KVM: arm64: Expose new KVM cap for cacheable PFNMAP
  28224ef02b56fcee KVM: TDX: Report supported optional TDVMCALLs in TDX capabilities
  4580dbef5ce0f95a KVM: TDX: Exit to userspace for SetupEventNotifyInterrupt
  25e8b1dd4883e6c2 KVM: TDX: Exit to userspace for GetTdVmCallInfo
  cf207eac06f661fb KVM: TDX: Handle TDG.VP.VMCALL<GetQuote>

This addresses these perf build warnings:

  Warning: Kernel ABI header differences:
    diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
    diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h

Please see tools/include/uapi/README for further details.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/arch/x86/include/uapi/asm/kvm.h
tools/include/uapi/linux/kvm.h

index 6f3499507c5efb560c94a58d053144f04671140b..0f15d683817d6a77b0c7cdfe3fda2b6bef2e4172 100644 (file)
@@ -965,7 +965,13 @@ struct kvm_tdx_cmd {
 struct kvm_tdx_capabilities {
        __u64 supported_attrs;
        __u64 supported_xfam;
-       __u64 reserved[254];
+
+       __u64 kernel_tdvmcallinfo_1_r11;
+       __u64 user_tdvmcallinfo_1_r11;
+       __u64 kernel_tdvmcallinfo_1_r12;
+       __u64 user_tdvmcallinfo_1_r12;
+
+       __u64 reserved[250];
 
        /* Configurable CPUID bits for userspace */
        struct kvm_cpuid2 cpuid;
index 7415a3863891c04244e35e0dd5c1a4d60f5fc731..f0f0d49d254435523bd75efcabaa7e112c64f7ee 100644 (file)
@@ -178,6 +178,7 @@ struct kvm_xen_exit {
 #define KVM_EXIT_NOTIFY           37
 #define KVM_EXIT_LOONGARCH_IOCSR  38
 #define KVM_EXIT_MEMORY_FAULT     39
+#define KVM_EXIT_TDX              40
 
 /* For KVM_EXIT_INTERNAL_ERROR */
 /* Emulate instruction failed. */
@@ -447,6 +448,31 @@ struct kvm_run {
                        __u64 gpa;
                        __u64 size;
                } memory_fault;
+               /* KVM_EXIT_TDX */
+               struct {
+                       __u64 flags;
+                       __u64 nr;
+                       union {
+                               struct {
+                                       __u64 ret;
+                                       __u64 data[5];
+                               } unknown;
+                               struct {
+                                       __u64 ret;
+                                       __u64 gpa;
+                                       __u64 size;
+                               } get_quote;
+                               struct {
+                                       __u64 ret;
+                                       __u64 leaf;
+                                       __u64 r11, r12, r13, r14;
+                               } get_tdvmcall_info;
+                               struct {
+                                       __u64 ret;
+                                       __u64 vector;
+                               } setup_event_notify;
+                       };
+               } tdx;
                /* Fix the size of the union. */
                char padding[256];
        };
@@ -935,6 +961,7 @@ struct kvm_enable_cap {
 #define KVM_CAP_ARM_EL2 240
 #define KVM_CAP_ARM_EL2_E2H0 241
 #define KVM_CAP_RISCV_MP_STATE_RESET 242
+#define KVM_CAP_ARM_CACHEABLE_PFNMAP_SUPPORTED 243
 
 struct kvm_irq_routing_irqchip {
        __u32 irqchip;