Re: [PATCH V1 1/3] ACPICA: IORT: Add Root Complex PASID Flags field

Jason Gunthorpe
2026-04-23T22:43:20Z

On Fri, Apr 24, 2026 at 12:44:15AM +0530, Vidya Sagar wrote:
> The IORT spec, Issue E.c (ARM DEN 0049E.c, January 2022), bumps the
> Root Complex Node to revision 4 and adds two PASID descriptors:
>
> - PASID Capabilities at byte offset 33 (2 bytes), bits[4:0] of which
> report the Max PASID Width supported by the Root Complex.
> - Flags at byte offset 36 (4 bytes), bit 0 of which reports whether
> the Root Complex itself supports PASID. This is distinct from the
> existing ATS Attribute bit 2 (at offset 24) that only reports
> whether the RC forwards PASID information on translated
> transactions.
>
> The ACPICA struct in include/acpi/actbl2.h was updated for the E.c
> PASID Capabilities descriptor (offset 33) but stops short with a
> trailing 'u8 reserved[]' flexible array, so the new Flags field at
> offset 36 is unreachable and the existing ACPI_IORT_PASID_*
> definitions have no consumer.
>
> Replace the trailing flexible array with a fixed 'u8 reserved[1]'
> followed by 'u32 flags' so the struct fully covers RC node revision 4,
> and add the ACPI_IORT_RC_PASID_SUPPORTED mask for bit 0 of the new
> field. With #pragma pack(1) in effect for actbl2.h, this lands the new
> field at the spec-mandated absolute offset 36.
>
> Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
> ---
> include/acpi/actbl2.h | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)

There is a whole process to change this file, I went through it once
for canwbs..

https://lore.kernel.org/acpica-devel/2-v3-e2e16cd7467f+2a6a1-smmuv3_nesting_jgg@nvidia.com/

You have to make a pull request here:

https://github.com/acpica/acpica/pulls

And then use the

generate/linux/make-patches.sh -u <commit-id>

Script to make this patch for linux in the perscribed format.

I think, something like that

Jason