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
8struct tdx_sys_info_features {
9 u64 tdx_features0;
10};
11
12struct 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
20struct tdx_sys_info_td_ctrl {
21 u16 tdr_base_size;
22 u16 tdcs_base_size;
23 u16 tdvps_base_size;
24};
25
26struct 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
37struct 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