Updated the IORT SMMUv3 Node structure and flags to match the IO Remapping Table, Platform Design Document, Revision C dated 15 MAY 2017.
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.muja...@arm.com> Reviewed-by: Evan Lloyd <evan.ll...@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheu...@linaro.org> --- The changes can be seen at: https://github.com/samimujawar/edk2/tree/253_iort_update_v1 Notes: v1: - Updated SMMUv3 node structure and associated flags. [SAMI] - Patch ACKed by Ard Biesheuvel. [Ard] - A new version of the IORT specification has been released. [Liming] - This patch was submitted before the new IORT specification was published. Submitting separate patch for the IORT spec Rev D updated. [SAMI] MdePkg/Include/IndustryStandard/IoRemappingTable.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/MdePkg/Include/IndustryStandard/IoRemappingTable.h b/MdePkg/Include/IndustryStandard/IoRemappingTable.h index c113afdd27843111bc7ad6e1de1108260fad2bbc..2e5cb45d7e2ffd4a0559ef706b71874843e3fdbd 100644 --- a/MdePkg/Include/IndustryStandard/IoRemappingTable.h +++ b/MdePkg/Include/IndustryStandard/IoRemappingTable.h @@ -4,6 +4,7 @@ http://infocenter.arm.com/help/topic/com.arm.doc.den0049c/DEN0049C_IO_Remapping_Table.pdf Copyright (c) 2017, Linaro Limited. All rights reserved.<BR> + Copyright (c) 2018, ARM Limited. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -53,6 +54,11 @@ #define EFI_ACPI_IORT_SMMUv3_FLAG_COHAC_OVERRIDE BIT0 #define EFI_ACPI_IORT_SMMUv3_FLAG_HTTU_OVERRIDE BIT1 +#define EFI_ACPI_IORT_SMMUv3_FLAG_PROXIMITY_DOMAIN BIT3 + +#define EFI_ACPI_IORT_SMMUv3_MODEL_GENERIC 0x0 +#define EFI_ACPI_IORT_SMMUv3_MODEL_HISILICON_HI161X 0x1 +#define EFI_ACPI_IORT_SMMUv3_MODEL_CAVIUM_CN99XX 0x2 #define EFI_ACPI_IORT_ROOT_COMPLEX_ATS_UNSUPPORTED 0x0 #define EFI_ACPI_IORT_ROOT_COMPLEX_ATS_SUPPORTED 0x1 @@ -165,7 +171,7 @@ typedef struct { } EFI_ACPI_6_0_IO_REMAPPING_SMMU_NODE; /// -/// Node type 4: SMMUv4 node +/// Node type 4: SMMUv3 node /// typedef struct { EFI_ACPI_6_0_IO_REMAPPING_NODE Node; @@ -179,6 +185,9 @@ typedef struct { UINT32 Pri; UINT32 Gerr; UINT32 Sync; + UINT8 ProximityDomain; + UINT8 Reserved1[3]; + UINT32 DeviceIdMappingIndex; } EFI_ACPI_6_0_IO_REMAPPING_SMMU3_NODE; /// -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel