On Fri, 2025-05-02 at 16:08 +0300, Kirill A. Shutemov wrote: > --- a/arch/x86/virt/vmx/tdx/tdx_global_metadata.c > +++ b/arch/x86/virt/vmx/tdx/tdx_global_metadata.c > @@ -33,6 +33,9 @@ static int get_tdx_sys_info_tdmr(struct tdx_sys_info_tdmr *sysinfo_tdmr) > sysinfo_tdmr->pamt_2m_entry_size = val; > if (!ret && !(ret = read_sys_metadata_field(0x9100000100000012, &val))) > sysinfo_tdmr->pamt_1g_entry_size = val; > + if (!ret && tdx_supports_dynamic_pamt(&tdx_sysinfo) && > + !(ret = read_sys_metadata_field(0x9100000100000013, &val))) > + sysinfo_tdmr->pamt_page_bitmap_entry_bits = val; > Currently the global metadata reading code is auto-generated by script, which is not in upstream yet. It doesn't support generating code to support reading some field "enumerated by" some TDX feature either. I'll try to upstream the script and add also the "enumerated by" support in the script.