Re: [edk2] [PATCH v1 2/2] MdePkg: IORT Specification Rev D updates

2018-04-26 Thread Ard Biesheuvel
On 26 April 2018 at 17:41, Sami Mujawar  wrote:
> 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 
> Reviewed-by: Evan Lloyd 

Reviewed-by: Ard Biesheuvel 

> ---
> The changes can be seen at:
> https://github.com/samimujawar/edk2/tree/253_iort_update_v1
>
> Notes:
> v1:
> - Updated for IORT Specification Revision D.[SAMI]
>
>  MdePkg/Include/IndustryStandard/IoRemappingTable.h | 10 ++
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/MdePkg/Include/IndustryStandard/IoRemappingTable.h 
> b/MdePkg/Include/IndustryStandard/IoRemappingTable.h
> index 
> 2e5cb45d7e2ffd4a0559ef706b71874843e3fdbd..389f352c2fbc725e5e9a881a73adc306035dc0de
>  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.
>Copyright (c) 2018, ARM Limited. All rights reserved.
> @@ -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;
>
> --
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
>
>
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v1 2/2] MdePkg: IORT Specification Rev D updates

2018-04-26 Thread Sami Mujawar
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 
Reviewed-by: Evan Lloyd 
---
The changes can be seen at:
https://github.com/samimujawar/edk2/tree/253_iort_update_v1

Notes:
v1:
- Updated for IORT Specification Revision D.[SAMI]

 MdePkg/Include/IndustryStandard/IoRemappingTable.h | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/MdePkg/Include/IndustryStandard/IoRemappingTable.h 
b/MdePkg/Include/IndustryStandard/IoRemappingTable.h
index 
2e5cb45d7e2ffd4a0559ef706b71874843e3fdbd..389f352c2fbc725e5e9a881a73adc306035dc0de
 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.
   Copyright (c) 2018, ARM Limited. All rights reserved.
@@ -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;
 
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel