From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.96.140; helo=cam-smtp0.cambridge.arm.com; envelope-from=sami.mujawar@arm.com; receiver=edk2-devel@lists.01.org Received: from cam-smtp0.cambridge.arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E351F220E8E04 for ; Thu, 26 Apr 2018 08:41:21 -0700 (PDT) Received: from E107187.Emea.Arm.com (e107187.emea.arm.com [10.1.211.22]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w3QFfBvs004135; Thu, 26 Apr 2018 16:41:12 +0100 From: Sami Mujawar To: edk2-devel@lists.01.org Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, Matteo.Carlini@arm.com, Stephanie.Hughes-Fitt@arm.com, nd@arm.com, michael.d.kinney@intel.com, liming.gao@intel.com, evan.lloyd@arm.com Date: Thu, 26 Apr 2018 16:41:05 +0100 Message-Id: <20180426154106.131664-2-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20180426154106.131664-1-sami.mujawar@arm.com> References: <20180426154106.131664-1-sami.mujawar@arm.com> Subject: [PATCH v1 1/2] MdePkg: SMMUv3 updates for IORT table definitions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2018 15:41:22 -0000 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 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 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.
+ Copyright (c) 2018, ARM Limited. All rights reserved.
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)'