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 EFDB17803CD for ; Thu, 21 Mar 2024 16:00:42 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=dmdlxpfMj9zJkYrDBvhR2DJroQ8C5MsYwKNwjUMW6fc=; 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=1711036841; v=1; b=QRDXyXT+SMJG+AFCXTYExbz1FVAgIQRorBqtrVMGtmLmVnONy8Vcus+uIqBnmu7PVcbGPUrk YMW9Ge2LTAfpdRpOP45aezxMu7OeCHDq+89tDKdW7+bUt7/QtobuN8RdEX/CfVdrmX/n7GOmJWu YQFW4CA5L1tNAtXH0zKMxPW1pijCQvhydzj5YOgpmOW7HfckVEXVBL/49CRDvk57NuI00WtP24k Ms7LiE9NsS3i14TPcCJ9RQLRiPEDtkobesOuXaYeiHfFD97evDNMv2YSAPJIDWi6GSA8KcRCqLJ YVswbGDyOPlH3olMMHuI+oRhCqipHNRbmsrkogX3GF4DA== X-Received: by 127.0.0.2 with SMTP id HBRPYY7687511xrIjoCyLrLE; Thu, 21 Mar 2024 09:00:41 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.615.1711036841007777510 for ; Thu, 21 Mar 2024 09:00:41 -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 0BB261007; Thu, 21 Mar 2024 09:01:15 -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 9A2C63F67D; Thu, 21 Mar 2024 09:00:36 -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 08/19] DynamicTablesPkg: Move LPI info object to Arch Common Date: Thu, 21 Mar 2024 16:59:13 +0100 Message-Id: <20240321155924.707272-9-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:00:41 -0700 Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 4uDJ9cZ1NZ1Pw9BCqVXvLPgKx7686176AA= 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=QRDXyXT+; 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 From: Sami Mujawar Move the LPI info object from Arm Namespace to the Arch Common namespace. Correspondingly also update the following modules to reflect the changes introduced by the move: - SSDT Cpu Topology 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 | 64 ++++++++++++++ .../Include/ArmNameSpaceObjects.h | 88 +++---------------- .../SsdtCpuTopologyGenerator.c | 27 +++--- .../SsdtCpuTopologyGenerator.h | 6 +- .../DynamicPlatRepoLib/CmObjectTokenFixer.c | 21 +++-- .../ConfigurationManagerObjectParser.c | 6 +- DynamicTablesPkg/Readme.md | 24 ++--- 7 files changed, 118 insertions(+), 118 deletions(-) diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/Dynami= cTablesPkg/Include/ArchCommonNameSpaceObjects.h index b70c327d46e4..681e84501960 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -35,6 +35,7 @@ typedef enum ArchCommonObjectID { EArchCommonObjDeviceHandleAcpi, ///< 12 - Device Handle Ac= pi=0D EArchCommonObjDeviceHandlePci, ///< 13 - Device Handle Pc= i=0D EArchCommonObjGenericInitiatorAffinityInfo, ///< 14 - Generic Initiato= r Affinity=0D + EArchCommonObjLpiInfo, ///< 15 - Lpi Info=0D EArchCommonObjMax=0D } EARCH_COMMON_OBJECT_ID;=0D =0D @@ -295,6 +296,69 @@ typedef struct CmArchCommonGenericInitiatorAffinityInf= o { CM_OBJECT_TOKEN DeviceHandleToken;=0D } CM_ARCH_COMMON_GENERIC_INITIATOR_AFFINITY_INFO;=0D =0D +/** A structure that describes the Lpi information.=0D +=0D + The Low Power Idle states are described in DSDT/SSDT and associated=0D + to cpus/clusters in the cpu topology.=0D +=0D + ID: EArchCommonObjLpiInfo=0D +*/=0D +typedef struct CmArchCommonLpiInfo {=0D + /** Minimum Residency. Time in microseconds after which a=0D + state becomes more energy efficient than any shallower state.=0D + */=0D + UINT32 MinResidency;=0D +=0D + /** Worst case time in microseconds from a wake interrupt=0D + being asserted to the return to a running state=0D + */=0D + UINT32 WorstCaseWakeLatency;=0D +=0D + /** Flags.=0D + */=0D + UINT32 Flags;=0D +=0D + /** Architecture specific context loss flags.=0D + */=0D + UINT32 ArchFlags;=0D +=0D + /** Residency counter frequency in cycles-per-second (Hz).=0D + */=0D + UINT32 ResCntFreq;=0D +=0D + /** Every shallower power state in the parent is also enabled.=0D + */=0D + UINT32 EnableParentState;=0D +=0D + /** The EntryMethod _LPI field can be described as an integer=0D + or in a Register resource data descriptor.=0D +=0D + If IsInteger is TRUE, the IntegerEntryMethod field is used.=0D + If IsInteger is FALSE, the RegisterEntryMethod field is used.=0D + */=0D + BOOLEAN IsInteger;=0D +=0D + /** EntryMethod described as an Integer.=0D + */=0D + UINT64 IntegerEntryMethod;=0D +=0D + /** EntryMethod described as a EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR.=0D + */=0D + EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE RegisterEntryMethod;=0D +=0D + /** Residency counter register.=0D + */=0D + EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE ResidencyCounterRegister;=0D +=0D + /** Usage counter register.=0D + */=0D + EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE UsageCounterRegister;=0D +=0D + /** String representing the Lpi state=0D + */=0D + CHAR8 StateName[16];=0D +} CM_ARCH_COMMON_LPI_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 ddf886a53db4..e019323c1fcd 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -51,18 +51,17 @@ typedef enum ArmObjectID { EArmObjProcHierarchyInfo, ///< 20 - P= rocessor Hierarchy Info=0D EArmObjCacheInfo, ///< 21 - C= ache Info=0D EArmObjCmn600Info, ///< 22 - C= MN-600 Info=0D - EArmObjLpiInfo, ///< 23 - L= pi Info=0D - EArmObjRmr, ///< 24 - R= eserved Memory Range Node=0D - EArmObjMemoryRangeDescriptor, ///< 25 - M= emory Range Descriptor=0D - EArmObjCpcInfo, ///< 26 - C= ontinuous Performance Control Info=0D - EArmObjPccSubspaceType0Info, ///< 27 - P= cc Subspace Type 0 Info=0D - EArmObjPccSubspaceType1Info, ///< 28 - P= cc Subspace Type 2 Info=0D - EArmObjPccSubspaceType2Info, ///< 29 - P= cc Subspace Type 2 Info=0D - EArmObjPccSubspaceType3Info, ///< 30 - P= cc Subspace Type 3 Info=0D - EArmObjPccSubspaceType4Info, ///< 31 - P= cc Subspace Type 4 Info=0D - EArmObjPccSubspaceType5Info, ///< 32 - P= cc Subspace Type 5 Info=0D - EArmObjEtInfo, ///< 33 - E= mbedded Trace Extension/Module Info=0D - EArmObjPsdInfo, ///< 34 - P= -State Dependency (PSD) Info=0D + EArmObjRmr, ///< 23 - R= eserved Memory Range Node=0D + EArmObjMemoryRangeDescriptor, ///< 24 - M= emory Range Descriptor=0D + EArmObjCpcInfo, ///< 25 - C= ontinuous Performance Control Info=0D + EArmObjPccSubspaceType0Info, ///< 26 - P= cc Subspace Type 0 Info=0D + EArmObjPccSubspaceType1Info, ///< 27 - P= cc Subspace Type 2 Info=0D + EArmObjPccSubspaceType2Info, ///< 28 - P= cc Subspace Type 2 Info=0D + EArmObjPccSubspaceType3Info, ///< 29 - P= cc Subspace Type 3 Info=0D + EArmObjPccSubspaceType4Info, ///< 30 - P= cc Subspace Type 4 Info=0D + EArmObjPccSubspaceType5Info, ///< 31 - P= cc Subspace Type 5 Info=0D + EArmObjEtInfo, ///< 32 - E= mbedded Trace Extension/Module Info=0D + EArmObjPsdInfo, ///< 33 - P= -State Dependency (PSD) Info=0D EArmObjMax=0D } EARM_OBJECT_ID;=0D =0D @@ -672,7 +671,7 @@ typedef struct CmArmProcHierarchyInfo { CM_OBJECT_TOKEN PrivateResourcesArrayToken;=0D /// Optional field: Reference Token for the Lpi state of this processor.= =0D /// Token identifying a CM_ARCH_COMMON_OBJ_REF structure, itself referen= cing=0D - /// CM_ARM_LPI_INFO objects.=0D + /// CM_ARCH_COMMON_LPI_INFO objects.=0D CM_OBJECT_TOKEN LpiToken;=0D /// Set to TRUE if UID should override index for name and _UID=0D /// for processor container nodes and name of processors.=0D @@ -749,69 +748,6 @@ typedef struct CmArmCmn600Info { CM_ARM_EXTENDED_INTERRUPT DtcInterrupt[4];=0D } CM_ARM_CMN_600_INFO;=0D =0D -/** A structure that describes the Lpi information.=0D -=0D - The Low Power Idle states are described in DSDT/SSDT and associated=0D - to cpus/clusters in the cpu topology.=0D -=0D - ID: EArmObjLpiInfo=0D -*/=0D -typedef struct CmArmLpiInfo {=0D - /** Minimum Residency. Time in microseconds after which a=0D - state becomes more energy efficient than any shallower state.=0D - */=0D - UINT32 MinResidency;=0D -=0D - /** Worst case time in microseconds from a wake interrupt=0D - being asserted to the return to a running state=0D - */=0D - UINT32 WorstCaseWakeLatency;=0D -=0D - /** Flags.=0D - */=0D - UINT32 Flags;=0D -=0D - /** Architecture specific context loss flags.=0D - */=0D - UINT32 ArchFlags;=0D -=0D - /** Residency counter frequency in cycles-per-second (Hz).=0D - */=0D - UINT32 ResCntFreq;=0D -=0D - /** Every shallower power state in the parent is also enabled.=0D - */=0D - UINT32 EnableParentState;=0D -=0D - /** The EntryMethod _LPI field can be described as an integer=0D - or in a Register resource data descriptor.=0D -=0D - If IsInteger is TRUE, the IntegerEntryMethod field is used.=0D - If IsInteger is FALSE, the RegisterEntryMethod field is used.=0D - */=0D - BOOLEAN IsInteger;=0D -=0D - /** EntryMethod described as an Integer.=0D - */=0D - UINT64 IntegerEntryMethod;=0D -=0D - /** EntryMethod described as a EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR.=0D - */=0D - EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE RegisterEntryMethod;=0D -=0D - /** Residency counter register.=0D - */=0D - EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE ResidencyCounterRegister;=0D -=0D - /** Usage counter register.=0D - */=0D - EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE UsageCounterRegister;=0D -=0D - /** String representing the Lpi state=0D - */=0D - CHAR8 StateName[16];=0D -} CM_ARM_LPI_INFO;=0D -=0D /** A structure that describes the=0D RMR node for the Platform.=0D =0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/Ss= dtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTop= ologyLibArm/SsdtCpuTopologyGenerator.c index 994733a4e9c2..6ce7b71fac8b 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTo= pologyGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTo= pologyGenerator.c @@ -40,7 +40,7 @@ Requirements: - EArmObjGicCInfo=0D - EArmObjProcHierarchyInfo (OPTIONAL) along with=0D - EArchCommonObjCmRef (OPTIONAL)=0D - - EArmObjLpiInfo (OPTIONAL)=0D + - EArchCommonObjLpiInfo (OPTIONAL)=0D - GetEArmObjEtInfo (OPTIONAL)=0D - EArmObjPsdInfo (OPTIONAL)=0D */=0D @@ -79,9 +79,9 @@ GET_OBJECT_LIST ( information from the Configuration Manager.=0D */=0D GET_OBJECT_LIST (=0D - EObjNameSpaceArm,=0D - EArmObjLpiInfo,=0D - CM_ARM_LPI_INFO=0D + EObjNameSpaceArchCommon,=0D + EArchCommonObjLpiInfo,=0D + CM_ARCH_COMMON_LPI_INFO=0D );=0D =0D /**=0D @@ -118,7 +118,7 @@ GET_OBJECT_LIST ( =0D One entry should be allocated for each CM_ARM_PROC_HIERARCHY_INFO=0D structure of the platform. The TokenTable allows to have a mapping:=0D - Index <-> CM_OBJECT_TOKEN (to CM_ARM_LPI_INFO structures).=0D + Index <-> CM_OBJECT_TOKEN (to CM_ARCH_COMMON_LPI_INFO structures).=0D =0D There will always be less sets of Lpi states (CM_ARCH_COMMON_OBJ_REF)=0D than the number of cpus/clusters (CM_ARM_PROC_HIERARCHY_INFO).=0D @@ -696,12 +696,12 @@ GenerateLpiStates ( UINT32 Index;=0D UINT32 LastIndex;=0D =0D - AML_OBJECT_NODE_HANDLE LpiNode;=0D - CM_ARCH_COMMON_OBJ_REF *LpiRefInfo;=0D - UINT32 LpiRefInfoCount;=0D - UINT32 LpiRefIndex;=0D - CM_ARM_LPI_INFO *LpiInfo;=0D - CHAR8 AslName[AML_NAME_SEG_SIZE + 1];=0D + AML_OBJECT_NODE_HANDLE LpiNode;=0D + CM_ARCH_COMMON_OBJ_REF *LpiRefInfo;=0D + UINT32 LpiRefInfoCount;=0D + UINT32 LpiRefIndex;=0D + CM_ARCH_COMMON_LPI_INFO *LpiInfo;=0D + CHAR8 AslName[AML_NAME_SEG_SIZE + 1];=0D =0D ASSERT (Generator !=3D NULL);=0D ASSERT (Generator->TokenTable.Table !=3D NULL);=0D @@ -739,8 +739,9 @@ GenerateLpiStates ( }=0D =0D for (LpiRefIndex =3D 0; LpiRefIndex < LpiRefInfoCount; LpiRefIndex++) = {=0D - // For each CM_ARM_LPI_INFO referenced by the token, add an Lpi stat= e.=0D - Status =3D GetEArmObjLpiInfo (=0D + // For each CM_ARCH_COMMON_LPI_INFO referenced by the token,=0D + // add an Lpi state.=0D + Status =3D GetEArchCommonObjLpiInfo (=0D CfgMgrProtocol,=0D LpiRefInfo[LpiRefIndex].ReferenceToken,=0D &LpiInfo,=0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/Ss= dtCpuTopologyGenerator.h b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTop= ologyLibArm/SsdtCpuTopologyGenerator.h index d6561e33da11..889711789fa0 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTo= pologyGenerator.h +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTo= pologyGenerator.h @@ -70,7 +70,7 @@ /** A structure used to handle the Lpi structures referencing.=0D =0D A CM_ARM_PROC_HIERARCHY_INFO structure references a CM_ARCH_COMMON_OBJ_R= EF.=0D - This CM_ARCH_COMMON_OBJ_REF references CM_ARM_LPI_INFO structures.=0D + This CM_ARCH_COMMON_OBJ_REF references CM_ARCH_COMMON_LPI_INFO structure= s.=0D =0D Example:=0D (Cpu0) (Cpu1)=0D @@ -86,7 +86,7 @@ | |=0D v v=0D (A first Lpi state) (A second Lpi state)=0D - CM_ARM_LPI_INFO[0] CM_ARM_LPI_INFO[1]=0D + CM_ARCH_COMMON_LPI_INFO[0] CM_ARCH_COMMON_LPI_INF= O[1]=0D =0D Here, Cpu0 and Cpu1 have the same Lpi states. Both CM_ARM_PROC_HIERARCHY= _INFO=0D structures reference the same CM_ARCH_COMMON_OBJ_REF. An entry is create= d in the=0D @@ -118,7 +118,7 @@ */=0D typedef struct TokenTable {=0D /// TokenTable, a table allowing to map:=0D - /// Index <-> CM_OBJECT_TOKEN (to CM_ARM_LPI_INFO structures).=0D + /// Index <-> CM_OBJECT_TOKEN (to CM_ARCH_COMMON_LPI_INFO structures).=0D CM_OBJECT_TOKEN *Table;=0D =0D /// Last used index of the TokenTable.=0D diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTok= enFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectToke= nFixer.c index 5f3e9f5fdcb5..de3338d10884 100644 --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer= .c +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer= .c @@ -166,18 +166,17 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] =3D { TokenFixerNotImplemented, ///< 20 - Processor Hierarchy Info=0D TokenFixerNotImplemented, ///< 21 - Cache Info=0D NULL, ///< 22 - CMN-600 Info=0D - NULL, ///< 23 - Lpi Info=0D - NULL, ///< 24 - Reserved Memory Range Node=0D - NULL, ///< 25 - Memory Range Descriptor=0D - NULL, ///< 26 - Continuous Performance Contr= ol Info=0D - NULL, ///< 27 - Pcc Subspace Type 0 Info=0D + NULL, ///< 23 - Reserved Memory Range Node=0D + NULL, ///< 24 - Memory Range Descriptor=0D + NULL, ///< 25 - Continuous Performance Contr= ol Info=0D + NULL, ///< 26 - Pcc Subspace Type 0 Info=0D + NULL, ///< 27 - Pcc Subspace Type 2 Info=0D NULL, ///< 28 - Pcc Subspace Type 2 Info=0D - NULL, ///< 29 - Pcc Subspace Type 2 Info=0D - NULL, ///< 30 - Pcc Subspace Type 3 Info=0D - NULL, ///< 31 - Pcc Subspace Type 4 Info=0D - NULL, ///< 32 - Pcc Subspace Type 5 Info=0D - NULL, ///< 33 - Embedded Trace Extension/Mod= ule Info=0D - NULL ///< 34 - P-State Dependency (PSD) Inf= o=0D + NULL, ///< 29 - Pcc Subspace Type 3 Info=0D + NULL, ///< 30 - Pcc Subspace Type 4 Info=0D + NULL, ///< 31 - Pcc Subspace Type 5 Info=0D + NULL, ///< 32 - Embedded Trace Extension/Mod= ule Info=0D + NULL ///< 33 - 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 732454da8f93..050cd04d09c2 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerOb= jectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerOb= jectParser.c @@ -417,9 +417,9 @@ STATIC CONST CM_OBJ_PARSER AcpiGenericAddressParser[] = =3D { { "Address", 8, "0x%llx", NULL },=0D };=0D =0D -/** A parser for EArmObjLpiInfo.=0D +/** A parser for EArchCommonObjLpiInfo.=0D */=0D -STATIC CONST CM_OBJ_PARSER CmArmLpiInfoParser[] =3D {=0D +STATIC CONST CM_OBJ_PARSER CmArchCommonLpiInfoParser[] =3D {=0D { "MinResidency", 4, = "0x%x", NULL },=0D { "WorstCaseWakeLatency", 4, = "0x%x", NULL },=0D { "Flags", 4, = "0x%x", NULL },=0D @@ -685,6 +685,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceOb= jectParser[] =3D { CM_PARSER_ADD_OBJECT (EArchCommonObjDeviceHandleAcpi, CmArchC= ommonDeviceHandleAcpiParser),=0D CM_PARSER_ADD_OBJECT (EArchCommonObjDeviceHandlePci, CmArchC= ommonDeviceHandlePciParser),=0D CM_PARSER_ADD_OBJECT (EArchCommonObjGenericInitiatorAffinityInfo,CmArchC= ommonGenericInitiatorAffinityInfoParser),=0D + CM_PARSER_ADD_OBJECT (EArchCommonObjLpiInfo, CmArchC= ommonLpiInfoParser),=0D CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)=0D };=0D =0D @@ -714,7 +715,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectPar= ser[] =3D { CM_PARSER_ADD_OBJECT (EArmObjProcHierarchyInfo, CmArmProcHierar= chyInfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjCacheInfo, CmArmCacheInfoP= arser),=0D CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600Info= Parser),=0D - CM_PARSER_ADD_OBJECT (EArmObjLpiInfo, CmArmLpiInfoPar= ser),=0D CM_PARSER_ADD_OBJECT (EArmObjRmr, CmArmRmrInfoPar= ser),=0D CM_PARSER_ADD_OBJECT (EArmObjMemoryRangeDescriptor, CmArmMemoryRang= eDescriptorInfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjCpcInfo, CmArmCpcInfoPar= ser),=0D diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 303f85986566..055836a7e31e 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -463,18 +463,17 @@ The CM_OBJECT_ID type is used to identify the Configu= ration Manager | 20 | Processor Hierarchy Info | Move to Arch Common = NS |=0D | 21 | Cache Info | Move to Arch Common = NS |=0D | 22 | CMN 600 Info | |=0D -| 23 | Low Power Idle State Info | Move to Arch Common = NS |=0D -| 24 | Reserved Memory Range Node | |=0D -| 25 | Memory Range Descriptor | |=0D -| 26 | Continuous Performance Control Info | Move to Arch Common = NS |=0D -| 27 | Pcc Subspace Type 0 Info | Move to Arch Common = NS |=0D -| 28 | Pcc Subspace Type 1 Info | Move to Arch Common = NS |=0D -| 29 | Pcc Subspace Type 2 Info | Move to Arch Common = NS |=0D -| 30 | Pcc Subspace Type 3 Info | Move to Arch Common = NS |=0D -| 31 | Pcc Subspace Type 4 Info | Move to Arch Common = NS |=0D -| 32 | Pcc Subspace Type 5 Info | Move to Arch Common = NS |=0D -| 33 | Embedded Trace Extension/Module Info | |=0D -| 34 | P-State Dependency (PSD) Info | Move to Arch Common = NS |=0D +| 23 | Reserved Memory Range Node | |=0D +| 24 | Memory Range Descriptor | |=0D +| 25 | Continuous Performance Control Info | Move to Arch Common = NS |=0D +| 26 | Pcc Subspace Type 0 Info | Move to Arch Common = NS |=0D +| 27 | Pcc Subspace Type 1 Info | Move to Arch Common = NS |=0D +| 28 | Pcc Subspace Type 2 Info | Move to Arch Common = NS |=0D +| 29 | Pcc Subspace Type 3 Info | Move to Arch Common = NS |=0D +| 30 | Pcc Subspace Type 4 Info | Move to Arch Common = NS |=0D +| 31 | Pcc Subspace Type 5 Info | Move to Arch Common = NS |=0D +| 32 | Embedded Trace Extension/Module Info | |=0D +| 33 | 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,4 +495,5 @@ The CM_OBJECT_ID type is used to identify the Configura= tion Manager | 12 | Device Handle Acpi | |=0D | 13 | Device Handle PCI | |=0D | 14 | Generic Initiator Affinity Info | |=0D +| 15 | Low Power Idle State Info | |=0D | `*` | All other values are reserved. | |=0D --=20 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116986): https://edk2.groups.io/g/devel/message/116986 Mute This Topic: https://groups.io/mt/105068159/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-