summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSami Mujawar <sami.mujawar@arm.com>2018-04-26 23:41:06 +0800
committerLiming Gao <liming.gao@intel.com>2018-06-28 21:05:14 +0800
commit1e2bf55e0971187e006cfd224281b086810d6d8c (patch)
tree5bbca321cbce5fe3fe67b30bc24a5b98bcaa9d06
parent27e9839185817c055aa59ee30c4d81dbcb6b212c (diff)
downloadedk2-1e2bf55e0971187e006cfd224281b086810d6d8c.tar.gz
edk2-1e2bf55e0971187e006cfd224281b086810d6d8c.tar.bz2
edk2-1e2bf55e0971187e006cfd224281b086810d6d8c.zip
MdePkg: IORT Specification Rev D updates
Updated IORT structure definitions to conform to the IO Remapping Table, Platform Design Document, Revision D, March 2018. The following structures have been updated: 1. SMMUv3 - fix on proximity node. 2. PMCG - added page 1 support. 3. Root complex node - added DMA mask (memory address size limit). Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Evan Lloyd <evan.lloyd@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
-rw-r--r--MdePkg/Include/IndustryStandard/IoRemappingTable.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/MdePkg/Include/IndustryStandard/IoRemappingTable.h b/MdePkg/Include/IndustryStandard/IoRemappingTable.h
index 2e5cb45d7e..389f352c2f 100644
--- a/MdePkg/Include/IndustryStandard/IoRemappingTable.h
+++ b/MdePkg/Include/IndustryStandard/IoRemappingTable.h
@@ -1,7 +1,7 @@
/** @file
- ACPI IO Remapping Table (IORT) as specified in ARM spec DEN0049C
+ ACPI IO Remapping Table (IORT) as specified in ARM spec DEN0049D
- http://infocenter.arm.com/help/topic/com.arm.doc.den0049c/DEN0049C_IO_Remapping_Table.pdf
+ http://infocenter.arm.com/help/topic/com.arm.doc.den0049d/DEN0049D_IO_Remapping_Table.pdf
Copyright (c) 2017, Linaro Limited. All rights reserved.<BR>
Copyright (c) 2018, ARM Limited. All rights reserved.<BR>
@@ -123,6 +123,8 @@ typedef struct {
UINT32 AtsAttribute;
UINT32 PciSegmentNumber;
+ UINT8 MemoryAddressSize;
+ UINT8 Reserved1[3];
} EFI_ACPI_6_0_IO_REMAPPING_RC_NODE;
///
@@ -185,8 +187,7 @@ typedef struct {
UINT32 Pri;
UINT32 Gerr;
UINT32 Sync;
- UINT8 ProximityDomain;
- UINT8 Reserved1[3];
+ UINT32 ProximityDomain;
UINT32 DeviceIdMappingIndex;
} EFI_ACPI_6_0_IO_REMAPPING_SMMU3_NODE;
@@ -199,6 +200,7 @@ typedef struct {
UINT64 Base;
UINT32 OverflowInterruptGsiv;
UINT32 NodeReference;
+ UINT64 Page1Base;
//EFI_ACPI_6_0_IO_REMAPPING_ID_TABLE OverflowInterruptMsiMapping[1];
} EFI_ACPI_6_0_IO_REMAPPING_PMCG_NODE;