From nobody Mon Apr 29 06:25:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+71718+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+71718+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1613559748934628.6473938734879; Wed, 17 Feb 2021 03:02:28 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 8IOkYY1788612xi7dn2WgDHX; Wed, 17 Feb 2021 03:02:26 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.5883.1613559745892646497 for ; Wed, 17 Feb 2021 03:02:26 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 845A831B; Wed, 17 Feb 2021 03:02:25 -0800 (PST) X-Received: from usa.arm.com (a074939-lin.blr.arm.com [10.162.16.84]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9C85B3F73B; Wed, 17 Feb 2021 03:02:23 -0800 (PST) From: "Vijayenthiran Subramaniam" To: sami.mujawar@arm.com, devel@edk2.groups.io, leif@nuviainc.com, ardb+tianocore@kernel.org Cc: thomas.abraham@arm.com Subject: [edk2-devel] [edk2-platforms] [PATCH v3 1/3] Platform/ARM/SgiPkg: Add helper macros for HMAT table Date: Wed, 17 Feb 2021 16:31:55 +0530 Message-Id: <1613559717-30499-2-git-send-email-vijayenthiran.subramaniam@arm.com> In-Reply-To: <1613559717-30499-1-git-send-email-vijayenthiran.subramaniam@arm.com> References: <1613559717-30499-1-git-send-email-vijayenthiran.subramaniam@arm.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,vijayenthiran.subramaniam@arm.com X-Gm-Message-State: 1fW9nPfNcNbfiyH0ZnG1WNCCx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1613559746; bh=mGtXuF+uTGC/BJkEyjt/65RaW+vLbmeBToBp1U8QyyA=; h=Cc:Date:From:Reply-To:Subject:To; b=LNKFDQXjwqEq9MMjcItjMY+eXKPnqUxqwHKblHtp+aL2omKWK4YNvBidBxR6IbaZwv2 kY7PTiVs1p8nnuYFtvLNtLIMTXxTwZZfotGlKi8LvA8zynH7Wt/XVHt0B4IdeSbaDmgrF UxgmVn8dNy3D9jeqtGig7YztC6rOLff8LEU= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add helper macros to create Memory Proximity Domain, System Locality Latency and Bandwidth Information, Memory Side Cache Information structures in the HMAT table. Signed-off-by: Vijayenthiran Subramaniam --- Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h | 113 +++++++++++++++++++- 1 file changed, 112 insertions(+), 1 deletion(-) diff --git a/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h b/Platform/ARM/Sgi= Pkg/Include/SgiAcpiHeader.h index 8d715de173c9..e27333d21b53 100644 --- a/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h +++ b/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h @@ -1,6 +1,6 @@ /** @file * -* Copyright (c) 2018-2020, ARM Limited. All rights reserved. +* Copyright (c) 2018-2021, ARM Limited. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -119,4 +119,115 @@ ACPIProcessorUID, Flags, ClockDomain = \ } =20 +// +// HMAT related structures +// +// Memory Proximity Domain Attributes Structure +// Refer Section 5.2.27.3 in ACPI Specification, Version 6.3 +#define EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INI= T( \ + Flags, ProximityDomainForAttachedIntiator, ProximityDomainForMemory) = \ + { = \ + EFI_ACPI_6_3_HMAT_TYPE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES= ), \ + { = \ + Flags, = \ + 0 = \ + }, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + ProximityDomainForAttachedIntiator, = \ + ProximityDomainForMemory, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + } = \ + } + +// System Locality Latency and Bandwidth Information Structure +// Refer Section 5.2.27.4 in ACPI Specification, Version 6.3 +#define EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_= INFO_INIT( \ + Flags, DataType, NumInitiatorProximityDomains, = \ + NumTargetProximityDomains, EntryBaseUnit) = \ + { = \ + EFI_ACPI_6_3_HMAT_TYPE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWI= DTH_INFO) + \ + (4 * NumInitiatorProximityDomains) + (4 * NumTargetProximityDomains)= + \ + (2 * NumInitiatorProximityDomains * NumTargetProximityDomains), = \ + { = \ + Flags, = \ + 0 = \ + }, = \ + DataType, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + NumInitiatorProximityDomains, = \ + NumTargetProximityDomains, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + EntryBaseUnit = \ + } + +// Memory Side Cache Information Structure +// Refer Section 5.2.27.5 in ACPI Specification, Version 6.3 +#define EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT( = \ + MemoryProximityDomain, MemorySideCacheSize, CacheAttributes, = \ + NumberOfSmbiosHandles) = \ + { = \ + EFI_ACPI_6_3_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO) + = \ + (NumberOfSmbiosHandles * 2), = \ + MemoryProximityDomain, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + MemorySideCacheSize, = \ + CacheAttributes, = \ + { = \ + EFI_ACPI_RESERVED_BYTE, = \ + EFI_ACPI_RESERVED_BYTE = \ + }, = \ + NumberOfSmbiosHandles = \ + } + #endif /* __SGI_ACPI_HEADER__ */ --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#71718): https://edk2.groups.io/g/devel/message/71718 Mute This Topic: https://groups.io/mt/80700689/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Mon Apr 29 06:25:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+71719+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+71719+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1613559749; cv=none; d=zohomail.com; s=zohoarc; b=LBnvYhvsF73T6bLifbOou9F31tN2cLN1xD66mQg+J/NE/0lgPWo8/MqfZSVL/C62nmR3mAxFnaoXU8bxPxjMP92HbgYduOvStZ1xQeN3UDJ4ET4tlRclrzY82YERjhFKUywGvQwJ9vaFiva1zHhTG0xEY5StYnKjd9KyIi237Rs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613559749; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=VaPrBWLjxrGg6q/zQxf+eeN/VsQkAqRhVeDJn32zoqk=; b=f8FVrqyQfknMfj/MhPmgZjTviI7Gqv8xBUc7F8owY9+iylxZTh+7V/TCevNgt1VQsx4Et2xu7vcYyRQIu141qff2KP71M3aFgQ5pyxcAZnuuyLlBuaSMNymwImRpn1elC1qkhJd3wGt5ALxVIP3xuK/l4FW+AuR9JbJtFIky5Xo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+71719+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1613559749964843.211772794073; Wed, 17 Feb 2021 03:02:29 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id YKIwYY1788612xJzM5Bcsspv; Wed, 17 Feb 2021 03:02:29 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.5885.1613559748304313496 for ; Wed, 17 Feb 2021 03:02:28 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DADFD31B; Wed, 17 Feb 2021 03:02:27 -0800 (PST) X-Received: from usa.arm.com (a074939-lin.blr.arm.com [10.162.16.84]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id F30303F73B; Wed, 17 Feb 2021 03:02:25 -0800 (PST) From: "Vijayenthiran Subramaniam" To: sami.mujawar@arm.com, devel@edk2.groups.io, leif@nuviainc.com, ardb+tianocore@kernel.org Cc: thomas.abraham@arm.com Subject: [edk2-devel] [edk2-platforms] [PATCH v3 2/3] Platform/ARM/SgiPkg: Add HMAT ACPI table for RdN1EdgeX2 Date: Wed, 17 Feb 2021 16:31:56 +0530 Message-Id: <1613559717-30499-3-git-send-email-vijayenthiran.subramaniam@arm.com> In-Reply-To: <1613559717-30499-1-git-send-email-vijayenthiran.subramaniam@arm.com> References: <1613559717-30499-1-git-send-email-vijayenthiran.subramaniam@arm.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,vijayenthiran.subramaniam@arm.com X-Gm-Message-State: Ef9xnmS0IffIoiRsw0fKXDX2x1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1613559749; bh=37v0dITQjDWOL3B8k0LDhmV4nPiKtzpPjfB/mOjojuk=; h=Cc:Date:From:Reply-To:Subject:To; b=r6RiFpXdx3ptj8DxARTwcBoQ7rW+0Xlu0LwE8UzFzJbZJIbZojd+5reZun5TLzfJSVx Sxvf5WGcVZ3rkcqTwZP/ozsWJQhYbRGlssHWdN+IeyTVVpfXuM0odZl5LqpK51tW8D4QH VRyj7qZw0g8Q3b85cx0/dyCxR1REmfZ57Ig= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add HMAT table support for RD-N1-Edge dual-chip platform. The latencies mentioned in the table are hypothetical values and represents typical latency between two chips. These values are applicable only for RD-N1-Edge dual-chip fixed virtual and should not be reused for other platforms. Signed-off-by: Vijayenthiran Subramaniam --- Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 3 +- Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Hmat.aslc | 121 ++++++++++++= ++++++++ 2 files changed, 123 insertions(+), 1 deletion(-) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Plat= form/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf index d44f02ab0c16..db168c518e21 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf @@ -1,7 +1,7 @@ ## @file # ACPI table data and ASL sources required to boot the platform. # -# Copyright (c) 2020, ARM Ltd. All rights reserved. +# Copyright (c) 2020-2021, ARM Ltd. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -22,6 +22,7 @@ [Sources] Iort.aslc Mcfg.aslc RdN1Edge/Dsdt.asl + RdN1EdgeX2/Hmat.aslc RdN1EdgeX2/Madt.aslc RdN1EdgeX2/Srat.aslc Spcr.aslc diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Hmat.aslc b/Platform= /ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Hmat.aslc new file mode 100644 index 000000000000..b1351e9305ba --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Hmat.aslc @@ -0,0 +1,121 @@ +/** @file +* Heterogeneous Memory Attribute Table (HMAT) +* +* Copyright (c) 2020-2021, ARM Limited. All rights reserved. +* +* SPDX-License-Identifier: BSD-2-Clause-Patent +* +**/ + +#include +#include +#include +#include +#include + +#define CHIP_CNT FixedPcdGet32 (PcdChipCount) +#define INITATOR_PROXIMITY_DOMAIN_CNT 2 +#define TARGET_PROXIMITY_DOMAIN_CNT 2 + +// +// HMAT Table +// +#pragma pack (1) + +typedef struct InitiatorTargetProximityMatrix { + UINT32 InitatorProximityDomain[INITATOR_PROXIMITY_DOMAIN_CNT]; + UINT32 TargetProximityDomain[TARGET_PROXIMITY_DOMAIN_CNT]; + UINT16 MatrixEntry[INITATOR_PROXIMITY_DOMAIN_CNT * TARGET_PROXIMITY_DOM= AIN_CNT]; +} INITIATOR_TARGET_PROXIMITY_MATRIX; + +typedef struct { + EFI_ACPI_6_3_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_HEADER = Header; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES = Proximity[CHIP_CNT]; + EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO = LatencyInfo; + INITIATOR_TARGET_PROXIMITY_MATRIX = Matrix; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO = MemSideCache0; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO = MemSideCache1; +} EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE; + +#pragma pack () + +#define HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT( = \ + TotalCacheLevels, CacheLevel, CacheAssociativity, WritePolicy, CacheLine= Size \ + ) = \ +{ = \ + TotalCacheLevels, CacheLevel, CacheAssociativity, WritePolicy, CacheLine= Size \ +} + +EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE Hmat =3D { + // Header + { + ARM_ACPI_HEADER ( + EFI_ACPI_6_3_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_SIGNATURE, + EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE, + EFI_ACPI_6_3_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_REVISION + ), + { + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE + }, + }, + + // Memory Proximity Domain + { + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT ( + 1, 0x0, 0x0), + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT ( + 1, 0x1, 0x1), + }, + + // Latency Info + EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_I= NIT ( + 0, 0, INITATOR_PROXIMITY_DOMAIN_CNT, TARGET_PROXIMITY_DOMAIN_CNT, 100), + { + {0, 1}, + {0, 1}, + { + // + // The latencies mentioned in this table are hypothetical values and + // represents typical latency between two chips. These values are + // applicable only for RD-N1-Edge dual-chip fixed virtual platform a= nd + // should not be reused for other platforms. + // + 10, 20, + 20, 10, + } + }, + + // Memory Side Cache + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT ( + 0x0, + SIZE_8MB, + HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT ( + 1, + 1, + 2, + 2, + 64 // 64 bytes cache line length + ), + 0), + + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT ( + 0x1, + SIZE_8MB, + HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT ( + 1, + 1, + 2, + 2, + 64 // 64 bytes cache line length + ), + 0), +}; + +// +// Reference the table being generated to prevent the optimizer from remov= ing +// the data structure from the executable +// +VOID* CONST ReferenceAcpiTable =3D &Hmat; --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#71719): https://edk2.groups.io/g/devel/message/71719 Mute This Topic: https://groups.io/mt/80700690/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Mon Apr 29 06:25:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+71720+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+71720+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1613559756; cv=none; d=zohomail.com; s=zohoarc; b=CXv8+ivkJHhLms2WC9Gw3WSO/I0u9F0gfKoE6Yl6BJ9gruigdmTXrqKbJr3f0dl8L4huSc48auHXXUhhCbSYG6XcUJCGzZ5qjb3PKLJPB4zI4+2LTFPn17zn+uyebHdcHm/drGG7sxv91ZmGV7bLPjy3A/TrkNGtPrRjTuqvFy4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613559756; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=iWbToPGteRL6QEgsfmErTCQLma420KxrHq8SW9oGiWk=; b=n/Oh41FoHLF8zCdyTvlAbreUm49Vu83ttKORzuyTKrTbCRAyBIZgAKaXhrEi2mrbm+nfTLE4z85W/XrprzVDWDw+wF5warkkvTLMxpE4UnmGLSfDUNSWBeIJLPzMBOfQWi0EeEK25RnZi//hU/RiCFmbzD+Cw+trTfQlq80dYsg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+71720+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1613559756546941.6731669316409; Wed, 17 Feb 2021 03:02:36 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 3ipYYY1788612xjUXQHLuD4g; Wed, 17 Feb 2021 03:02:36 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.5859.1613559750533802600 for ; Wed, 17 Feb 2021 03:02:35 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3D63F31B; Wed, 17 Feb 2021 03:02:30 -0800 (PST) X-Received: from usa.arm.com (a074939-lin.blr.arm.com [10.162.16.84]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 555223F73B; Wed, 17 Feb 2021 03:02:28 -0800 (PST) From: "Vijayenthiran Subramaniam" To: sami.mujawar@arm.com, devel@edk2.groups.io, leif@nuviainc.com, ardb+tianocore@kernel.org Cc: thomas.abraham@arm.com Subject: [edk2-devel] [edk2-platforms] [PATCH v3 3/3] Platform/ARM/SgiPkg: Add HMAT ACPI table for RD-V1-MC Date: Wed, 17 Feb 2021 16:31:57 +0530 Message-Id: <1613559717-30499-4-git-send-email-vijayenthiran.subramaniam@arm.com> In-Reply-To: <1613559717-30499-1-git-send-email-vijayenthiran.subramaniam@arm.com> References: <1613559717-30499-1-git-send-email-vijayenthiran.subramaniam@arm.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,vijayenthiran.subramaniam@arm.com X-Gm-Message-State: DeB6ed31u1YzW7vpysoMHekAx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1613559756; bh=EMOcUdc34QdYxZAkTdKPdEVrhp4BFgSnjeIlae5WuR0=; h=Cc:Date:From:Reply-To:Subject:To; b=tLp7lMbhCV9xyawarB1pzvzwKKT31JA4lc9/ji36Pd8YSTY72qQyy65/Dc74nWTRYqX K/wx56dy893NWU4OLKp3d4+lxFq9BLUWCLAut8jK0r7r/bnvGwLwGX2EGaTLUJd89r6nT 4rHte7Nd07XZyw7Yj1Hy7+n1J2rYQYsjdxI= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add HMAT ACPI tables that is specific for RD-V1-MC quad-chip platform. The latencies mentioned in the table are hypothetical values and represents typical latency between four chips. These values are applicable only for RD-V1-MC quad-chip fixed virtual and should not be reused for other platforms. Signed-off-by: Vijayenthiran Subramaniam --- Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 3 +- Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Hmat.aslc | 153 ++++++++++++++++= ++++ 2 files changed, 155 insertions(+), 1 deletion(-) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform= /ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf index 051825993af0..04edfc487738 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf @@ -1,7 +1,7 @@ ## @file # ACPI table data and ASL sources required to boot the platform. # -# Copyright (c) 2020, Arm Ltd. All rights reserved. +# Copyright (c) 2020-2021, Arm Ltd. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -22,6 +22,7 @@ [Sources] Iort.aslc Mcfg.aslc RdV1Mc/Dsdt.asl + RdV1Mc/Hmat.aslc RdV1Mc/Madt.aslc RdV1Mc/Srat.aslc Spcr.aslc diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Hmat.aslc b/Platform/ARM= /SgiPkg/AcpiTables/RdV1Mc/Hmat.aslc new file mode 100644 index 000000000000..c47633eb4dd3 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Hmat.aslc @@ -0,0 +1,153 @@ +/** @file +* Heterogeneous Memory Attribute Table (HMAT) +* +* Copyright (c) 2020-2021, ARM Limited. All rights reserved. +* +* SPDX-License-Identifier: BSD-2-Clause-Patent +* +**/ + +#include +#include +#include +#include +#include + +#define CHIP_CNT FixedPcdGet32 (PcdChipCount) +#define INITATOR_PROXIMITY_DOMAIN_CNT 4 +#define TARGET_PROXIMITY_DOMAIN_CNT 4 + +// +// HMAT Table +// +#pragma pack (1) + +typedef struct InitiatorTargetProximityMatrix { + UINT32 InitatorProximityDomain[INITATOR_PROXIMITY_DOMAIN_CNT]; + UINT32 TargetProximityDomain[TARGET_PROXIMITY_DOMAIN_CNT]; + UINT16 MatrixEntry[INITATOR_PROXIMITY_DOMAIN_CNT * TARGET_PROXIMITY_DOM= AIN_CNT]; +} INITIATOR_TARGET_PROXIMITY_MATRIX; + +typedef struct { + EFI_ACPI_6_3_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_HEADER = Header; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES = Proximity[CHIP_CNT]; + EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO = LatencyInfo; + INITIATOR_TARGET_PROXIMITY_MATRIX = Matrix; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO = MemSideCache0; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO = MemSideCache1; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO = MemSideCache2; + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO = MemSideCache3; +} EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE; + +#pragma pack () + +#define HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT( = \ + TotalCacheLevels, CacheLevel, CacheAssociativity, WritePolicy, CacheLine= Size \ + ) = \ +{ = \ + TotalCacheLevels, CacheLevel, CacheAssociativity, WritePolicy, CacheLine= Size \ +} + +EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE Hmat =3D { + // Header + { + ARM_ACPI_HEADER ( + EFI_ACPI_6_3_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_SIGNATURE, + EFI_ACPI_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE, + EFI_ACPI_6_3_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_REVISION + ), + { + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE, + EFI_ACPI_RESERVED_BYTE + }, + }, + + // Memory Proximity Domain + { + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT ( + 1, 0x0, 0x0), + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT ( + 1, 0x1, 0x1), + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT ( + 1, 0x2, 0x2), + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT ( + 1, 0x3, 0x3), + }, + + // Latency Info + EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_I= NIT ( + 0, 0, INITATOR_PROXIMITY_DOMAIN_CNT, TARGET_PROXIMITY_DOMAIN_CNT, 100), + { + {0, 1, 2, 3}, + {0, 1, 2, 3}, + { + // + // The latencies mentioned in this table are hypothetical values and + // represents typical latency between four chips. These values are + // applicable only for RD-V1-MC quad-chip fixed virtual platform and + // should not be reused for other platforms. + // + 10, 20, 20, 20, + 20, 10, 20, 20, + 20, 20, 10, 20, + 20, 20, 20, 10, + } + }, + + // Memory Side Cache + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT ( + 0x0, + SIZE_1GB, + HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT ( + 1, + 1, + 2, + 2, + 64 // 64 bytes cache line length + ), + 0), + + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT ( + 0x1, + SIZE_1GB, + HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT ( + 1, + 1, + 2, + 2, + 64 // 64 bytes cache line length + ), + 0), + + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT ( + 0x2, + SIZE_1GB, + HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT ( + 1, + 1, + 2, + 2, + 64 // 64 bytes cache line length + ), + 0), + + EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_INIT ( + 0x3, + SIZE_1GB, + HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES_INIT ( + 1, + 1, + 2, + 2, + 64 // 64 bytes cache line length + ), + 0), +}; + +// +// Reference the table being generated to prevent the optimizer from remov= ing +// the data structure from the executable +// +VOID* CONST ReferenceAcpiTable =3D &Hmat; --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#71720): https://edk2.groups.io/g/devel/message/71720 Mute This Topic: https://groups.io/mt/80700692/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-