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

Jason Gunthorpe jgg at ziepe.ca
Thu Apr 23 15:43:18 PDT 2026


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 at 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



More information about the linux-arm-kernel mailing list