]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: IORT Specification Rev D updates
authorSami Mujawar <sami.mujawar@arm.com>
Thu, 26 Apr 2018 15:41:06 +0000 (23:41 +0800)
committerLiming Gao <liming.gao@intel.com>
Thu, 28 Jun 2018 13:05:14 +0000 (21:05 +0800)
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>
MdePkg/Include/IndustryStandard/IoRemappingTable.h

index 2e5cb45d7e2ffd4a0559ef706b71874843e3fdbd..389f352c2fbc725e5e9a881a73adc306035dc0de 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
-  ACPI IO Remapping Table (IORT) as specified in ARM spec DEN0049C\r
+  ACPI IO Remapping Table (IORT) as specified in ARM spec DEN0049D\r
 \r
-  http://infocenter.arm.com/help/topic/com.arm.doc.den0049c/DEN0049C_IO_Remapping_Table.pdf\r
+  http://infocenter.arm.com/help/topic/com.arm.doc.den0049d/DEN0049D_IO_Remapping_Table.pdf\r
 \r
   Copyright (c) 2017, Linaro Limited. All rights reserved.<BR>\r
   Copyright (c) 2018, ARM Limited. All rights reserved.<BR>\r
@@ -123,6 +123,8 @@ typedef struct {
 \r
   UINT32                                  AtsAttribute;\r
   UINT32                                  PciSegmentNumber;\r
+  UINT8                                   MemoryAddressSize;\r
+  UINT8                                   Reserved1[3];\r
 } EFI_ACPI_6_0_IO_REMAPPING_RC_NODE;\r
 \r
 ///\r
@@ -185,8 +187,7 @@ typedef struct {
   UINT32                                  Pri;\r
   UINT32                                  Gerr;\r
   UINT32                                  Sync;\r
-  UINT8                                   ProximityDomain;\r
-  UINT8                                   Reserved1[3];\r
+  UINT32                                  ProximityDomain;\r
   UINT32                                  DeviceIdMappingIndex;\r
 } EFI_ACPI_6_0_IO_REMAPPING_SMMU3_NODE;\r
 \r
@@ -199,6 +200,7 @@ typedef struct {
   UINT64                                  Base;\r
   UINT32                                  OverflowInterruptGsiv;\r
   UINT32                                  NodeReference;\r
+  UINT64                                  Page1Base;\r
 //EFI_ACPI_6_0_IO_REMAPPING_ID_TABLE      OverflowInterruptMsiMapping[1];\r
 } EFI_ACPI_6_0_IO_REMAPPING_PMCG_NODE;\r
 \r