From 157fb7bf29eea497b22025f53b5547e4748b6c2d Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Thu, 22 Jun 2017 11:00:06 +0000 Subject: [PATCH] MdePkg/IndustryStandard: update ACPI/IORT definitions to revision C This updates the IORT header to include the definitions that were added in revision C of the IORT spec that was made public recently. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel Reviewed-by: Star Zeng --- .../IndustryStandard/IoRemappingTable.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/IndustryStandard/IoRemappingTable.h b/MdePkg/Include/IndustryStandard/IoRemappingTable.h index 430df3b956..c113afdd27 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 DEN0049B + ACPI IO Remapping Table (IORT) as specified in ARM spec DEN0049C - http://infocenter.arm.com/help/topic/com.arm.doc.den0049b/DEN0049B_IO_Remapping_Table.pdf + http://infocenter.arm.com/help/topic/com.arm.doc.den0049c/DEN0049C_IO_Remapping_Table.pdf Copyright (c) 2017, Linaro Limited. All rights reserved.
@@ -26,6 +26,7 @@ #define EFI_ACPI_IORT_TYPE_ROOT_COMPLEX 0x2 #define EFI_ACPI_IORT_TYPE_SMMUv1v2 0x3 #define EFI_ACPI_IORT_TYPE_SMMUv3 0x4 +#define EFI_ACPI_IORT_TYPE_PMCG 0x5 #define EFI_ACPI_IORT_MEM_ACCESS_PROP_CCA BIT0 @@ -41,6 +42,8 @@ #define EFI_ACPI_IORT_SMMUv1v2_MODEL_v2 0x1 #define EFI_ACPI_IORT_SMMUv1v2_MODEL_MMU400 0x2 #define EFI_ACPI_IORT_SMMUv1v2_MODEL_MMU500 0x3 +#define EFI_ACPI_IORT_SMMUv1v2_MODEL_MMU401 0x4 +#define EFI_ACPI_IORT_SMMUv1v2_MODEL_CAVIUM_THX_v2 0x5 #define EFI_ACPI_IORT_SMMUv1v2_FLAG_DVM BIT0 #define EFI_ACPI_IORT_SMMUv1v2_FLAG_COH_WALK BIT1 @@ -178,6 +181,18 @@ typedef struct { UINT32 Sync; } EFI_ACPI_6_0_IO_REMAPPING_SMMU3_NODE; +/// +/// Node type 5: PMCG node +/// +typedef struct { + EFI_ACPI_6_0_IO_REMAPPING_NODE Node; + + UINT64 Base; + UINT32 OverflowInterruptGsiv; + UINT32 NodeReference; +//EFI_ACPI_6_0_IO_REMAPPING_ID_TABLE OverflowInterruptMsiMapping[1]; +} EFI_ACPI_6_0_IO_REMAPPING_PMCG_NODE; + #pragma pack() #endif