Re: [PATCH v8 04/16] x86/virt/tdx: Add skeleton to initialize TDX on demand

From: Dave Hansen
Date: Fri Jan 06 2023 - 12:14:48 EST


On 12/8/22 22:52, Kai Huang wrote:
>
> The TDX module will be initialized in multi-steps defined by the TDX
> module and most of those steps involve a specific SEAMCALL:
>
> 1) Get the TDX module information and TDX-capable memory regions
> (TDH.SYS.INFO).
> 2) Build the list of TDX-usable memory regions.
> 3) Construct a list of "TD Memory Regions" (TDMRs) to cover all
> TDX-usable memory regions.
> 4) Pick up one TDX private KeyID as the global KeyID.
> 5) Configure the TDMRs and the global KeyID to the TDX module
> (TDH.SYS.CONFIG).
> 6) Configure the global KeyID on all packages (TDH.SYS.KEY.CONFIG).
> 7) Initialize all TDMRs (TDH.SYS.TDMR.INIT).

I don't think you really need this *AND* the "TODO" comments in
init_tdx_module(). Just say:

Add a placeholder tdx_enable() to initialize the TDX module on
demand. The TODO list will be pared down as functionality is
added.