Re: [PATCH v9 10/11] Documentation/x86: Add documentation for TDX's Dynamic PAMT

From: Dave Hansen

Date: Mon Aug 10 2026 - 10:27:52 EST


> +Dynamic PAMT
> +------------
> +
> +Physical Address Metadata Table (PAMT) is memory that the TDX module needs
> +to keep data about each page (think like struct page). It needs to be handed
> +to the TDX module for its exclusive use. For normal PAMT, this is installed
> +when the TDX module is first loaded and comes to about 0.4% of system memory.

The Physical Address Metadata Table (PAMT) is metadata in which the TDX
module keeps data about each physical page (think struct page). Space
for it is allocated by the VMM, consumes up to about 0.4% of system
memory and needs to be supplied to the TDX module for the TDX module is
first loaded.

Dynamic PAMT is an add-on feature that allows a VMM to dynamically
allocate the part of the PAMT which tracks 4k pages. This reduces the
amount of memory that TDX consumes while TDs are not in use.

Slight tweaks for those first two paragraphs ^

> +When Dynamic PAMT is in use, dmesg shows it like::
> +
> + [..] virt/tdx: Enable Dynamic PAMT
> + [..] virt/tdx: 10092 KB allocated for PAMT
> + [..] virt/tdx: TDX-Module initialized
> +
> +Dynamic PAMT is only enabled when supported and the ``tdx_dpamt=`` kernel
> +parameter is set to "on". The feature is off by default because TDX module
> +internal details prevent Dynamic PAMT from working on all keyid partitioning
> +configurations. When the TDX module is fixed to include these constraints in
> +its enumeration of Dynamic PAMT support, kernel support can be changed to
> +default on. For more information, consult the Intel TDX documentation about
> +Dynamic PAMT.