From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.49]) by mx.groups.io with SMTP id smtpd.web10.20560.1680083844841700862 for ; Wed, 29 Mar 2023 02:57:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=dApIgS9+; spf=pass (domain: arm.com, ip: 40.107.6.49, 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=VkWrqd8mUxtbR9AgjzbRiG7HcXhuKK9cRhq/3Ap9uEo=; b=dApIgS9+Vx22+ApeLOmjMoOvBFeUjh7vcKvkT2PUjm5nFxVmrHaji1eDvVyYBbG8ggW6tVH/YsnwiuwBYLuvXDJtRCtv8S9n5xK56+qHQ4eujS0tXzQd3ira5it6o1m4Njq+3pKOpXzpLS/f//sfhxx68o0hcwu3V5Yo8/Nkf2k= Received: from AS9PR05CA0356.eurprd05.prod.outlook.com (2603:10a6:20b:490::22) by AS2PR08MB9569.eurprd08.prod.outlook.com (2603:10a6:20b:60b::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar 2023 09:57:21 +0000 Received: from AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:490:cafe::fb) by AS9PR05CA0356.outlook.office365.com (2603:10a6:20b:490::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20 via Frontend Transport; Wed, 29 Mar 2023 09:57:21 +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 Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT016.mail.protection.outlook.com (100.127.140.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20 via Frontend Transport; Wed, 29 Mar 2023 09:57:21 +0000 Received: ("Tessian outbound 3a01b65b5aad:v136"); Wed, 29 Mar 2023 09:57:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9ad6d0d80a80d13d X-CR-MTA-TID: 64aa7808 Received: from 1fa5e1e92573.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 336B5E5A-4C85-4AB1-B7E4-872CCF0939FC.1; Wed, 29 Mar 2023 09:57:10 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1fa5e1e92573.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 29 Mar 2023 09:57:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eHPIDbn1GwfRwBBUqvQzGIMlCGtcW/VXTGyEk4yJV9gPNRVK451KaqZ+ygfMquW8e3EW8YLiy4R6QxsLfMLpONl4/1xojFkouaXzkOl3qhLe6VenrVmPC6kCnPpViP504GCLpvkZHaQfxebyexDeZcbLg03/GnJF0rkxJGbSJ//meS264eQKVlB0wweGQySVZ539R34XEoDMmR/lt/ld/qDOEp3Ue8GHb/2P3myGsBO8lH4yEls1uizcsyh1R5jpZOQS6NDqJkIcbUnXFY5uZwa/sJ2KixdL/9+pmpz7vYwHZ9uGHHQJfG4xX+/rx4eIdxouIIS9Fl3hISbOA/5pdg== 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=VkWrqd8mUxtbR9AgjzbRiG7HcXhuKK9cRhq/3Ap9uEo=; b=BO2F1o4iBnKkHrwgBbyHaUTMo/41779ecGU4tEeQb82JdiZkH4p/1PU5rN1c8jHI05Xe5vwB0w7V5diQ5U12LhsHrhfX2bZR1Hiieg7xq5Lm+br4+0Zn69b/NXP1zCy9GZ+SnsewBtTAAfzu9yDs3yXGS+i7MUGY2Pn8ra77ohm6SDyiCZ9Obn4vzBdC0zixW670mLwwdbPGCK39/LnsDphMhJHI400pFUDggwomzAKIjMdjeu7B2qFuy1v/gNheSisNjfRrgOkfy8ywbz3nOt75isF+P+dmrE85ALjjoOn5I/QczVWczAIUfoxy8IIc5d0p0OiOoUrKURSlk051bA== 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=VkWrqd8mUxtbR9AgjzbRiG7HcXhuKK9cRhq/3Ap9uEo=; b=dApIgS9+Vx22+ApeLOmjMoOvBFeUjh7vcKvkT2PUjm5nFxVmrHaji1eDvVyYBbG8ggW6tVH/YsnwiuwBYLuvXDJtRCtv8S9n5xK56+qHQ4eujS0tXzQd3ira5it6o1m4Njq+3pKOpXzpLS/f//sfhxx68o0hcwu3V5Yo8/Nkf2k= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by VI1PR08MB5469.eurprd08.prod.outlook.com (2603:10a6:803:132::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar 2023 09:57:02 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::c224:ef61:cd4c:7727]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::c224:ef61:cd4c:7727%7]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023 09:57:02 +0000 Message-ID: Date: Wed, 29 Mar 2023 10:56:59 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [edk2][PATCH V1 1/1] MdePkg/IndustryStandard: add definitions for MPAM ACPI specification To: Rohit Mathew , devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Thomas Abraham , Swatisri Kantamsetti , "nd@arm.com" References: <20230125003920.27627-1-rohit.mathew@arm.com> From: "Sami Mujawar" In-Reply-To: <20230125003920.27627-1-rohit.mathew@arm.com> X-ClientProxiedBy: LO4P123CA0053.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:152::22) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6806:EE_|VI1PR08MB5469:EE_|AM7EUR03FT016:EE_|AS2PR08MB9569:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ba36989-5d9d-4dd3-8c32-08db303bfd47 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: PouBU+uDVfbC3PY5pmXUVTXPFfHy+1rqsrD5GK0iwKl4zfEPknLQt8WiKkghlJu8Xlt1nxSKtbeZ5H/Nt35PpMUI4MJHLoU+sv/ts/O8LZOSSCXIheJbsiTtZL/anF4OnE9omzov9v7hcPHG5zLAhutwoRTarNvmp0mM80TnuvsKZpLSd+GqtTSkOVkzyTwQQoOVofPg0IPtwqXrsrvWmGTUUa5ORCnHnE+ZEisOUZDlbmFoUdJeYUid1CFZoAKDwpO560UA/0twDcX1tpWpIlf3Ps9Lk3UvXV2jCUfukECyBocBkTTLBgxrJNJPggoh6oRN+QQB2xcpiwUe8sOgotQQXJX9kt7LFV/fshsUlAS1tGZwbxGFGC3MNaEn9oirz0F4VwQndvOutmXPulPVauNm5OvE8YGpygC5E4tHXEWWPtn7mbgwxLXJHGERM7VqK6XDjNHRJ8DXosbTRPOaiqtCk6i7C3ZEs21FCImZLLOFShyYin3a+ezbiN4m1FZqey+N97WKTod9gwv420bzq5XxsfOcPPxJCVM1W17B2AaF7y8TppRp5CFFASZJ3fMpGLKsn/i8Dttd8JIhV2mJCCb5YMIyA2AFfqNCGy6R6/R6AV5oR/ReIEeIwmdsmkOS48RMPiLhj5tP2+LP1Z5dKCnVe3oh7OEzzV4PVLkNt9M= 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:(13230028)(4636009)(396003)(366004)(376002)(136003)(346002)(39860400002)(451199021)(8936002)(8676002)(44832011)(31686004)(36756003)(2906002)(66946007)(66476007)(66556008)(19627235002)(316002)(41300700001)(5660300002)(4326008)(966005)(6486002)(478600001)(6512007)(26005)(6666004)(6506007)(186003)(53546011)(2616005)(83380400001)(38100700002)(54906003)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5469 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: bb0a6561-a55d-4b2b-c8db-08db303bf1a1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RuUEf7sSujPD9GKX38cjjgcvvoIylukfU0KJh8ox+R/CCfqgXwczhVt/n6pA2vC6qW6ZDgBRpAyk0+jcJH2X4Wjps4GHJHjq3Y2QBurco/6K+eyMnZkCRpIOi2aX023BpfzO+a5F6RAZPVm4Lw1I8NMlj8/etswUadklF/s7EcX26wyjAQ9fy0RxePdFIJijxavMtoeQxUrMr/wMKtlCo3ACbv0Y4MHcq6YZl/1N8zNY1r//BTqBCfBzC0qL8NtZcbFy0w+80nD81hVmU/SbAh2MYFELheF7TVo0Wa8IUJnVSRSge7bEMqqs3WsrzoeqDWoITzvcP0R8JGnG55O8yqU93Uw5ZzW7Ej7WAL/7JkH/DT3ojefiEAh6dU1TWLKeF9ZHneEtwURolk9g2uaMmAcNjhTN/71dD9x+TP6BbiatRTEWCqqjBzcw8TSXleQzJerq4oTGWN3EZKXVearnEgwZxW5bXt5lhAYr4pB0cJN4/Srs3y0w3+m0G8Te+Xv7Nt9JkESA8KYUxiEvzdIvAgHhw9d3onGOxoIGvnwmMoHYH4ZKETbtAKZprdqNaJ6LmPnYeuJckFePNLMM+yWAt8VPIUuEBMLU8KcTRkSxJ6NuTmakU9hv5W2B9zD9z/JxHJeYPja0l+W0QFvhZQp2tUi0mgioS08qZiCvPT7UPtXu1LWJ9H09qAZQ/Efmnbt2Vr0fvFiaNowcEFLh2fRkgiSL0TmqdQHA5Aevld2HLwm7g82UCCcgIh+tfqh4JDisHvd2fBLMlhXy0YrMPFN08Q== 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:(13230028)(4636009)(396003)(376002)(346002)(136003)(39860400002)(451199021)(46966006)(36840700001)(40470700004)(336012)(44832011)(83380400001)(2616005)(6506007)(40480700001)(26005)(6512007)(47076005)(53546011)(82310400005)(31696002)(186003)(86362001)(81166007)(356005)(82740400003)(36860700001)(41300700001)(8936002)(36756003)(5660300002)(478600001)(6666004)(70206006)(966005)(70586007)(4326008)(8676002)(54906003)(6486002)(40460700003)(19627235002)(316002)(31686004)(2906002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 09:57:21.1866 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7ba36989-5d9d-4dd3-8c32-08db303bfd47 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: AM7EUR03FT016.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9569 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Rohit, Thank you for this patch, and apologies for the delay in reply. I have a few minor suggestions marked inline as [SAMI]. Other than that, I would like to see a corresponding patch to add MPAM support to Acpiview. With that addressed, Reviewed-by: Sami Mujawar regards, Sami Mujawar On 25/01/2023 12:39 am, Rohit Mathew wrote: > add definitions, macros and types for elements associated with MPAM > ACPI 2.0 specification. > > Signed-off-by: Rohit Mathew > --- > MdePkg/Include/IndustryStandard/Acpi64.h | 7 +- > MdePkg/Include/IndustryStandard/Mpam.h | 229 ++++++++++++++++++++ > 2 files changed, 235 insertions(+), 1 deletion(-) > > github link: > https://github.com/rohit-arm/edk2/tree/mpam_acpi > > diff --git a/MdePkg/Include/IndustryStandard/Acpi64.h b/MdePkg/Include/IndustryStandard/Acpi64.h > index 575ca0430c..2be9525979 100644 > --- a/MdePkg/Include/IndustryStandard/Acpi64.h > +++ b/MdePkg/Include/IndustryStandard/Acpi64.h > @@ -2,7 +2,7 @@ > ACPI 6.4 definitions from the ACPI Specification Revision 6.4 Jan, 2021. > > Copyright (c) 2017 - 2022, Intel Corporation. All rights reserved.
> - Copyright (c) 2019 - 2021, ARM Ltd. All rights reserved.
> + Copyright (c) 2019 - 2023, ARM Limited. All rights reserved.
> > SPDX-License-Identifier: BSD-2-Clause-Patent > **/ > @@ -3157,6 +3157,11 @@ typedef struct { > /// > #define EFI_ACPI_6_4_XEN_PROJECT_TABLE_SIGNATURE SIGNATURE_32('X', 'E', 'N', 'V') > > +/// > +/// "MPAM" Memory System Resource Partitioning and Monitoring Table > +/// > +#define EFI_ACPI_MEMORY_SYSTEM_RESOURCE_PARTITIONING_AND_MONITORING_TABLE_SIGNATURE SIGNATURE_32('M', 'P', 'A', 'M') > + > #pragma pack() > > #endif > diff --git a/MdePkg/Include/IndustryStandard/Mpam.h b/MdePkg/Include/IndustryStandard/Mpam.h > new file mode 100644 > index 0000000000..8e6e72ea28 > --- /dev/null > +++ b/MdePkg/Include/IndustryStandard/Mpam.h > @@ -0,0 +1,229 @@ > +/** @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_TABLE_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_PROCESSOR_AFFINITY (0x0) > +#define EFI_ACPI_MPAM_PROCESSOR_CONTAINER_AFFINITY (0x1) > + > +/// > +/// MPAM MSC affinity valid > +/// > +#define EFI_ACPI_MPAM_AFFINITY_NOT_VALID (0x0) > +#define EFI_ACPI_MPAM_AFFINITY_VALID (0x1) > + > +/// > +/// MPAM Interrupt flag - bit positions > +/// > +#define EFI_ACPI_MPAM_INTERRUPT_MODE_POS (0x0) > +#define EFI_ACPI_MPAM_INTERRUPT_TYPE_POS (0x1) > +#define EFI_ACPI_MPAM_AFFINITY_TYPE_POS (0x3) > +#define EFI_ACPI_MPAM_AFFINITY_VALID_POS (0x4) > +#define EFI_ACPI_MPAM_RESERVED_POS (0x5) [SAMI] I think it would be better to change the postfix _POS to _SHIFT and corresponing definitions for masks (i.e.EFI_ACPI_MPAM_INTERRUPT_MODE_MASK) be added. > + > +/// > +/// 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 > +/// > +#define EFI_ACPI_MPAM_INTERFACE_MMIO (0x0) > +#define EFI_ACPI_MPAM_INTERFACE_PCC (0x0A) > + > +#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 HIDLinkedDevice; [SAMI] I think the above field name should be HidLinkedDevice and similarly the following field name should be InstanceIdLinkedDevice. Otherwise I suspect the CI would complain. Can you check, please? > + 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 NumDependencies; > +} 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