qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 10/23] linux-headers: Update headers to pull in TDX API chang


From: Isaku Yamahata
Subject: [RFC PATCH 10/23] linux-headers: Update headers to pull in TDX API changes
Date: Mon, 15 Feb 2021 18:13:06 -0800

From: Xiaoyao Li <xiaoyao.li@intel.com>

Pull in recent TDX updates, which are not backwards compatible.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Co-developed-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
---
 linux-headers/asm-x86/kvm.h | 55 +++++++++++++++++++++++++++++++++++++
 linux-headers/linux/kvm.h   |  2 ++
 2 files changed, 57 insertions(+)

diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h
index 8e76d3701d..26d8197e41 100644
--- a/linux-headers/asm-x86/kvm.h
+++ b/linux-headers/asm-x86/kvm.h
@@ -487,4 +487,59 @@ struct kvm_pmu_event_filter {
 #define KVM_PMU_EVENT_ALLOW 0
 #define KVM_PMU_EVENT_DENY 1
 
+#define KVM_X86_LEGACY_VM      0
+#define KVM_X86_SW_PROTECTED_VM        1
+#define KVM_X86_TDX_VM         2
+
+/* Trust Domain eXtension command*/
+enum tdx_cmd_id {
+       KVM_TDX_CAPABILITIES = 0,
+       KVM_TDX_INIT_VM,
+       KVM_TDX_INIT_VCPU,
+       KVM_TDX_INIT_MEM_REGION,
+       KVM_TDX_FINALIZE_VM,
+
+       KVM_TDX_CMD_NR_MAX,
+};
+
+struct kvm_tdx_cmd {
+       __u32 id;
+       __u32 metadata;
+       __u64 data;
+};
+
+struct kvm_tdx_cpuid_config {
+       __u32 leaf;
+       __u32 sub_leaf;
+       __u32 eax;
+       __u32 ebx;
+       __u32 ecx;
+       __u32 edx;
+};
+
+struct kvm_tdx_capabilities {
+       __u64 attrs_fixed0;
+       __u64 attrs_fixed1;
+       __u64 xfam_fixed0;
+       __u64 xfam_fixed1;
+
+       __u32 nr_cpuid_configs;
+       struct kvm_tdx_cpuid_config cpuid_configs[0];
+};
+
+struct kvm_tdx_init_vm {
+       __u32 max_vcpus;
+       __u32 reserved;
+       __u64 attributes;
+       __u64 cpuid;
+};
+
+#define KVM_TDX_MEASURE_MEMORY_REGION  (1UL << 0)
+
+struct kvm_tdx_init_mem_region {
+       __u64 source_addr;
+       __u64 gpa;
+       __u64 nr_pages;
+};
+
 #endif /* _ASM_X86_KVM_H */
diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index 020b62a619..0467c335a0 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -1057,6 +1057,8 @@ struct kvm_ppc_resize_hpt {
 #define KVM_CAP_SYS_HYPERV_CPUID 191
 #define KVM_CAP_DIRTY_LOG_RING 192
 
+#define KVM_CAP_VM_TYPES 1000
+
 #ifdef KVM_CAP_IRQ_ROUTING
 
 struct kvm_irq_routing_irqchip {
-- 
2.17.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]