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 4841ED80186 for ; Thu, 21 Mar 2024 16:01:07 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=RQSx+bwg69AA1lnHxBU61jH8TYky86VvjtlAZMTbeBU=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20240206; t=1711036866; v=1; b=1BRv7fFB/JF0k8hJPAbLwt9LYe4iVYqAghOOup2xiUyRm3i4C5IVARQjZplhUChXflLqoooH mZsQpNZuAJx/Xnnb7yBwYGqehRGQtHqVUBqUMj3zqc7oZ0yCWmqRJcW3zpYKXMyCMuVigU/Yixh T1x4IepRW+sBa5fNr7Jj+aF1sGXTCI1VfnwBSydV/gHJJBPpS2jEzNmfQzr9l9wTHJ8G51LzcVh 33Y9lgJza4IFrB+HCEp1lyDmx2/yWkpyy/nBuBBq+DzzuN2I8ir8QHnTE41OZCDEuECaYlb6LfJ WUo9ztZKTFTJn8KwfENxxVngrktojYzlMMRyVh4wtdBzw== X-Received: by 127.0.0.2 with SMTP id rFi6YY7687511x8CMX8gWZt5; Thu, 21 Mar 2024 09:01:06 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.604.1711036865314986387 for ; Thu, 21 Mar 2024 09:01:05 -0700 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 526A81063; Thu, 21 Mar 2024 09:01:39 -0700 (PDT) X-Received: from e126645.nice.arm.com (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5BA263F67D; Thu, 21 Mar 2024 09:01:02 -0700 (PDT) From: "PierreGondois" To: devel@edk2.groups.io Cc: Pierre Gondois , Sami Mujawar , Pierre Gondois , Yeo Reum Yun , Sunil V L , AbdulLateef Attar , Jeshua Smith , Jeff Brasen , Girish Mahadevan , Leif Lindholm , Meenakshi Aggarwal Subject: [edk2-devel] [PATCH 16/19] DynamicTablesPkg: Move PCC Type2 info to Arch Common Date: Thu, 21 Mar 2024 16:59:21 +0100 Message-Id: <20240321155924.707272-17-pierre.gondois@arm.com> In-Reply-To: <20240321155924.707272-1-pierre.gondois@arm.com> References: <20240321155924.707272-1-pierre.gondois@arm.com> MIME-Version: 1.0 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 Resent-Date: Thu, 21 Mar 2024 09:01:05 -0700 Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: Tq5SvYUhOhncICPrx6m9KZLEx7686176AA= Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=1BRv7fFB; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none) From: Sami Mujawar Move the PCC Subspace Type2 info object from Arm Namespace to the Arch Common namespace. Correspondingly also update the following modules to reflect the changes introduced by the move: - PCCT generator - ConfigurationManagerObjectParser - Dynamic Plat Repo TokenFixer map. Cc: Pierre Gondois Cc: Yeo Reum Yun Cc: AbdulLateef Attar Cc: Jeshua Smith Cc: Jeff Brasen Cc: Girish Mahadevan Cc: Leif Lindholm Cc: Meenakshi Aggarwal Signed-off-by: Sami Mujawar Signed-off-by: Pierre Gondois --- .../Include/ArchCommonNameSpaceObjects.h | 21 +++++++++++++ .../Include/ArmNameSpaceObjects.h | 31 +++---------------- .../Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c | 18 +++++------ .../DynamicPlatRepoLib/CmObjectTokenFixer.c | 11 +++---- .../ConfigurationManagerObjectParser.c | 6 ++-- DynamicTablesPkg/Readme.md | 12 +++---- 6 files changed, 49 insertions(+), 50 deletions(-) diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/Dynami= cTablesPkg/Include/ArchCommonNameSpaceObjects.h index 583ea0089146..817c07f40d55 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -41,6 +41,7 @@ typedef enum ArchCommonObjectID { EArchCommonObjCpcInfo, ///< 18 - Continuous Perfo= rmance Control Info=0D EArchCommonObjPccSubspaceType0Info, ///< 19 - Pcc Subspace Typ= e 0 Info=0D EArchCommonObjPccSubspaceType1Info, ///< 20 - Pcc Subspace Typ= e 1 Info=0D + EArchCommonObjPccSubspaceType2Info, ///< 21 - Pcc Subspace Typ= e 2 Info=0D EArchCommonObjMax=0D } EARCH_COMMON_OBJECT_ID;=0D =0D @@ -549,6 +550,26 @@ typedef struct CmArchCommonPccSubspaceType1Info { CM_ARCH_COMMON_GENERIC_INTERRUPT PlatIrq;=0D } CM_ARCH_COMMON_PCC_SUBSPACE_TYPE1_INFO;=0D =0D +/** A structure that describes a=0D + PCC Subspace of type 2 (HW-Reduced).=0D +=0D + ID: EArchCommonObjPccSubspaceType2Info=0D +*/=0D +typedef struct CmArchCommonPccSubspaceType2Info {=0D + /** Generic Pcc information.=0D +=0D + The Subspace of Type0 contains information that can be re-used=0D + in other Subspace types.=0D + */=0D + PCC_SUBSPACE_GENERIC_INFO GenericPccInfo;=0D +=0D + /// Platform Interrupt.=0D + CM_ARCH_COMMON_GENERIC_INTERRUPT PlatIrq;=0D +=0D + /// Platform Interrupt Register.=0D + PCC_MAILBOX_REGISTER_INFO PlatIrqAckReg;=0D +} CM_ARCH_COMMON_PCC_SUBSPACE_TYPE2_INFO;=0D +=0D #pragma pack()=0D =0D #endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_=0D diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTables= Pkg/Include/ArmNameSpaceObjects.h index 8a62d9386263..c287a855da87 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -51,12 +51,11 @@ typedef enum ArmObjectID { EArmObjCmn600Info, ///< 20 - C= MN-600 Info=0D EArmObjRmr, ///< 21 - R= eserved Memory Range Node=0D EArmObjMemoryRangeDescriptor, ///< 22 - M= emory Range Descriptor=0D - EArmObjPccSubspaceType2Info, ///< 23 - P= cc Subspace Type 2 Info=0D - EArmObjPccSubspaceType3Info, ///< 24 - P= cc Subspace Type 3 Info=0D - EArmObjPccSubspaceType4Info, ///< 25 - P= cc Subspace Type 4 Info=0D - EArmObjPccSubspaceType5Info, ///< 26 - P= cc Subspace Type 5 Info=0D - EArmObjEtInfo, ///< 27 - E= mbedded Trace Extension/Module Info=0D - EArmObjPsdInfo, ///< 28 - P= -State Dependency (PSD) Info=0D + EArmObjPccSubspaceType3Info, ///< 23 - P= cc Subspace Type 3 Info=0D + EArmObjPccSubspaceType4Info, ///< 24 - P= cc Subspace Type 4 Info=0D + EArmObjPccSubspaceType5Info, ///< 25 - P= cc Subspace Type 5 Info=0D + EArmObjEtInfo, ///< 26 - E= mbedded Trace Extension/Module Info=0D + EArmObjPsdInfo, ///< 27 - P= -State Dependency (PSD) Info=0D EArmObjMax=0D } EARM_OBJECT_ID;=0D =0D @@ -712,26 +711,6 @@ typedef struct CmArmRmrDescriptor { UINT64 Length;=0D } CM_ARM_MEMORY_RANGE_DESCRIPTOR;=0D =0D -/** A structure that describes a=0D - PCC Subspace of type 2 (HW-Reduced).=0D -=0D - ID: EArmObjPccSubspaceType2Info=0D -*/=0D -typedef struct CmArmPccSubspaceType2Info {=0D - /** Generic Pcc information.=0D -=0D - The Subspace of Type0 contains information that can be re-used=0D - in other Subspace types.=0D - */=0D - PCC_SUBSPACE_GENERIC_INFO GenericPccInfo;=0D -=0D - /// Platform Interrupt.=0D - CM_ARCH_COMMON_GENERIC_INTERRUPT PlatIrq;=0D -=0D - /// Platform Interrupt Register.=0D - PCC_MAILBOX_REGISTER_INFO PlatIrqAckReg;=0D -} CM_ARM_PCC_SUBSPACE_TYPE2_INFO;=0D -=0D /** A structure that describes a=0D PCC Subspace of type 3 (Extended)=0D =0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator= .c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c index 183d8cd221bb..552aca4af47c 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c @@ -31,7 +31,7 @@ Requirements: this Generator:=0D - EArchCommonObjPccSubspaceType0Info=0D - EArchCommonObjPccSubspaceType1Info=0D - - EArmObjPccSubspaceType2Info=0D + - EArchCommonObjPccSubspaceType2Info=0D - EArmObjPccSubspaceType3Info=0D - EArmObjPccSubspaceType4Info=0D - EArmObjPccSubspaceType5Info=0D @@ -59,9 +59,9 @@ GET_OBJECT_LIST ( Subspace of Type 2 Information from the Configuration Manager.=0D */=0D GET_OBJECT_LIST (=0D - EObjNameSpaceArm,=0D - EArmObjPccSubspaceType2Info,=0D - CM_ARM_PCC_SUBSPACE_TYPE2_INFO=0D + EObjNameSpaceArchCommon,=0D + EArchCommonObjPccSubspaceType2Info,=0D + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE2_INFO=0D );=0D =0D /** This macro expands to a function that retrieves the PCC=0D @@ -252,7 +252,7 @@ MapPccSubspaceId ( break;=0D =0D case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS:=0D - CmObjSize =3D sizeof (CM_ARM_PCC_SUBSPACE_TYPE2_INFO);=0D + CmObjSize =3D sizeof (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE2_INFO);=0D break;=0D =0D case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_3_EXTENDED_PCC:=0D @@ -418,7 +418,7 @@ STATIC EFI_STATUS=0D EFIAPI=0D AddSubspaceStructType2 (=0D - IN CM_ARM_PCC_SUBSPACE_TYPE2_INFO *PccCmObj,=0D + IN CM_ARCH_COMMON_PCC_SUBSPACE_TYPE2_INFO *PccCmObj,=0D IN EFI_ACPI_6_4_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS *PccAcpi=0D )=0D {=0D @@ -725,7 +725,7 @@ PopulatePcctTable ( =0D case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS:=0D Status =3D AddSubspaceStructType2 (=0D - (CM_ARM_PCC_SUBSPACE_TYPE2_INFO *)CurrentPccSubspace,=0D + (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE2_INFO *)CurrentPccSub= space,=0D (EFI_ACPI_6_4_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS= *)PccBuffer=0D );=0D =0D @@ -828,7 +828,7 @@ BuildPcctTable ( UINT32 PccType0Count;=0D CM_ARCH_COMMON_PCC_SUBSPACE_TYPE1_INFO *PccType1;=0D UINT32 PccType1Count;=0D - CM_ARM_PCC_SUBSPACE_TYPE2_INFO *PccType2;=0D + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE2_INFO *PccType2;=0D UINT32 PccType2Count;=0D CM_ARM_PCC_SUBSPACE_TYPE3_INFO *PccType3;=0D UINT32 PccType3Count;=0D @@ -887,7 +887,7 @@ BuildPcctTable ( goto error_handler;=0D }=0D =0D - Status =3D GetEArmObjPccSubspaceType2Info (=0D + Status =3D GetEArchCommonObjPccSubspaceType2Info (=0D CfgMgrProtocol,=0D CM_NULL_TOKEN,=0D &PccType2,=0D diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTok= enFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectToke= nFixer.c index 3a19870aad34..b73d0ded953d 100644 --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer= .c +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer= .c @@ -166,12 +166,11 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] =3D { NULL, ///< 20 - CMN-600 Info=0D NULL, ///< 21 - Reserved Memory Range Node=0D NULL, ///< 22 - Memory Range Descriptor=0D - NULL, ///< 23 - Pcc Subspace Type 2 Info=0D - NULL, ///< 24 - Pcc Subspace Type 3 Info=0D - NULL, ///< 25 - Pcc Subspace Type 4 Info=0D - NULL, ///< 26 - Pcc Subspace Type 5 Info=0D - NULL, ///< 27 - Embedded Trace Extension/Mod= ule Info=0D - NULL ///< 28 - P-State Dependency (PSD) Inf= o=0D + NULL, ///< 23 - Pcc Subspace Type 3 Info=0D + NULL, ///< 24 - Pcc Subspace Type 4 Info=0D + NULL, ///< 25 - Pcc Subspace Type 5 Info=0D + NULL, ///< 26 - Embedded Trace Extension/Mod= ule Info=0D + NULL ///< 27 - P-State Dependency (PSD) Inf= o=0D };=0D =0D /** CmObj token fixer.=0D diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationMa= nagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/Config= urationManagerObjectParser.c index f8e277f1805e..c3e18b5a9500 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerOb= jectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerOb= jectParser.c @@ -600,9 +600,9 @@ STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType= 1InfoParser[] =3D { ARRAY_SIZE (CmArchCommonGenericInterruptParser) },=0D };=0D =0D -/** A parser for EArmObjPccSubspaceType2Info.=0D +/** A parser for EArchCommonObjPccSubspaceType2Info.=0D */=0D -STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType2InfoParser[] =3D {=0D +STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType2InfoParser[] =3D {= =0D { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),=0D NULL, NULL, CmArchCommonPccSubspaceType0InfoParser,=0D ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) },=0D @@ -691,6 +691,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceOb= jectParser[] =3D { CM_PARSER_ADD_OBJECT (EArchCommonObjCpcInfo, CmArchC= ommonCpcInfoParser),=0D CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType0Info, CmArchC= ommonPccSubspaceType0InfoParser),=0D CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType1Info, CmArchC= ommonPccSubspaceType1InfoParser),=0D + CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType2Info, CmArchC= ommonPccSubspaceType2InfoParser),=0D CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)=0D };=0D =0D @@ -720,7 +721,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectPar= ser[] =3D { CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600Info= Parser),=0D CM_PARSER_ADD_OBJECT (EArmObjRmr, CmArmRmrInfoPar= ser),=0D CM_PARSER_ADD_OBJECT (EArmObjMemoryRangeDescriptor, CmArmMemoryRang= eDescriptorInfoParser),=0D - CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType2Info, CmArmPccSubspac= eType2InfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType3Info, CmArmPccSubspac= eType34InfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType4Info, CmArmPccSubspac= eType34InfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType5Info, CmArmPccSubspac= eType5InfoParser),=0D diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 3fa3dd9af948..59b6f8d1eaa3 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -463,12 +463,11 @@ The CM_OBJECT_ID type is used to identify the Configu= ration Manager | 20 | CMN 600 Info | |=0D | 21 | Reserved Memory Range Node | |=0D | 22 | Memory Range Descriptor | |=0D -| 23 | Pcc Subspace Type 2 Info | Move to Arch Common = NS |=0D -| 24 | Pcc Subspace Type 3 Info | Move to Arch Common = NS |=0D -| 25 | Pcc Subspace Type 4 Info | Move to Arch Common = NS |=0D -| 26 | Pcc Subspace Type 5 Info | Move to Arch Common = NS |=0D -| 27 | Embedded Trace Extension/Module Info | |=0D -| 28 | P-State Dependency (PSD) Info | Move to Arch Common = NS |=0D +| 23 | Pcc Subspace Type 3 Info | Move to Arch Common = NS |=0D +| 24 | Pcc Subspace Type 4 Info | Move to Arch Common = NS |=0D +| 25 | Pcc Subspace Type 5 Info | Move to Arch Common = NS |=0D +| 26 | Embedded Trace Extension/Module Info | |=0D +| 27 | P-State Dependency (PSD) Info | Move to Arch Common = NS |=0D | `*` | All other values are reserved. | |=0D =0D #### Object ID's in the Arch Common Namespace:=0D @@ -496,5 +495,6 @@ The CM_OBJECT_ID type is used to identify the Configura= tion Manager | 18 | Continuous Performance Control Info | |=0D | 19 | Pcc Subspace Type 0 Info | |=0D | 20 | Pcc Subspace Type 1 Info | |=0D +| 21 | Pcc Subspace Type 2 Info | |=0D | `*` | All other values are reserved. | |=0D =0D --=20 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116994): https://edk2.groups.io/g/devel/message/116994 Mute This Topic: https://groups.io/mt/105068174/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-