From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 0E0F27803CF for ; Mon, 21 Aug 2023 10:46:00 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=YQvCIxEkVkrUrWLXCm95MLKXvS+U7iDXZkTgysxhppk=; c=relaxed/simple; d=groups.io; h=Received-SPF:ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Authentication-Results-Original:Message-ID:Date:User-Agent:Subject:To:Cc:References:From:In-Reply-To:MIME-Version:NoDisclaimer:Original-Authentication-Results:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20140610; t=1692614759; v=1; b=frJblbQKsxtSAm4rsGAR3BLZoOwLIJouWmXF18IYf2VJrKjbd7AMHe6ZJ4KVoPddaqkk1STA Jvapr7sziUfScbFhtc+mRVbwarfkhvQWho97qTVCeuRNYYs1TzzU7Nl09y9CWiqunXhrMeDV3iV CdbJxAoE7Za3zv5t8RB2m3cc= X-Received: by 127.0.0.2 with SMTP id NfTpYY7687511xbys8obw2TR; Mon, 21 Aug 2023 03:45:59 -0700 X-Received: from EUR01-VE1-obe.outbound.protection.outlook.com (EUR01-VE1-obe.outbound.protection.outlook.com [40.107.14.73]) by mx.groups.io with SMTP id smtpd.web11.8132.1692614758528089223 for ; Mon, 21 Aug 2023 03:45:59 -0700 X-Received: from AM5PR1001CA0065.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::42) by GV2PR08MB9949.eurprd08.prod.outlook.com (2603:10a6:150:ba::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug 2023 10:45:54 +0000 X-Received: from AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:15:cafe::12) by AM5PR1001CA0065.outlook.office365.com (2603:10a6:206:15::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20 via Frontend Transport; Mon, 21 Aug 2023 10:45:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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; pr=C X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT038.mail.protection.outlook.com (100.127.140.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6723.14 via Frontend Transport; Mon, 21 Aug 2023 10:45:53 +0000 X-Received: ("Tessian outbound 1eb4e931b055:v175"); Mon, 21 Aug 2023 10:45:53 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 34a37490ef6eaaba X-CR-MTA-TID: 64aa7808 X-Received: from 405ffdcbcf1b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6B112E04-A2B7-4A7A-95A1-F4434D040143.1; Mon, 21 Aug 2023 10:45:47 +0000 X-Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 405ffdcbcf1b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 21 Aug 2023 10:45:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Gku62R+XCBez+/pz9RjmVofDY2QGCLwiffvuVbIdD2WI5RllZbL5EMlE9pXLm0I8VRgy0YUN2ERwIW8mYOW275z8tWo2Hidg4qkkFxSLclr0fS40L+zpv+tMfnFJpdC1CKrhHeuMroF2SZx5Cl8uibX7MhPKv3+/AeBfC+yrFEvp7c6Px1HMZBMPscZvf88oRjhMiuqwvXDUKfZNyw5Pdca2nPGCFxrUHclhkgy1neDNbbxLJzVOSPsidXQjF3Jh+xO004J8HMqsKi8ZuvEYoBeCgD9hGocVMZghsINyS4H1D3t+8Ujr4TpcnGkU8ISUhi+3YKGBiO1RTkx9gdY8mw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=v+OViU5l0snVBw019Jb/KNl1radb2ohrYTtEW7HOE+I=; b=Gf9xOc64550tW/cHuZ2MkSYtiBnl7g4ppjYvWXxsdjGfz+GwoNHtcSxr13CPSr4JVAcsCB7glYONkM/avwdGNQfSGsPx5BgcqUlZftA9Y3JnmlP8ZAFVg1cNsIX3T8iR5ICxrMZgOlQV9+82C1SDYOIinO3jmhOfOvz0oLm8RE1a+nWUYOt/FDlaa9HsXuulo0NGbLrfcaAP+PTPW5lbPPXvwLJAHkFg7/yXwh/eoARLLw+VpLM7+NV9x3zNMwdZpbkbtn4sapF1Nq1uS6MqWfmeT4FQ/GROU1TOQWmdL3golu3v8AU9nf9/kLvZIrSoFAR9Bbe4OdsqE7IGy78xjQ== 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 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AS2PR08MB8927.eurprd08.prod.outlook.com (2603:10a6:20b:5fa::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Mon, 21 Aug 2023 10:45:41 +0000 X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ac37:4594:ab86:59ce]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ac37:4594:ab86:59ce%4]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 10:45:41 +0000 Message-ID: <479b6e9b-63d9-0bb7-be13-0373da127531@arm.com> Date: Mon, 21 Aug 2023 11:45:39 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Add definitions for MPAM ACPI specification To: Rohit Mathew , devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Thomas Abraham , James Morse , Zhiguang Liu , Pierre Gondois , "nd@arm.com" References: <20230818114416.468049-1-Rohit.Mathew@arm.com> From: "Sami Mujawar" In-Reply-To: <20230818114416.468049-1-Rohit.Mathew@arm.com> X-ClientProxiedBy: LO4P265CA0006.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ad::20) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6806:EE_|AS2PR08MB8927:EE_|AM7EUR03FT038:EE_|GV2PR08MB9949:EE_ X-MS-Office365-Filtering-Correlation-Id: a5c83676-af04-442a-a8e7-08dba233cb44 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: XVrJK2kinEiRvuG735SDGX4fbJZ85N99/AdPllUu/3hsosBe1Bpe/n6J4NThpXtY8qEp7ZtCFiNv2HNL3gz3ILYXQmeNOsBThTNoEHX9SA4o9BmXz6YGlQhfSj3cKw4wcl1TaHaDFrr21HS0TR6uEjitxY6XH+bQEjTVmmCXjcgbx3kWGk11MVcFFL4Qj+dV3+C78pPVGw7J8uCuu9TP8HzGjGfP5/gE8yeHGj7axmYgxusFhMpmw7ja9En+a0rAAmRqzAk+gmQWX0axBxmTp4e/zduKF6dTIxH0WZZvn3+n5HYbOkq+KEP0JzS0t00VE7tVKEEpU2aYdts2SwW+ebFdvTInpWp7/PIiAwA5fKAGpbqWuKqKfogXU2cWvcMYrkuVH0eG+eBQ+mKviP9Yz+BsdGNaj81TkxoyNmRZwRN6jUNZf+i5YXkmq04NeeKz6OGdRb1TRKyYNdD/33fl71k4kBSU+QbBLTwCmZ43SFqnHaJr+VQ63LGhe3WN0W3RUm30DApIW56OCQe+s4OV059U+uufOj5WItdDSL6FmmoR2Rs66y0bk2sN5hS8PXlMsfxx2Mo9WVbAPBf3O3n/FYtWyQNyWyKr+cRd0Lszf/i6q8FUbBhiWaET/QDODfLA X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(346002)(136003)(39860400002)(396003)(451199024)(186009)(1800799009)(2906002)(83380400001)(53546011)(38100700002)(6506007)(6486002)(5660300002)(44832011)(26005)(86362001)(31686004)(31696002)(8676002)(2616005)(8936002)(4326008)(316002)(66946007)(6512007)(54906003)(66556008)(66476007)(478600001)(19627235002)(41300700001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8927 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 32c2c5a9-9a33-4b17-51ac-08dba233c3a9 X-Microsoft-Antispam-Message-Info: Qe7eiLKCET2pkw1RhtUfIlEOpeEmLLuBYw/UK/dQf+t42QovZMqnFTTo4/d2CqqKWoLzzde3uy2K5+//OjhB6+FKen9dTSoL5nrIoQoVFzFTIAP7P+IMpFTORxLMxozHRASN9jDJfC+cqEPrgYfvNGRuOg1/jyZD2k85PNj8JSyxucMSR/VfAgY84Fd6GFD4OaJHHfbyVhnfTRqOwWGV0oHF1uJXd5VTHWM0F6JVi2t3Yu/NkZ5hWKE9ShHJkyw0TWHPwKOVWmAx8KgFrPi7p3h86Ai5uG7Q8zfkoDvv2qKcdrBkULtuyoFOxnZpPQBTGqsYKKLofsFDQzLzUqa3zr5zeYoSHKI7d+YJsggb4AD6z/QXYddBrHgBxpfBrQiPI06rj5AUEVVF9F+P4der7aanHULFEzQIhWm4NnDKBbH8WuAp51igE0MJjOSk+nKvSyoYm/CHa7I0RiZCN66ZRboVjA7dIRjHLiElZ9g3ei3COomJfxKwOwJ/J33bkN6X6xSTAB6qQd2DHFXlPmcdpf6v8aNbKVgcjNuubMy0ciPlVWMH8QAacRCyHhozFko/roiuDKZFQsa1eR1gTFanqPqbKu25Sq4G9PqJzLEU2lnES+5xrUXMqIDHRQI4uHhq4XurheuU6L/uvBU4N8jcx9FzMUrOgci+q4KykWF2qsBujImdpAi1TAthgoosw0Ndb8D+fJTUo52ayFrqKijz3Qi1A6C7XJ4uwUYOaOfgn5Z4W1Vn4kwviTFVLLXViCxk X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 10:45:53.9582 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a5c83676-af04-442a-a8e7-08dba233cb44 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: AM7EUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9949 Precedence: Bulk List-Subscribe: List-Help: 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,sami.mujawar@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: RvtzQw8MMlaILoKCUrwIQzlNx7686176AA= Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=frJblbQK; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Hi Rohit, Thank you for this pach. These changes look good to me. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 18/08/2023 12:44 pm, Rohit Mathew wrote: > From: Rohit Mathew > > Add definitions, macros and types for elements associated with MPAM > ACPI 2.0 specification. > > Signed-off-by: Rohit Mathew > Cc: James Morese > Cc: Liming Gao > Cc: Michael D Kinney > Cc: Sami Mujawar > Cc: Thomas Abraham > Cc: Zhiguang Liu > Acked-by: Liming Gao > Reviewed-by: Pierre Gondois > --- > MdePkg/Include/IndustryStandard/Acpi65.h | 7 +- > MdePkg/Include/IndustryStandard/Mpam.h | 246 ++++++++++++++++++++ > 2 files changed, 252 insertions(+), 1 deletion(-) > > diff --git a/MdePkg/Include/IndustryStandard/Acpi65.h b/MdePkg/Include/In= dustryStandard/Acpi65.h > index 1e41ae9a27..8a1d3d125a 100644 > --- a/MdePkg/Include/IndustryStandard/Acpi65.h > +++ b/MdePkg/Include/IndustryStandard/Acpi65.h > @@ -2,7 +2,7 @@ > ACPI 6.5 definitions from the ACPI Specification Revision 6.5 Aug, 20= 22. > =20 > Copyright (c) 2017 - 2022, Intel Corporation. All rights reserved. > - Copyright (c) 2019 - 2021, ARM Ltd. All rights reserved.
> + Copyright (c) 2019 - 2023, ARM Ltd. All rights reserved.
> Copyright (c) 2023, Loongson Technology Corporation Limited. All righ= ts reserved.
> =20 > SPDX-License-Identifier: BSD-2-Clause-Patent > @@ -3251,6 +3251,11 @@ typedef struct { > /// > #define EFI_ACPI_6_5_XEN_PROJECT_TABLE_SIGNATURE SIGNATURE_32('X', 'E'= , 'N', 'V') > =20 > +/// > +/// "MPAM" Memory System Resource Partitioning and Monitoring Table > +/// > +#define EFI_ACPI_MEMORY_SYSTEM_RESOURCE_PARTITIONING_AND_MONITORING_TABL= E_SIGNATURE SIGNATURE_32('M', 'P', 'A', 'M') > + > #pragma pack() > =20 > #endif > diff --git a/MdePkg/Include/IndustryStandard/Mpam.h b/MdePkg/Include/Indu= stryStandard/Mpam.h > new file mode 100644 > index 0000000000..9b67d22699 > --- /dev/null > +++ b/MdePkg/Include/IndustryStandard/Mpam.h > @@ -0,0 +1,246 @@ > +/** @file > + ACPI for Memory System Resource Partitioning and Monitoring 2.0 (MPAM)= as > + specified in ARM spec DEN0065 > + > + Copyright (c) 2023, Arm Limited. All rights reserved. > + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > + @par Specification Reference: > + - [1] ACPI for Memory System Resource Partitioning and Monitoring 2.0 > + (https://developer.arm.com/documentation/den0065/latest) > + > + @par Glossary: > + - MPAM - Memory System Resource Partitioning And Monitoring > + - MSC - Memory System Component > + - PCC - Platform Communication Channel > + - RIS - Resource Instance Selection > + - SMMU - Arm System Memory Management Unit > + **/ > + > +#ifndef MPAM_H_ > +#define MPAM_H_ > + > +#include > + > +/// > +/// MPAM Revision > +/// > +#define EFI_ACPI_MEMORY_SYSTEM_RESOURCE_PARTITIONING_AND_MONITORING_TABL= E_REVISION (0x01) > + > +/// > +/// MPAM Interrupt mode > +/// > +#define EFI_ACPI_MPAM_INTERRUPT_LEVEL_TRIGGERED (0x0) > +#define EFI_ACPI_MPAM_INTERRUPT_EDGE_TRIGGERED (0x1) > + > +/// > +/// MPAM Interrupt type > +/// > +#define EFI_ACPI_MPAM_INTERRUPT_WIRED (0x0) > + > +/// > +/// MPAM Interrupt affinity type > +/// > +#define EFI_ACPI_MPAM_INTERRUPT_PROCESSOR_AFFINITY (0x0) > +#define EFI_ACPI_MPAM_INTERRUPT_PROCESSOR_CONTAINER_AFFINITY (0x1) > + > +/// > +/// MPAM MSC affinity valid > +/// > +#define EFI_ACPI_MPAM_INTERRUPT_AFFINITY_NOT_VALID (0x0) > +#define EFI_ACPI_MPAM_INTERRUPT_AFFINITY_VALID (0x1) > + > +/// > +/// MPAM Interrupt flag - bit positions > +/// > +#define EFI_ACPI_MPAM_INTERRUPT_MODE_SHIFT (0) > +#define EFI_ACPI_MPAM_INTERRUPT_TYPE_SHIFT (1) > +#define EFI_ACPI_MPAM_INTERRUPT_AFFINITY_TYPE_SHIFT (3) > +#define EFI_ACPI_MPAM_INTERRUPT_AFFINITY_VALID_SHIFT (4) > +#define EFI_ACPI_MPAM_INTERRUPT_RESERVED_SHIFT (5) > + > +/// > +/// MPAM Interrupt flag - bit masks > +/// > +#define EFI_ACPI_MPAM_INTERRUPT_MODE_MASK (0x1) > +#define EFI_ACPI_MPAM_INTERRUPT_TYPE_MASK (0x3) > +#define EFI_ACPI_MPAM_INTERRUPT_AFFINITY_TYPE_MASK (0x8) > +#define EFI_ACPI_MPAM_INTERRUPT_AFFINITY_VALID_MASK (0x10) > +#define EFI_ACPI_MPAM_INTERRUPT_RESERVED_MASK (0xFFFFFFE0) > + > +/// > +/// MPAM Location types > +/// as described in document [1], table 11. > +/// > +#define EFI_ACPI_MPAM_LOCATION_PROCESSOR_CACHE (0x0) > +#define EFI_ACPI_MPAM_LOCATION_MEMORY (0x1) > +#define EFI_ACPI_MPAM_LOCATION_SMMU (0x2) > +#define EFI_ACPI_MPAM_LOCATION_MEMORY_CACHE (0x3) > +#define EFI_ACPI_MPAM_LOCATION_ACPI_DEVICE (0x4) > +#define EFI_ACPI_MPAM_LOCATION_INTERCONNECT (0x5) > +#define EFI_ACPI_MPAM_LOCATION_UNKNOWN (0xFF) > + > +/// > +/// MPAM Interface types > +/// as desscribed in document[1], table 4. > +/// > +#define EFI_ACPI_MPAM_INTERFACE_MMIO (0x00) > +#define EFI_ACPI_MPAM_INTERFACE_PCC (0x0A) > + > +/// > +/// MPAM Link types > +/// as described in document [1], table 19. > +/// > +#define EFI_ACPI_MPAM_LINK_TYPE_NUMA (0x00) > +#define EFI_ACPI_MPAM_LINK_TYPE_PROC (0x01) > + > +#pragma pack(1) > + > +/// > +/// MPAM MSC generic locator descriptor > +/// as described in document [1], table 12. > +/// > +typedef struct { > + UINT64 Descriptor1; > + UINT32 Descriptor2; > +} EFI_ACPI_MPAM_GENERIC_LOCATOR; > + > +/// > +/// MPAM processor cache locator descriptor > +/// as described in document [1], table 13. > +/// > +typedef struct { > + UINT64 CacheReference; > + UINT32 Reserved; > +} EFI_ACPI_MPAM_CACHE_LOCATOR; > + > +/// > +/// MPAM memory locator descriptor > +/// as described in document [1], table 14. > +/// > +typedef struct { > + UINT64 ProximityDomain; > + UINT32 Reserved; > +} EFI_ACPI_MPAM_MEMORY_LOCATOR; > + > +/// > +/// MPAM SMMU locator descriptor > +/// as described in document [1], table 15. > +/// > +typedef struct { > + UINT64 SmmuInterface; > + UINT32 Reserved; > +} EFI_ACPI_MPAM_SMMU_LOCATOR; > + > +/// > +/// MPAM memory-side cache locator descriptor > +/// as described in Document [1], table 16. > +/// > +typedef struct { > + UINT8 Reserved[7]; > + UINT8 Level; > + UINT32 Reference; > +} EFI_ACPI_MPAM_MEMORY_CACHE_LOCATOR; > + > +/// > +/// MPAM ACPI device locator descriptor > +/// as described in document [1], table 17. > +/// > +typedef struct { > + UINT64 AcpiHardwareId; > + UINT32 AcpiUniqueId; > +} EFI_ACPI_MPAM_ACPI_LOCATOR; > + > +/// > +/// MPAM interconnect locator descriptor > +/// as described in document [1], table 18. > +/// > +typedef struct { > + UINT64 InterconnectDescTblOff; > + UINT32 Reserved; > +} EFI_ACPI_MPAM_INTERCONNECT_LOCATOR; > + > +/// > +/// MPAM interconnect descriptor > +/// as described in document [1], table 19. > +/// > +typedef struct { > + UINT32 SourceId; > + UINT32 DestinationId; > + UINT8 LinkType; > + UINT8 Reserved[3]; > +} EFI_ACPI_MPAM_INTERCONNECT_DESCRIPTOR; > + > +/// > +/// MPAM interconnect descriptor table > +/// as described in document [1], table 20. > +/// > +typedef struct { > + UINT8 Signature[16]; > + UINT32 NumDescriptors; > +} EFI_ACPI_MPAM_INTERCONNECT_DESCRIPTOR_TABLE; > + > +/// > +/// MPAM resource locator > +/// > +typedef union { > + EFI_ACPI_MPAM_CACHE_LOCATOR CacheLocator; > + EFI_ACPI_MPAM_MEMORY_LOCATOR MemoryLocator; > + EFI_ACPI_MPAM_SMMU_LOCATOR SmmuLocator; > + EFI_ACPI_MPAM_MEMORY_CACHE_LOCATOR MemCacheLocator; > + EFI_ACPI_MPAM_ACPI_LOCATOR AcpiLocator; > + EFI_ACPI_MPAM_INTERCONNECT_LOCATOR InterconnectIfcLocator; > + EFI_ACPI_MPAM_GENERIC_LOCATOR GenericLocator; > +} EFI_ACPI_MPAM_LOCATOR; > + > +/// > +/// MPAM MSC node body > +/// as described document [1], table 4. > +/// > +typedef struct { > + UINT16 Length; > + UINT8 InterfaceType; > + UINT8 Reserved; > + UINT32 Identifier; > + UINT64 BaseAddress; > + UINT32 MmioSize; > + UINT32 OverflowInterrupt; > + UINT32 OverflowInterruptFlags; > + UINT32 Reserved1; > + UINT32 OverflowInterruptAffinity; > + UINT32 ErrorInterrupt; > + UINT32 ErrorInterruptFlags; > + UINT32 Reserved2; > + UINT32 ErrorInterruptAffinity; > + UINT32 MaxNrdyUsec; > + UINT64 HardwareIdLinkedDevice; > + UINT32 InstanceIdLinkedDevice; > + UINT32 NumResources; > +} EFI_ACPI_MPAM_MSC_NODE; > + > +/// > +/// MPAM MSC resource > +/// as described in document [1], table 9. > +/// > +typedef struct { > + UINT32 Identifier; > + UINT8 RisIndex; > + UINT16 Reserved1; > + UINT8 LocatorType; > + EFI_ACPI_MPAM_LOCATOR Locator; > + UINT32 NumFunctionalDependencies; > +} EFI_ACPI_MPAM_MSC_RESOURCE; > + > +/// > +/// MPAM Function dependency descriptor > +/// as described in document [1], table 10. > +/// > +typedef struct { > + UINT32 Producer; > + UINT32 Reserved; > +} EFI_ACPI_MPAM_FUNCTIONAL_DEPENDENCY_DESCRIPTOR; > + > +#pragma pack() > + > +#endif -=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 (#107913): https://edk2.groups.io/g/devel/message/107913 Mute This Topic: https://groups.io/mt/100818651/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-