Re: [PATCH v6 01/21] x86/tdx: Use enum to define page level of TDX supported page sizes

From: Isaku Yamahata
Date: Thu Oct 27 2022 - 18:29:13 EST


On Thu, Oct 27, 2022 at 08:42:16AM +0000,
"Huang, Kai" <kai.huang@xxxxxxxxx> wrote:

> On Thu, 2022-10-27 at 15:08 +0800, Li, Xiaoyao wrote:
> > > @@ -663,27 +662,16 @@ static bool try_accept_one(phys_addr_t *start,
> > > unsigned long len,
> > >     if (len < accept_size)
> > >     return false;
> > >   
> > > + /* TDX only supports 4K/2M/1G page sizes */
> >
> > yes, a page can be mapped as 1G size to TD via secure/shared EPT. But
> > for this particular TDX_ACCEPT_PAGE case, it only supports 4K and 2M
> > currently, which is defined in TDX module spec.
>
> I checked the TDX module public spec, and it appears you are right. But I am
> not sure whether it will be changed in the future?
>
> Anyway this patch doesn't intend to bring any functional change (I should have
> stated this in the changelog), so I think fixing to this, if ever needed, should
> be another patch.
>
> Hi Isaku,
>
> You suggested to introduce a helper, but this reminds me how KVM is going to use
> this helper? KVM secure EPT can accept more levels than try_accept_one().
>
> Perhaps I can just get rid of this helper? TDX host series only needs some
> definitions to represent 4K/2M/1G page to get rid of using magic numbers.

Ok, let remove the helper function. The usage seems different from KVM case.
In KVM side, it can introduce its own helper.
--
Isaku Yamahata <isaku.yamahata@xxxxxxxxx>