Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 8a210b9ac03dc092dd65542bd676f82cec4fa374
      
https://github.com/tianocore/edk2/commit/8a210b9ac03dc092dd65542bd676f82cec4fa374
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c

  Log Message:
  -----------
  ShellPkg: Acpiview: Abbreviate field names to preserve alignment

Some field names in the IORT table parser were longer than the
OUTPUT_FIELD_COLUMN_WIDTH plus indentation, resulting in loss of
the output print alignment. Therefore, abbreviate the field names.

Signed-off-by: Sami Mujawar <sami.muja...@arm.com>
Reviewed-by: Zhichao Gao <zhichao....@intel.com>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>


  Commit: 65c4f3f2be30b01b48b5123ac84f84f9b91e8d4d
      
https://github.com/tianocore/edk2/commit/65c4f3f2be30b01b48b5123ac84f84f9b91e8d4d
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c

  Log Message:
  -----------
  DynamicTablesPkg: Handle error when IdMappingToken is NULL

Add error handling when the IdMappingCount is not zero and the
IdMappingToken is NULL.

Signed-off-by: Sami Mujawar <sami.muja...@arm.com>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>


  Commit: f5cea604a6df84e186f78e00f5863f15e3fe8a37
      
https://github.com/tianocore/edk2/commit/f5cea604a6df84e186f78e00f5863f15e3fe8a37
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c

  Log Message:
  -----------
  DynamicTablesPkg: IORT set reference to Id array only if present

The IORT table generator is setting up a reference to ID array for
nodes even when the ID Mapping count is zero. This is not an issue as an
OS would only access the ID Reference if the ID mapping count is not zero.

However, it would be good to set the reference to ID array to zero when
the ID Mapping count is zero rather than populating it with an incorrect
value.

Signed-off-by: Sami Mujawar <sami.muja...@arm.com>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>


  Commit: 238f903e8d5dbda0f9c0453c3623bfdcbd697304
      
https://github.com/tianocore/edk2/commit/238f903e8d5dbda0f9c0453c3623bfdcbd697304
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c

  Log Message:
  -----------
  DynamicTablesPkg: IORT set reference to interrupt array if present

The IORT generator is populating the reference field for Context and
PMU interrupts even if their count is zero.

Update the IORT generator to set the references only if the interrupt
count is not 0. Also add checks to ensure a valid reference token has
been provided.

Signed-off-by: Sami Mujawar <sami.muja...@arm.com>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>


  Commit: 4c55f6394fafe0494ec24e7c05cb68c938d7852d
      
https://github.com/tianocore/edk2/commit/4c55f6394fafe0494ec24e7c05cb68c938d7852d
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
    M MdePkg/Include/IndustryStandard/IoRemappingTable.h

  Log Message:
  -----------
  MdePkg: IORT header 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 header file to reflect these changes,
and also rename the EFI_ACPI_IO_REMAPPING_TABLE_REVISION macro to
EFI_ACPI_IO_REMAPPING_TABLE_REVISION_00.

Also update the IORT generator in DynamicTablesPkg to fix the
compilation errors so that Git Bisect can work.

Signed-off-by: Sami Mujawar <sami.muja...@arm.com>
Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>
Reviewed-by: Zhichao Gao <zhichao....@intel.com>


  Commit: cd67efa1b2e807bbea8516a1ab7a20c278176696
      
https://github.com/tianocore/edk2/commit/cd67efa1b2e807bbea8516a1ab7a20c278176696
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c

  Log Message:
  -----------
  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.muja...@arm.com>
Reviewed-by: Zhichao Gao <zhichao....@intel.com>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>


  Commit: de200b7e2c3c5bdb7b6eb8c3cc947ae6f053eb38
      
https://github.com/tianocore/edk2/commit/de200b7e2c3c5bdb7b6eb8c3cc947ae6f053eb38
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M DynamicTablesPkg/DynamicTablesPkg.ci.yaml
    M DynamicTablesPkg/Include/ArmNameSpaceObjects.h

  Log Message:
  -----------
  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.muja...@arm.com>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>


  Commit: e9150618ec91f79e70a1719ac8c198bee34a99be
      
https://github.com/tianocore/edk2/commit/e9150618ec91f79e70a1719ac8c198bee34a99be
  Author: Sami Mujawar <sami.muja...@arm.com>
  Date:   2022-07-29 (Fri, 29 Jul 2022)

  Changed paths:
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h

  Log Message:
  -----------
  DynamicTablesPkg: IORT generator updates for 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 generator to:
  - increment IORT table revision count to 5.
  - populate Identifier filed if revision is greater than 4.
  - add support to populate Reserved Memory Range nodes and
    the Memory range descriptors.
  - add validation to check that the Identifier field is
    unique.
  - Populate the PASID capabilities and Flags field of the
    Root complex node.
 - Added checks to not generate IORT Rev E, Rev E.<a,b,c>.

Signed-off-by: Sami Mujawar <sami.muja...@arm.com>
Reviewed-by: Pierre Gondois <pierre.gond...@arm.com>


Compare: https://github.com/tianocore/edk2/compare/0d0bfcb4571c...e9150618ec91


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to