1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Automatically generated TDX global metadata structures. */ 3 #ifndef _X86_VIRT_TDX_AUTO_GENERATED_TDX_GLOBAL_METADATA_H 4 #define _X86_VIRT_TDX_AUTO_GENERATED_TDX_GLOBAL_METADATA_H 5 6 #include <linux/types.h> 7 8 struct tdx_sys_info_features { 9 u64 tdx_features0; 10 }; 11 12 struct tdx_sys_info_tdmr { 13 u16 max_tdmrs; 14 u16 max_reserved_per_tdmr; 15 u16 pamt_4k_entry_size; 16 u16 pamt_2m_entry_size; 17 u16 pamt_1g_entry_size; 18 }; 19 20 struct tdx_sys_info_td_ctrl { 21 u16 tdr_base_size; 22 u16 tdcs_base_size; 23 u16 tdvps_base_size; 24 }; 25 26 struct tdx_sys_info_td_conf { 27 u64 attributes_fixed0; 28 u64 attributes_fixed1; 29 u64 xfam_fixed0; 30 u64 xfam_fixed1; 31 u16 num_cpuid_config; 32 u16 max_vcpus_per_td; 33 u64 cpuid_config_leaves[128]; 34 u64 cpuid_config_values[128][2]; 35 }; 36 37 struct tdx_sys_info { 38 struct tdx_sys_info_features features; 39 struct tdx_sys_info_tdmr tdmr; 40 struct tdx_sys_info_td_ctrl td_ctrl; 41 struct tdx_sys_info_td_conf td_conf; 42 }; 43 44 #endif 45