]> git.proxmox.com Git - mirror_edk2.git/commit - DynamicTablesPkg/Include/ArmNameSpaceObjects.h
DynamicTablesPkg: Update ArmNameSpaceObjects for IORT Rev E.d
authorSami Mujawar <sami.mujawar@arm.com>
Thu, 14 Jul 2022 16:50:30 +0000 (17:50 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 29 Jul 2022 19:22:15 +0000 (19:22 +0000)
commitde200b7e2c3c5bdb7b6eb8c3cc947ae6f053eb38
tree1398d89e827cd7ef9868d3a58fc133620f19abc0
parentcd67efa1b2e807bbea8516a1ab7a20c278176696
DynamicTablesPkg: Update ArmNameSpaceObjects for IORT Rev E.d

Bugzilla: 3458 - Add support IORT Rev E.d specification updates
          (https://bugzilla.tianocore.org/show_bug.cgi?id=3458)

The IO Remapping Table, Platform Design Document, Revision E.d,
    Feb 2022 (https://developer.arm.com/documentation/den0049/)
    introduces the following updates, collectively including the
    updates and errata fixes to Rev E, Rev E.a, Rev E.b, Rev E.c:
     - increments the IORT table revision to 5.
     - updates the node definition to add an 'Identifier' field.
     - adds definition of node type 6 - Reserved Memory Range node.
     - adds definition for Memory Range Descriptors.
     - adds flag to indicate PRI support for root complexes.
     - adds flag to indicate if the root complex supports forwarding
       of PASID information on translated transactions to the SMMU.
     - adds flag to indicate if the root complex supports PASID.
     - adds flags to define access privilege and attributes for the
       memory ranges.

Therefore, update the Arm namespace objects to:
  - add Identifier field to IORT nodes.
  - introduce enums to represent RMR nodes and Memory Range
    descriptors.
  - add definition of node type 6 - Reserved Memory Range node.
  - add definition for Memory Range Descriptors.
  - add PASID capabilities and flags field to Root Complex node.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
DynamicTablesPkg/DynamicTablesPkg.ci.yaml
DynamicTablesPkg/Include/ArmNameSpaceObjects.h