From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR03-VE1-obe.outbound.protection.outlook.com (EUR03-VE1-obe.outbound.protection.outlook.com [40.107.5.64]) by mx.groups.io with SMTP id smtpd.web09.5282.1613554044364958538 for ; Wed, 17 Feb 2021 01:27:25 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=6A1FReW9; spf=pass (domain: arm.com, ip: 40.107.5.64, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dGjen7kgUB3F8rgame+GF+Y4UZia1LZaKzr+Dk0jZXs=; b=6A1FReW9Qv8BV6oo6SyHg71q62cEI75gtweU60GPaMBEyVqBPq9BFz1eJdtkNHIodZbz76Fw2cJcChsMkBe+UZVvpKOMyiOKMbCpHFOQsZ75m6wZWQP1dRxaKJ54N/ncrnpxCqPpiOzPFqhSE1r6pkEhOHfkpA8734+3iMRxSG8= Received: from AM6PR04CA0022.eurprd04.prod.outlook.com (2603:10a6:20b:92::35) by AM5PR0801MB1761.eurprd08.prod.outlook.com (2603:10a6:203:3a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.39; Wed, 17 Feb 2021 09:27:20 +0000 Received: from VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:92:cafe::34) by AM6PR04CA0022.outlook.office365.com (2603:10a6:20b:92::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.27 via Frontend Transport; Wed, 17 Feb 2021 09:27:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT014.mail.protection.outlook.com (10.152.19.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.27 via Frontend Transport; Wed, 17 Feb 2021 09:27:19 +0000 Received: ("Tessian outbound fb307b4548b2:v71"); Wed, 17 Feb 2021 09:27:19 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 5beb56831a681f02 X-CR-MTA-TID: 64aa7808 Received: from bf2ab5108f6f.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BD3B8DE6-897A-4D53-B7BC-F443B9D366B1.1; Wed, 17 Feb 2021 09:27:12 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bf2ab5108f6f.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 17 Feb 2021 09:27:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cBw/wGJJ+uoloxi2MVAd6UrFR9ui2ykvfIi3RW0vjADvR6kfjrqcbZeti4KW2h/1wcUh3BezBksougtGxXBnS08Vx9iYzjtIFT85tubcssx7BK/wHUlmxTWeLasVkiVYdSpqDSXDM5vPxPyPG7XrFbrNCJWC0BJw3nUbJHpwKynHgvLp4H80vug5hVm++ghFVIwirvGsb53+TJhQtNQCTk162u/UJHfTQXpNzxR0jAX/OHdu8KE6koej49shaVkXZN0HpTgzbHRX41Nyl0F0/KCRxk4BvopW5OlwrVs/WGAWOMCgCmvdc6w/oqfE8rCElbPZokZVxLoyeV2u82LHDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dGjen7kgUB3F8rgame+GF+Y4UZia1LZaKzr+Dk0jZXs=; b=fE2vofQlLZEhLAK49SHvKdowTdfzElA2d7orxmy576752KL4RPCyytMIgRH5IeMGl/SBcrz98AN3mor35daPwXR0fHoHX2H4vR1yJBISQh3DTTqTiOEKqmetuG67fyq6y/MtUfU5P9YrlGytncZ1FtnbJ4QYcrIO03Btp8RB82ZGOkF2S9a+ADzW3c71BlmzVIfpDZsQcDvL6kgsDSE8yNAwuCJv9u6zETe9M3qcGiq8PoqwV1VigRETZcewcina8IvJ7wzSWzTMZhntiUFfeIeF1AHDi+Pp2Bj5lt2ZSyWVMRPKBydSFHedj7WnaXhAfL53becmWzaK7ZCHfcO57g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dGjen7kgUB3F8rgame+GF+Y4UZia1LZaKzr+Dk0jZXs=; b=6A1FReW9Qv8BV6oo6SyHg71q62cEI75gtweU60GPaMBEyVqBPq9BFz1eJdtkNHIodZbz76Fw2cJcChsMkBe+UZVvpKOMyiOKMbCpHFOQsZ75m6wZWQP1dRxaKJ54N/ncrnpxCqPpiOzPFqhSE1r6pkEhOHfkpA8734+3iMRxSG8= Received: from DB7PR08MB3097.eurprd08.prod.outlook.com (2603:10a6:5:1d::27) by DB8PR08MB5354.eurprd08.prod.outlook.com (2603:10a6:10:114::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.27; Wed, 17 Feb 2021 09:27:10 +0000 Received: from DB7PR08MB3097.eurprd08.prod.outlook.com ([fe80::8c43:eec3:76be:9001]) by DB7PR08MB3097.eurprd08.prod.outlook.com ([fe80::8c43:eec3:76be:9001%4]) with mapi id 15.20.3846.041; Wed, 17 Feb 2021 09:27:10 +0000 From: "Sami Mujawar" To: Vijayenthiran Subramaniam , "devel@edk2.groups.io" CC: Vijayenthiran Subramaniam , "Jonathan.Cameron@Huawei.com" , "leif@nuviainc.com" , "ardb+tianocore@kernel.org" , Thomas Abraham , nd Subject: Re: [edk2-devel] [edk2-platforms] [PATCH v2 1/3] Platform/ARM/SgiPkg: Add helper macros for HMAT table Thread-Topic: [edk2-devel] [edk2-platforms] [PATCH v2 1/3] Platform/ARM/SgiPkg: Add helper macros for HMAT table Thread-Index: AQHW+gwt9g77hHHSUka6Ld9of3a5RapUvOXQgAdpaACAAAJ8/Q== Date: Wed, 17 Feb 2021 09:27:10 +0000 Message-ID: References: <1612343237-27310-1-git-send-email-vijayenthiran.subramaniam@arm.com> <1612343237-27310-2-git-send-email-vijayenthiran.subramaniam@arm.com> , In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [109.146.228.222] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6da359c5-b720-423a-4c56-08d8d3263964 x-ms-traffictypediagnostic: DB8PR08MB5354:|AM5PR0801MB1761: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: DdIWSplfImupm6MCsG6Dov9vOa+tVMELTAc+3fJxQuz/Ljuu5F0DeR0iq9IhToxQcQctez6s164FbMui6FYxSfn5Hl58W5OviuWMUTpOCug7uWof+BxFcc9zLbMlKW2l4K0rtM6byhZXHdvm1HnFRjkQKxYc+WjcDX5E1hky0bqP1Hty3MpP88HbK/ZbsIzUnpI4cOVl805jjGdTXvbFK74+XkvgyVswFUNH9FBdCn/bpQWCRqSynmBVHv43t4TfBv3eZVjcPqtsgenPy2RqheeyFCTuZ9StRs/F9XeUqVU5nEAnUnWkBV5/1p317NQti/jTQIM+lCIsMcCkpT4FTvXBhsiIhnbPUhK62RjkuKS+0nnU1IgBQit6K1MfQY+L58rXMVyj9g12kXGvbwnwPrDUxd7K/z3dzm4kWmCbyH6ShztA7Uo61HysYQaNbkmGOjYJfT6rJ7lfSh6lUY7cY9RrM2Uh4wGXT1VoHTRkWcMFL4FdNll057fxXOlQC8k6D7vFHgVPpnVQxUUE0h+GAUesXB4HY5dT60KBLHQIlQXUzu+82zPa02VXk968RIvtEiG8S5aQZ7K3VyPhZm1gT/jGk3qTpCuBhFhRS1g97Zo= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3097.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(136003)(366004)(346002)(39860400002)(396003)(9686003)(52536014)(186003)(26005)(478600001)(66476007)(66556008)(71200400001)(966005)(54906003)(53546011)(6506007)(5660300002)(4326008)(91956017)(110136005)(64756008)(66446008)(66946007)(76116006)(55016002)(316002)(86362001)(2906002)(7696005)(33656002)(166002)(8936002)(83380400001)(8676002)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?PwUPyCGxGNHDje1kE+y6dvdaqfsxsZ8BWhGyon3g05PdRPxLoREeAlCpjLOM?= =?us-ascii?Q?Gy+aEBEhJi55j7fGHPEzqfKAzQjoAadMwvE2iWaCU5v7i+rv0sxQVSy4n9vy?= =?us-ascii?Q?AiU9uhRgvzujfYQ5adU7ymmC9WuafGageN4dC/lBwS2aoMKSshthjR4TDa8x?= =?us-ascii?Q?iccailiQBPzKx7Wjj9ai6z8s95RXef3Moyloc9QCsX0H514t1uiBbot/tbPD?= =?us-ascii?Q?nkLe+zKSY59KU7+IJMrxWz521MEmzXqgj6CdE8vdn2qXLfCIzYuJuqnx45Ny?= =?us-ascii?Q?1ZxVwP9g5aezTwOJQhoyhvKaYr+jDAW1tg+n3U16vquWlL/DQof/orI1aVkd?= =?us-ascii?Q?JjjyoAlPOtVmt1AnPdrNFX9FRxqzXeRA1RvZtxioEDgL9RrkF+G/pORXtP2u?= =?us-ascii?Q?pX78NQEHRcRJCuanj2oWRVlF73jPlTJwr2Z+K8vGOiB5GBK/cjey7MZiAgzB?= =?us-ascii?Q?V3rx5D9VNdL/tjLr+hPBiLROG9xsF9PdJw1vRKiJwZT3/RR6YVoXwFO2D48u?= =?us-ascii?Q?Yellui1Cd4rGrmjK9Qq3hzqoXUxl1OOE2MFq+65Fo9/May0Kpaq64HVGVXZW?= =?us-ascii?Q?cQ/ErykuJwlKpjdFwYChd8dyXk35Vbr/BKUy4+dN213xCiLWkXlu2eJfcFU5?= =?us-ascii?Q?56B4DJSWi4S7b37P+pdEeHigh0f3XFGarq+GvOO1uOGuxk4dy8FbK7iR7kGv?= =?us-ascii?Q?FL+CtXouqF8Zd+8vc1TdkHLWElXo8JOuWlcJRpy9fGE4ZFDEt2XjStBsU+wg?= =?us-ascii?Q?2wHhb0BHJhBupBpwU9yX71Z3Soe5Oyzj3XFyULLipd2YmgznhQAku/H+2AzM?= =?us-ascii?Q?Timl0nJEBMAwFAPPAgsUYj+LHw7wi/9UaDCjf03IrtFctdx14L6SVNWBUZIS?= =?us-ascii?Q?iq3D4k59pHd5xHZqILgD418+V5XZGCpdZ4mNFaRMXu8dcxvhvQH+n15ifU6q?= =?us-ascii?Q?BiJWJbIHqANiYRfwHeu2frkQNyqa7KWQ7/53LCnQXIRTJBpnpVc75LUEkfD9?= =?us-ascii?Q?PkQHGs77OJ8H6Sd0CGt8Bvsklh/AyxriZ0J+NSbiSLLUSsIPw2kISBuR6612?= =?us-ascii?Q?WmVWHiAihGZLRE4lK0H0k0g7dAtYX0I0HIiDsL/FXFq1dXePb+uWwpHoBUdw?= =?us-ascii?Q?K+yJVjsI/KrlDc0z4F9xEZADwrNjCoNHX+Az7QPfa9vxmiLGJBMu0dGqGGZE?= =?us-ascii?Q?pGGF6vUZSmKY2ZcCnteL/CxMh1oEh8BUxA0KF7ha5jjBZMjZCx9NwrsuRmHf?= =?us-ascii?Q?OHnq0Uj3fH8UhGXryphkzMesMQFfhTpSNwbwiT5aHQTlMhkTKwx6DZEQkeGk?= =?us-ascii?Q?0K1q7BQFxpTiAkPLdFjLjkRfTxwYCCsALKYEEEbq+RQAsA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5354 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 796f1bdf-f90e-4799-9b7b-08d8d32633dd X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aahB/PMIhwDJY45cECYg024zoUsVrWnCs7UECvquf+ht9ujlmPSXFh37KksDy8nmKYdsTUBl05fkzfU1IdvDSh3F3AlJc6t3AElLQIYiKWlpzLCxH3r97e/O//zaiixm/Dk6H5rtU0+tQ1uJoyyMAsEzChBDDmNvHOLj6boqpm5KhA/hAOoW+GO5ahuJYzk0b+ShoTaMZ7KAJ5Z5UzQePJNnIIDu7RMhusCqwBEhrvTrHt5imbmtNa8YC170Ipvccj4jK8As5ezBBEp6P+epsvfjgiZR9xsEAe60sovpm7Bz/j0OGV/3B59OZSRunFJkqQ8cUoNuZiI+/NE/iyx2Gfp2tDPlTEKc88aucSJlgFix5vqHUdiy6HUMpGWwDpbGmTPAVz1FwcwT/tE7gQKce6+eoy5pFMAOD4HDkuTCxeMNVrxv15BCCpKC0I/nYeiU60ShOwA9a+STWa23IkSQ2Y2/LEhX6HLiB3wVN2gzV3wliBAMVxrC/a9P0wnGvPaSMn2Te6VRURCOTwLLlnwCsvLwNfpeQVxQa033q5bJSrhCi+ZON8uEWHPbSLLbrs5d+YKRry4gHHrWU/vQs6QNV0EaLt4J/UYQc6TPmR2imDx1nc4EYrR7Sh10IwakgUlbqSqC081QVChBfMPyU4/9ItOX8O/Ehnx9m8/NsSqLoA4gUydNLFdlq0zO5pEcfATGDTnyDFCiZaIRr4rQHrfnLQJA/oQZqxYap8VgyD6eLeU= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(346002)(39860400002)(36840700001)(46966006)(81166007)(966005)(54906003)(55016002)(316002)(30864003)(82740400003)(356005)(86362001)(9686003)(70586007)(5660300002)(52536014)(166002)(8936002)(8676002)(70206006)(36860700001)(83380400001)(336012)(2906002)(82310400003)(26005)(110136005)(478600001)(4326008)(6506007)(53546011)(186003)(33656002)(47076005)(7696005)(579004)(559001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2021 09:27:19.6288 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6da359c5-b720-423a-4c56-08d8d3263964 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1761 Content-Language: en-GB Content-Type: multipart/alternative; boundary="_000_DB7PR08MB30972605F753E070C106D74C84869DB7PR08MB3097eurp_" --_000_DB7PR08MB30972605F753E070C106D74C84869DB7PR08MB3097eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Vijay, Please find my response inline marked [SAMI] Regards, Sami Mujawar ________________________________ From: Vijayenthiran Subramanian Sent: Wednesday, 17 February 2021, 9:15 am To: devel@edk2.groups.io; Sami Mujawar Cc: Vijayenthiran Subramaniam; Jonathan.Cameron@Huawei.com; leif@nuviainc.c= om; ardb+tianocore@kernel.org; Thomas Abraham Subject: Re: [edk2-devel] [edk2-platforms] [PATCH v2 1/3] Platform/ARM/SgiP= kg: Add helper macros for HMAT table Hi Sami, On Fri, Feb 12, 2021 at 5:28 PM Sami Mujawar wrote: > > Hi Vijay, > > Please find my response inline marked [SAMI]. > > Regards, > > Sami Mujawar > > -----Original Message----- > From: Vijayenthiran Subramaniam > Sent: 03 February 2021 09:07 AM > To: devel@edk2.groups.io; Jonathan.Cameron@Huawei.com; leif@nuviainc.com;= ardb+tianocore@kernel.org; Sami Mujawar > Cc: Thomas Abraham > Subject: [edk2-platforms] [PATCH v2 1/3] Platform/ARM/SgiPkg: Add helper = macros for HMAT table > > 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/S= giPkg/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 = \ > } > > +// > +// 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_I= NIT( \ > + Flags, ProximityDomainForAttachedIntiator, ProximityDomainForMemory)= \ > + { = \ > + 0, = \ > [SAMI] EFI_ACPI_6_3_HMAT_TYPE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES ? > [/SAMI] EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES is already a typedef and EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT follows the same naming as used in the Acpi63.h file: https://github.com/tianocore/edk2/blob/4f4d862c1c7232a18347616d94c343c92965= 7fdb/MdePkg/Include/IndustryStandard/Acpi63.h#L2057 [SAMI] Please use the defined values from https://github.com/tianocore/edk2= /blob/4f4d862c1c7232a18347616d94c343c929657fdb/MdePkg/Include/IndustryStand= ard/Acpi63.h#L2024 instead of magic numbers. Same for other places in this patch. [SAMI] > + { = \ > + EFI_ACPI_RESERVED_BYTE, = \ > + EFI_ACPI_RESERVED_BYTE = \ > + }, = \ > + sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUT= ES), \ > + { = \ > + 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_BANDWIDT= H_INFO_INIT( \ > + Flags, DataType, NumInitiatorProximityDomains, = \ > + NumTargetProximityDomains, EntryBaseUnit) = \ > + { = \ > + 1, = \ > [SAMI] EFI_ACPI_6_3_HMAT_TYPE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO = ? > [/SAMI] Same as above. > + { = \ > + EFI_ACPI_RESERVED_BYTE, = \ > + EFI_ACPI_RESERVED_BYTE = \ > + }, = \ > + sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BAND= WIDTH_INFO) + \ > + (4 * NumInitiatorProximityDomains) + (4 * NumTargetProximityDomain= s) + \ > + (2 * NumInitiatorProximityDomains * NumTargetProximityDomains), = \ > + { = \ > + Flags, 0 = \ > [SAMI] 0 on new line for consistency ? > [/SAMI] Ack, will fix in the next version. > + }, = \ > + 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, = \ > [SAMI] EFI_ACPI_6_3_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO ? > [/SAMI] Same as above. > + { = \ > + 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__ */ > -- > 2.17.1 > > BR, Vijayenthiran --_000_DB7PR08MB30972605F753E070C106D74C84869DB7PR08MB3097eurp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Hi Vijay,

Please find my response inlin= e marked [SAMI]

Regards,

Sami Mujawar

From: Vijayenthiran Subramanian = <vijayenthiran.subramaniam@arm.com>
Sent: Wednesday, 17 February 2021, 9:15 am
To: devel@edk2.groups.io; Sami Mujawar
Cc: Vijayenthiran Subramaniam; Jonathan.Cameron@Huawei.com= ; leif@nuviainc.com; ardb+tianocore@kernel.org; Thomas Abraham
Subject: Re: [edk2-devel] [edk2-platforms] [PATCH v2 1/3] = Platform/ARM/SgiPkg: Add helper macros for HMAT table

Hi Sami,<= br>
On Fri, Feb 12, 2021 at 5:28 PM Sami Mujawar <sami.mujawar@arm.com> w= rote:
>
> Hi Vijay,
>
> Please find my response inline marked [SAMI].
>
> Regards,
>
> Sami Mujawar
>
> -----Original Message-----
> From: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com&= gt;
> Sent: 03 February 2021 09:07 AM
> To: devel@edk2.groups.io; Jonathan.Cameron@Huawei.com; leif@nuviainc.c= om; ardb+tianocore@kernel.org; Sami Mujawar <Sami.Mujawar@arm.com> > Cc: Thomas Abraham <thomas.abraham@arm.com>
> Subject: [edk2-platforms] [PATCH v2 1/3] Platform/ARM/SgiPkg: Add help= er macros for HMAT table
>
> 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 <vijayenthiran.subramaniam= @arm.com>
> ---
>  Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h | 110 ++++++++++++++= ++++++
>  1 file changed, 110 insertions(+)
>
> diff --git a/Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h b/Platform/AR= M/SgiPkg/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,  Clo= ckDomain           &= nbsp;           &nbs= p;             = \
>    }
>
> +//
> +// 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_ATTRIBUTE= S_INIT(   \
> +    Flags, ProximityDomainForAttachedIntiator, Proximi= tyDomainForMemory)       \
> +  {          &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +    0,        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> [SAMI] EFI_ACPI_6_3_HMAT_TYPE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES ?
> [/SAMI]

EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES is
already a typedef and
EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES_INIT
follows the same
naming as used in the Acpi63.h file:
https://git= hub.com/tianocore/edk2/blob/4f4d862c1c7232a18347616d94c343c929657fdb/MdePkg= /Include/IndustryStandard/Acpi63.h#L2057
[SAMI] Please use the defined values from https://github.com/tianocore/edk2/blob/= 4f4d862c1c7232a18347616d94c343c929657fdb/MdePkg/Include/IndustryStandard/Ac= pi63.h#L2024
instead o= f magic numbers. Same for other places in this patch.
[SAMI]

> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> +    sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_PROXIMI= TY_DOMAIN_ATTRIBUTES),   \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +      Flags,     &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;           \
> +      0      &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> +    ProximityDomainForAttachedIntiator,  &nb= sp;            =             &nb= sp;            \
> +    ProximityDomainForMemory,    &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;        \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +    }        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +  }
> +
> +// 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_BANDW= IDTH_INFO_INIT(  \
> +    Flags, DataType, NumInitiatorProximityDomains,&nbs= p;            &= nbsp;           &nbs= p;          \
> +    NumTargetProximityDomains, EntryBaseUnit) &nb= sp;            =             &nb= sp;            =   \
> +  {          &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;          \
> +    1,        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;         \
> [SAMI] EFI_ACPI_6_3_HMAT_TYPE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_IN= FO ?
> [/SAMI]

Same as above.

> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;          \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =             &nb= sp;    \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;     \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;         \
> +    sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALIT= Y_LATENCY_AND_BANDWIDTH_INFO) + \
> +      (4 * NumInitiatorProximityDomains) + (= 4 * NumTargetProximityDomains) +       &= nbsp;  \
> +      (2 * NumInitiatorProximityDomains * Nu= mTargetProximityDomains),        &n= bsp;        \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;          \
> +      Flags, 0     =             &nb= sp;            =             &nb= sp;            =             &nb= sp;    \
> [SAMI] 0 on new line for consistency ?
> [/SAMI]

Ack, will fix in the next version.

> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;         \
> +    DataType,       = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;   \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;          \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =             &nb= sp;    \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;     \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;         \
> +    NumInitiatorProximityDomains,   &nb= sp;            =             &nb= sp;            =             \
> +    NumTargetProximityDomains,    =             &nb= sp;            =             &nb= sp;            =   \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;          \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =             &nb= sp;    \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =             &nb= sp;    \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =             &nb= sp;    \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;     \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;         \
> +    EntryBaseUnit      &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;            \ > +  }
> +
> +// 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( = ;            &n= bsp; \
> +    MemoryProximityDomain, MemorySideCacheSize, CacheA= ttributes,           = ;    \
> +    NumberOfSmbiosHandles)    &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +  {          &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +    2,        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> [SAMI] EFI_ACPI_6_3_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO ?
> [/SAMI]

Same as above.

> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> +    sizeof (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CA= CHE_INFO) +          &nbs= p;   \
> +      (NumberOfSmbiosHandles * 2), &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;     \
> +    MemoryProximityDomain,    &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> +    MemorySideCacheSize,     =             &nb= sp;            =             &nb= sp;            \
> +    CacheAttributes,     &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +    {        &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;   \
> +      EFI_ACPI_RESERVED_BYTE,  &nb= sp;            =             &nb= sp;            =           \
> +      EFI_ACPI_RESERVED_BYTE  &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;          \
> +    },        =             &nb= sp;            =             &nb= sp;            =             &nb= sp;  \
> +    NumberOfSmbiosHandles     = ;            &n= bsp;            = ;            &n= bsp;           \
> +  }
> +
>  #endif /* __SGI_ACPI_HEADER__ */
> --
> 2.17.1
>
>

BR,
Vijayenthiran

--_000_DB7PR08MB30972605F753E070C106D74C84869DB7PR08MB3097eurp_--