Re: [PATCH v6 02/11] x86/virt/tdx: Allocate page bitmap for Dynamic PAMT
From: Edgecombe, Rick P
Date: Tue Jun 30 2026 - 20:14:54 EST
On Thu, 2026-06-04 at 17:14 +0100, Kiryl Shutsemau wrote:
> On Mon, May 25, 2026 at 07:35:06PM -0700, Rick Edgecombe wrote:
> > @@ -579,7 +591,12 @@ static __init int tdmr_set_up_pamt(struct tdmr_info *tdmr,
> > * Calculate the PAMT size for each TDX supported page size
> > * and the total PAMT size.
> > */
> > - tdmr->pamt_4k_size = tdmr_get_pamt_sz(tdmr, TDX_PS_4K);
> > + if (tdx_supports_dynamic_pamt(&tdx_sysinfo)) {
> > + /* With Dynamic PAMT, PAMT_4K is replaced with a bitmap */
> > + tdmr->pamt_4k_size = tdmr_get_pamt_bitmap_sz(tdmr);
> > + } else {
> > + tdmr->pamt_4k_size = tdmr_get_pamt_sz(tdmr, TDX_PS_4K);
> > + }
> > tdmr->pamt_2m_size = tdmr_get_pamt_sz(tdmr, TDX_PS_2M);
> > tdmr->pamt_1g_size = tdmr_get_pamt_sz(tdmr, TDX_PS_1G);
> > tdmr_pamt_size = tdmr->pamt_4k_size + tdmr->pamt_2m_size + tdmr->pamt_1g_size;
>
> Maybe it would more readable if we reverse the size order:
>
> /*
> * Calculate the PAMT size for each TDX supported page size
> * and the total PAMT size.
> */
> tdmr->pamt_1g_size = tdmr_get_pamt_sz(tdmr, TDX_PS_1G);
> tdmr->pamt_2m_size = tdmr_get_pamt_sz(tdmr, TDX_PS_2M);
>
> if (tdx_supports_dynamic_pamt(&tdx_sysinfo)) {
> /* With Dynamic PAMT, PAMT_4K is replaced with a bitmap */
> tdmr->pamt_4k_size = tdmr_get_pamt_bitmap_sz(tdmr);
> } else {
> tdmr->pamt_4k_size = tdmr_get_pamt_sz(tdmr, TDX_PS_4K);
> }
>
> tdmr_pamt_size = tdmr->pamt_1g_size + tdmr->pamt_2m_size + tdmr->pamt_4k_size;
>
> It allows split it into logical blocks while keeping the comment attached.
Uhh, yea. I can see it a little. I'll swap it.