audk/ShellPkg/Library
Sami Mujawar cd67efa1b2 ShellPkg: Acpiview: IORT parser update for IORT Rev E.d spec
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 IORT parser to:
  - parse the Identifier field.
  - parse Reserved Memory Range node.
  - parse Memory Range Descriptors.
  - add validations to check that the physical range base
    and size of the Memory Range Descriptor is 64KB aligned.
  - add validation to check that the IORT Table Revision is
    not 4 as IORT Rev E.c is deprecated.
  - add validation to check that the IORT RMR node revision
    is not 2 as it breaks backward compatibility and was
    deprecated as part of IORT Rev E.c.
  - skip parsing of IORT Rev E, Rev E.a, Rev E.b, Rev E.c as
    some fields were deprecated in these revisions.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
2022-07-29 19:22:15 +00:00
..
UefiHandleParsingLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellAcpiViewCommandLib ShellPkg: Acpiview: IORT parser update for IORT Rev E.d spec 2022-07-29 19:22:15 +00:00
UefiShellBcfgCommandLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellCEntryLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellCommandLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellDebug1CommandsLib ShellPkg: Update smbiosview type 0 with SMBIOS 3.5 fields 2022-04-25 07:20:26 +00:00
UefiShellDriver1CommandsLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellInstall1CommandsLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellLevel1CommandsLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellLevel2CommandsLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellLevel3CommandsLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiShellNetwork1CommandsLib ShellPkg: Fix Ping GetTimerPeriod API failure 2022-02-16 08:09:46 +00:00
UefiShellNetwork2CommandsLib ShellPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00