[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57c22600dcd58eb5b29ee4589866cc0c2949130a.camel@intel.com>
Date: Fri, 28 Oct 2022 00:47:52 +0000
From: "Huang, Kai" <kai.huang@...el.com>
To: "kirill@...temov.name" <kirill@...temov.name>
CC: "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"Li, Xiaoyao" <xiaoyao.li@...el.com>,
"Hansen, Dave" <dave.hansen@...el.com>,
"Luck, Tony" <tony.luck@...el.com>,
"bagasdotme@...il.com" <bagasdotme@...il.com>,
"ak@...ux.intel.com" <ak@...ux.intel.com>,
"Wysocki, Rafael J" <rafael.j.wysocki@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Chatre, Reinette" <reinette.chatre@...el.com>,
"Christopherson,, Sean" <seanjc@...gle.com>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"Yamahata, Isaku" <isaku.yamahata@...el.com>,
"kirill.shutemov@...ux.intel.com" <kirill.shutemov@...ux.intel.com>,
"Shahar, Sagi" <sagis@...gle.com>,
"peterz@...radead.org" <peterz@...radead.org>,
"imammedo@...hat.com" <imammedo@...hat.com>,
"Gao, Chao" <chao.gao@...el.com>,
"Brown, Len" <len.brown@...el.com>,
"sathyanarayanan.kuppuswamy@...ux.intel.com"
<sathyanarayanan.kuppuswamy@...ux.intel.com>,
"Williams, Dan J" <dan.j.williams@...el.com>
Subject: Re: [PATCH v6 01/21] x86/tdx: Use enum to define page level of TDX
supported page sizes
On Thu, 2022-10-27 at 16:51 +0300, Kirill A. Shutemov wrote:
> On Thu, Oct 27, 2022 at 08:42:16AM +0000, Huang, Kai 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?
>
> The spec says:
>
> Level of the Secure EPT entry that maps the private page to be
> accepted: either 0 (4KB) or 1 (2MB) – see 20.5.1
>
> Yes, it is about 4k and 2M, but it also refers 20.5.1, which lists sizes
> up to 16PB.
Also, I think we are mixing two things: 1) leaf page sizes (4K/2M/1G); 2) page
table levels. The latter has more levels than the former. For try_accept_one()
(and TDX host code), we actually care only about the former.
KVM needs the latter (or both), so it's better for KVM to handle on its own.
>
> Ultimately, it does not matter: if TDX module doesn't support the size or
> cannot accept the memory for other reason guest kernel will fallback to
> smaller size.
>
Yes.
Powered by blists - more mailing lists