]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg: acpiview: IORT Spec Rev D updates
authorSami Mujawar <sami.mujawar@arm.com>
Mon, 25 Nov 2019 09:18:13 +0000 (17:18 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Thu, 5 Dec 2019 06:12:36 +0000 (06:12 +0000)
Updated IORT parser to conform to the IO Remapping
Table, Platform Design Document, Revision D, March 2018.

The following structure parsers have been updated:
  1. SMMUv3 - added proximity domain and device Id
              mapping index.
  2. RootComplex - added memory address size limit.
  2. PMCG - added page 1 support.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c

index f1cdb9ac01d848f22ab588d8f824886387c5983d..72289c7680bc3cd5c444481e8d6a719803202a9b 100644 (file)
@@ -5,7 +5,7 @@
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
   @par Reference(s):\r
-    - IO Remapping Table, Platform Design Document, Revision C, 15 May 2017\r
+    - IO Remapping Table, Platform Design Document, Revision D, March 2018\r
 **/\r
 \r
 #include <IndustryStandard/IoRemappingTable.h>\r
@@ -193,7 +193,9 @@ STATIC CONST ACPI_PARSER IortNodeSmmuV3Parser[] = {
   {L"Event", 4, 44, L"0x%x", NULL, NULL, NULL, NULL},\r
   {L"PRI", 4, 48, L"0x%x", NULL, NULL, NULL, NULL},\r
   {L"GERR", 4, 52, L"0x%x", NULL, NULL, NULL, NULL},\r
-  {L"Sync", 4, 56, L"0x%x", NULL, NULL, NULL, NULL}\r
+  {L"Sync", 4, 56, L"0x%x", NULL, NULL, NULL, NULL},\r
+  {L"Proximity domain", 4, 60, L"0x%x", NULL, NULL, NULL, NULL},\r
+  {L"Device ID mapping index", 4, 64, L"%d", NULL, NULL, NULL, NULL}\r
 };\r
 \r
 /**\r
@@ -231,7 +233,9 @@ STATIC CONST ACPI_PARSER IortNodeRootComplexParser[] = {
   PARSE_IORT_NODE_HEADER (NULL, NULL),\r
   {L"Memory access properties", 8, 16, L"0x%lx", NULL, NULL, NULL, NULL},\r
   {L"ATS Attribute", 4, 24, L"0x%x", NULL, NULL, NULL, NULL},\r
-  {L"PCI Segment number", 4, 28, L"0x%x", NULL, NULL, NULL, NULL}\r
+  {L"PCI Segment number", 4, 28, L"0x%x", NULL, NULL, NULL, NULL},\r
+  {L"Memory access size limit", 1, 32, L"0x%x", NULL, NULL, NULL, NULL},\r
+  {L"Reserved", 3, 33, L"%x %x %x", Dump3Chars, NULL, NULL, NULL}\r
 };\r
 \r
 /**\r
@@ -239,9 +243,10 @@ STATIC CONST ACPI_PARSER IortNodeRootComplexParser[] = {
 **/\r
 STATIC CONST ACPI_PARSER IortNodePmcgParser[] = {\r
   PARSE_IORT_NODE_HEADER (ValidatePmcgIdMappingCount, NULL),\r
-  {L"Base Address", 8, 16, L"0x%lx", NULL, NULL, NULL, NULL},\r
+  {L"Page 0 Base Address", 8, 16, L"0x%lx", NULL, NULL, NULL, NULL},\r
   {L"Overflow interrupt GSIV", 4, 24, L"0x%x", NULL, NULL, NULL, NULL},\r
   {L"Node reference", 4, 28, L"0x%x", NULL, NULL, NULL, NULL},\r
+  {L"Page 1 Base Address", 8, 32, L"0x%lx", NULL, NULL, NULL, NULL}\r
 };\r
 \r
 /**\r