From nobody Sat May 4 03:27:12 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+71099+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+71099+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1612343285; cv=none; d=zohomail.com; s=zohoarc; b=PImGmT1yROnsxrPdVhR/Wk35djBEDfMn4AWq8pRSjqpXX0o1G0cFqchz07opk0euyNP4YCfAunHtDBodkWEyNLyRybEHHKmnsrsSortCMfTNb0hYfv1BNpRtf3y5TzEK6B2IItWvvDddmkO0iLOi0chcObTNR2MG+0yeB+BElT8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1612343285; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=nU22n1L8V2mFWwItsTtLgD+SM3jfR7tkempAi9CiyY8=; b=BOIGR9GspcnhHQLxC8GZAXajbSD1BGDxbMCTxEIEJ8f+1Aa8d5jtbuPK4zK5nJIe5/9wSO1znISBeAVXcWvefQnmV3Ql5UWgOjRu8m58LTmnGu8zhSfbhIlMYVW63atiXx/kBNeC+qnWQhydkpxT2aU/8OTc4iDWmDZW8NAX+/o= 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+71099+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 1612343285387985.4016240308682; Wed, 3 Feb 2021 01:08:05 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id Z6WDYY1788612xKQMgExLkU3; Wed, 03 Feb 2021 01:08:05 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web08.6848.1612343274137299238 for ; Wed, 03 Feb 2021 01:07:54 -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 BA5A5139F; Wed, 3 Feb 2021 01:07:48 -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 98F4D3F694; Wed, 3 Feb 2021 01:07:46 -0800 (PST) From: "Vijayenthiran Subramaniam" To: devel@edk2.groups.io, Jonathan.Cameron@Huawei.com, leif@nuviainc.com, ardb+tianocore@kernel.org, sami.mujawar@arm.com Cc: thomas.abraham@arm.com Subject: [edk2-devel] [edk2-platforms] [PATCH v2 1/3] Platform/ARM/SgiPkg: Add helper macros for HMAT table Date: Wed, 3 Feb 2021 14:37:15 +0530 Message-Id: <1612343237-27310-2-git-send-email-vijayenthiran.subramaniam@arm.com> In-Reply-To: <1612343237-27310-1-git-send-email-vijayenthiran.subramaniam@arm.com> References: <1612343237-27310-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: yn8X06bXBWsihygZaS4bnzOfx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1612343285; bh=XBBbn9OrwHT7YBN3w8zScj+4odtV5bXh4GgmXUwSTc4=; h=Cc:Date:From:Reply-To:Subject:To; b=VowM15NQhwDBXd1TLBkWCtc+w4AzPCB6Vd17Lyuk25jrgqMbtayBn9TVRBSbbeYZQBC vuaKkuk64Y2RV4cXyN/1AqtCy9Ei1Km8FyPpCmTmD/9fW7eU4EqMCstUy4RI3PgDD4h9G t30npzMdoVYT8CWslqPZ0kLpEjlvGGofIvI= 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 | 110 ++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h b/Platform/ARM/Sgi= Pkg/Include/SgiAcpiHeader.h index 8d715de173c9..181d9d771d1e 100644 --- a/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h +++ b/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h @@ -119,4 +119,114 @@ 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) = \ + { = \ + 0, = \ + { = \ + 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) = \ + { = \ + 1, = \ + { = \ + 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) = \ + { = \ + 2, = \ + { = \ + 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 (#71099): https://edk2.groups.io/g/devel/message/71099 Mute This Topic: https://groups.io/mt/80349469/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 Sat May 4 03:27:12 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+71102+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+71102+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1612343278; cv=none; d=zohomail.com; s=zohoarc; b=F7gBHetkXz0lG5PU/7YIoFji9i9mCHMOKMg+V13RLW0WyXKXfIBSuEOxBxyc7NI0zNImRaxO8jCDXEhIR+qob64BYjH7Orw8H1BB6eoAM532F4O/Q0dE3XDw+kvVKAlUDrnSBCCP0tyjcPqX2mc76Sya8Lb9hEax6vhHCP2IRtk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1612343278; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=Ss8jPY97m3JxmKammzXd+oLqy4OvUl+k9eqtw5bmhJA=; b=RnqD6b4mRYyj50z0UQnrJcO0/mmENU1J6AT55WbcTq/FvrDyizV55pLjE/il6zQ8uEYwjxXpzHYE2gSai8WAH+rZ8mVrs936LagiT1BdTiNEfdQoTpIMDWaD3Mp0ciHS3cag9xH+AnqcOfFWYQuRNa+WfA9qAlifXSh1sufnakM= 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+71102+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 1612343278903941.7806717683386; Wed, 3 Feb 2021 01:07:58 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id ayYZYY1788612xnKOInXJZ9H; Wed, 03 Feb 2021 01:07:58 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.6875.1612343276807089758 for ; Wed, 03 Feb 2021 01:07:56 -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 563C913D5; Wed, 3 Feb 2021 01:07:51 -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 351D43F694; Wed, 3 Feb 2021 01:07:48 -0800 (PST) From: "Vijayenthiran Subramaniam" To: devel@edk2.groups.io, Jonathan.Cameron@Huawei.com, leif@nuviainc.com, ardb+tianocore@kernel.org, sami.mujawar@arm.com Cc: thomas.abraham@arm.com Subject: [edk2-devel] [edk2-platforms] [PATCH v2 2/3] Platform/ARM/SgiPkg: Add HMAT ACPI table for RdN1EdgeX2 Date: Wed, 3 Feb 2021 14:37:16 +0530 Message-Id: <1612343237-27310-3-git-send-email-vijayenthiran.subramaniam@arm.com> In-Reply-To: <1612343237-27310-1-git-send-email-vijayenthiran.subramaniam@arm.com> References: <1612343237-27310-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: r2NQzbb0eKnJDRZe9SmeG8PCx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1612343278; bh=zcPJslbiYIaU4ppz2XbEDpOw+I0GHAisNy2MgiNKAsc=; h=Cc:Date:From:Reply-To:Subject:To; b=qVcT9rqg4RpL5+hl3j4ey6vKCnEjbpAWaWgqBunHiQtnnFsAIvfspGG5RF/6ksOpQzY /RpMY/4RPnPf2eT8qSgGUCJGiks+xIIMJeQm84A+kEsSNSVm/NvQ5L934dYRhB7cW30Yr ngij6Xbvcd6vtD37IoS4vU89X3/F10uC+3o= 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 | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Hmat.aslc | 114 ++++++++++++= ++++++++ 2 files changed, 115 insertions(+) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Plat= form/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf index d44f02ab0c16..36d41281439d 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf @@ -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..975ffd2af8d4 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Hmat.aslc @@ -0,0 +1,114 @@ +/** @file +* Heterogeneous Memory Attribute Table (HMAT) +* +* Copyright (c) 2020, ARM Limited. All rights reserved. +* +* SPDX-License-Identifier: BSD-2-Clause-Patent +* +**/ + +#include "SgiAcpiHeader.h" +#include "SgiPlatform.h" +#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 { + UINT32 InitatorProximityDomain[INITATOR_PROXIMITY_DOMAIN_CNT]; + UINT32 TargetProximityDomain[TARGET_PROXIMITY_DOMAIN_CNT]; + UINT16 MatrixEntry[INITATOR_PROXIMITY_DOMAIN_CNT * TARGET_PROXIMITY_DOM= AIN_CNT]; +} InitiatorTargetProximityMatrix; + +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; + InitiatorTargetProximityMatrix = 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), +}; + +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 (#71102): https://edk2.groups.io/g/devel/message/71102 Mute This Topic: https://groups.io/mt/80349472/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 Sat May 4 03:27:12 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+71100+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+71100+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1612343277; cv=none; d=zohomail.com; s=zohoarc; b=IjnuYaob+8nTNpOgVui1NxdC7F46Fdae6g7Jn30G6rvqYQTfKdBzJnOreGxSxrqPj4H4IaJB5NhhdiRjzg1weVMiMeTYC6Wy4ahjiVGuOBWnGPiYe+bPD18f1BmHIXszThxU8YOECPOOw6FoItA9gorF2bY4yHBrZBOqamgMrXs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1612343277; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=ZDuVg/YLyebq5PkUh+1p9f8RFnInTcWBq2z51zt+u9Q=; b=dPL4ArbyPnUGlwoN2ZoCJ54ul3FWMF/yNWuFn0SERd7pQlzqqYyHnYiGYEnBjn8ktaYXKWNwawRR81vUKpanpBsxAppX8tDb1vTqYBPZYgN3E4Vty5OUXDgtwSFl9HfcYdOJZS3h/N5pAoUEDcwtKG7x9DKqHcS+IJfSM8gfQFo= 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+71100+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 1612343277557157.67321609420878; Wed, 3 Feb 2021 01:07:57 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id QkrXYY1788612xsZcRZpJruj; Wed, 03 Feb 2021 01:07:55 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.6873.1612343274352664996 for ; Wed, 03 Feb 2021 01:07:54 -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 E712D142F; Wed, 3 Feb 2021 01:07:53 -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 C54A73F694; Wed, 3 Feb 2021 01:07:51 -0800 (PST) From: "Vijayenthiran Subramaniam" To: devel@edk2.groups.io, Jonathan.Cameron@Huawei.com, leif@nuviainc.com, ardb+tianocore@kernel.org, sami.mujawar@arm.com Cc: thomas.abraham@arm.com Subject: [edk2-devel] [edk2-platforms] [PATCH v2 3/3] Platform/ARM/SgiPkg: Add HMAT ACPI table for RD-V1-MC Date: Wed, 3 Feb 2021 14:37:17 +0530 Message-Id: <1612343237-27310-4-git-send-email-vijayenthiran.subramaniam@arm.com> In-Reply-To: <1612343237-27310-1-git-send-email-vijayenthiran.subramaniam@arm.com> References: <1612343237-27310-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: EBkwDDriPxEzxh8GNYgI7Nc3x1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1612343275; bh=Q5cRYLvTuGBJbmY0pc36DSX66V9ZjQIi7AXwoQJns2I=; h=Cc:Date:From:Reply-To:Subject:To; b=U1GjErAKrMqmx8MjBgOtOI5ViUtvoG3bXjWvnLhJRxwXsj4aMuERKpUZSl3dm1GX7Vi M1o1d5Qf50oIpfU8xoPjZGckaIzK8sBZKkimMs+M9bKPTW+ogjj98i9dECNt25vOzaXoT DZRexOePRYy0fz1VYR4SFPS9go/6E//atBk= 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 | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Hmat.aslc | 144 ++++++++++++++++= ++++ 2 files changed, 145 insertions(+) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform= /ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf index 051825993af0..f3552bc49003 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf @@ -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..d2c067d70be9 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1Mc/Hmat.aslc @@ -0,0 +1,144 @@ +/** @file +* Heterogeneous Memory Attribute Table (HMAT) +* +* Copyright (c) 2020, ARM Limited. All rights reserved. +* +* SPDX-License-Identifier: BSD-2-Clause-Patent +* +**/ + +#include "SgiAcpiHeader.h" +#include "SgiPlatform.h" +#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 { + UINT32 InitatorProximityDomain[INITATOR_PROXIMITY_DOMAIN_CNT]; + UINT32 TargetProximityDomain[TARGET_PROXIMITY_DOMAIN_CNT]; + UINT16 MatrixEntry[INITATOR_PROXIMITY_DOMAIN_CNT * TARGET_PROXIMITY_DOM= AIN_CNT]; +} InitiatorTargetProximityMatrix; + +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; + InitiatorTargetProximityMatrix = 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), +}; + +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 (#71100): https://edk2.groups.io/g/devel/message/71100 Mute This Topic: https://groups.io/mt/80349470/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-