Re: [PATCH v4 07/16] x86/virt/tdx: Add tdx_alloc/free_page() helpers
From: Kiryl Shutsemau
Date: Wed Dec 03 2025 - 08:46:06 EST
On Tue, Dec 02, 2025 at 08:02:38PM +0000, Edgecombe, Rick P wrote:
> On Tue, 2025-12-02 at 09:38 +0200, Nikolay Borisov wrote:
> > > Yea, it could be simpler if it was always guaranteed to be 2 pages. But it
> > > was
> > > my understanding that it would not be a fixed size. Can you point to what
> > > docs
> > > makes you think that?
> >
> > Looking at the PHYMEM.PAMT.ADD ABI spec the pages being added are always
> > put into pair in rdx/r8. So e.g. looking into tdh_phymem_pamt_add rcx is
> > set to a 2mb page, and subsequently we have the memcpy which simply sets
> > the rdx/r8 input argument registers, no ? Or am I misunderstanding the
> > code?
>
> Hmm, you are totally right. The docs specify the size of the 4k entries, but
> doesn't specify that Dynamic PAMT is supposed to provide larger sizes in the
> other registers. A reasonable reading could assume 2 pages always, and the usage
> of the other registers seems like an assumption.
>
> Kirill, any history here?
There was a plan to future prove DPAMT by allowing PAMT descriptor to
grow in the future. The concrete approach was not settled last time I
checked. This code was my attempt to accommodate it. I don't know if it
fits the current plan.
--
Kiryl Shutsemau / Kirill A. Shutemov