diff options
author | Sami Mujawar <sami.mujawar@arm.com> | 2019-11-25 17:18:13 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2019-12-05 06:12:36 +0000 |
commit | 965dbf97abec6b999b2dddb75ef746deed354019 (patch) | |
tree | f9452f9debfd916eddd2fc3470a6169f829173ce /ShellPkg | |
parent | d5cf0fba204d967c0df2c5404a472331656308e2 (diff) | |
download | edk2-965dbf97abec6b999b2dddb75ef746deed354019.tar.gz |
ShellPkg: acpiview: IORT Spec Rev D updates
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>
Diffstat (limited to 'ShellPkg')
-rw-r--r-- | ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c index f1cdb9ac01..72289c7680 100644 --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c @@ -5,7 +5,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
- - IO Remapping Table, Platform Design Document, Revision C, 15 May 2017
+ - IO Remapping Table, Platform Design Document, Revision D, March 2018
**/
#include <IndustryStandard/IoRemappingTable.h>
@@ -193,7 +193,9 @@ STATIC CONST ACPI_PARSER IortNodeSmmuV3Parser[] = { {L"Event", 4, 44, L"0x%x", NULL, NULL, NULL, NULL},
{L"PRI", 4, 48, L"0x%x", NULL, NULL, NULL, NULL},
{L"GERR", 4, 52, L"0x%x", NULL, NULL, NULL, NULL},
- {L"Sync", 4, 56, L"0x%x", NULL, NULL, NULL, NULL}
+ {L"Sync", 4, 56, L"0x%x", NULL, NULL, NULL, NULL},
+ {L"Proximity domain", 4, 60, L"0x%x", NULL, NULL, NULL, NULL},
+ {L"Device ID mapping index", 4, 64, L"%d", NULL, NULL, NULL, NULL}
};
/**
@@ -231,7 +233,9 @@ STATIC CONST ACPI_PARSER IortNodeRootComplexParser[] = { PARSE_IORT_NODE_HEADER (NULL, NULL),
{L"Memory access properties", 8, 16, L"0x%lx", NULL, NULL, NULL, NULL},
{L"ATS Attribute", 4, 24, L"0x%x", NULL, NULL, NULL, NULL},
- {L"PCI Segment number", 4, 28, L"0x%x", NULL, NULL, NULL, NULL}
+ {L"PCI Segment number", 4, 28, L"0x%x", NULL, NULL, NULL, NULL},
+ {L"Memory access size limit", 1, 32, L"0x%x", NULL, NULL, NULL, NULL},
+ {L"Reserved", 3, 33, L"%x %x %x", Dump3Chars, NULL, NULL, NULL}
};
/**
@@ -239,9 +243,10 @@ STATIC CONST ACPI_PARSER IortNodeRootComplexParser[] = { **/
STATIC CONST ACPI_PARSER IortNodePmcgParser[] = {
PARSE_IORT_NODE_HEADER (ValidatePmcgIdMappingCount, NULL),
- {L"Base Address", 8, 16, L"0x%lx", NULL, NULL, NULL, NULL},
+ {L"Page 0 Base Address", 8, 16, L"0x%lx", NULL, NULL, NULL, NULL},
{L"Overflow interrupt GSIV", 4, 24, L"0x%x", NULL, NULL, NULL, NULL},
{L"Node reference", 4, 28, L"0x%x", NULL, NULL, NULL, NULL},
+ {L"Page 1 Base Address", 8, 32, L"0x%lx", NULL, NULL, NULL, NULL}
};
/**
|