[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ea8acecfe0e2194d5b9accd4888fbed11ca476ca.camel@intel.com>
Date: Fri, 10 Nov 2023 02:23:57 +0000
From: "Huang, Kai" <kai.huang@...el.com>
To: "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"Hansen, Dave" <dave.hansen@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: "sathyanarayanan.kuppuswamy@...ux.intel.com"
<sathyanarayanan.kuppuswamy@...ux.intel.com>,
"Luck, Tony" <tony.luck@...el.com>,
"david@...hat.com" <david@...hat.com>,
"bagasdotme@...il.com" <bagasdotme@...il.com>,
"ak@...ux.intel.com" <ak@...ux.intel.com>,
"kirill.shutemov@...ux.intel.com" <kirill.shutemov@...ux.intel.com>,
"seanjc@...gle.com" <seanjc@...gle.com>,
"mingo@...hat.com" <mingo@...hat.com>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"Yamahata, Isaku" <isaku.yamahata@...el.com>,
"nik.borisov@...e.com" <nik.borisov@...e.com>,
"hpa@...or.com" <hpa@...or.com>,
"peterz@...radead.org" <peterz@...radead.org>,
"Shahar, Sagi" <sagis@...gle.com>,
"imammedo@...hat.com" <imammedo@...hat.com>,
"bp@...en8.de" <bp@...en8.de>, "Gao, Chao" <chao.gao@...el.com>,
"Brown, Len" <len.brown@...el.com>,
"rafael@...nel.org" <rafael@...nel.org>,
"Huang, Ying" <ying.huang@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>,
"x86@...nel.org" <x86@...nel.org>
Subject: Re: [PATCH v15 09/23] x86/virt/tdx: Get module global metadata for
module initialization
On Thu, 2023-11-09 at 15:29 -0800, Dave Hansen wrote:
> On 11/9/23 03:55, Kai Huang wrote:
> ...> + ret = read_sys_metadata_field16(MD_FIELD_ID_MAX_TDMRS,
> > + &tdmr_sysinfo->max_tdmrs);
> > + if (ret)
> > + return ret;
> > +
> > + ret = read_sys_metadata_field16(MD_FIELD_ID_MAX_RESERVED_PER_TDMR,
> > + &tdmr_sysinfo->max_reserved_per_tdmr);
> > + if (ret)
> > + return ret;
> > +
> > + ret = read_sys_metadata_field16(MD_FIELD_ID_PAMT_4K_ENTRY_SIZE,
> > + &tdmr_sysinfo->pamt_entry_size[TDX_PS_4K]);
> > + if (ret)
> > + return ret;
> > +
> > + ret = read_sys_metadata_field16(MD_FIELD_ID_PAMT_2M_ENTRY_SIZE,
> > + &tdmr_sysinfo->pamt_entry_size[TDX_PS_2M]);
> > + if (ret)
> > + return ret;
> > +
> > + return read_sys_metadata_field16(MD_FIELD_ID_PAMT_1G_ENTRY_SIZE,
> > + &tdmr_sysinfo->pamt_entry_size[TDX_PS_1G]);
> > +}
>
> I kinda despise how this looks. It's impossible to read.
>
> I'd much rather do something like the attached where you just map the
> field number to a structure member. Note that this kind of structure
> could also be converted to leverage the bulk metadata query in the future.
>
> Any objections to doing something more like the attached completely
> untested patch?
Hi Dave,
No objection and thanks! I've just tested with your diff I can successfully
initialize the TDX module.
Powered by blists - more mailing lists