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 A1563D811BB for ; Thu, 21 Mar 2024 15:54:33 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=4oPx+YIAoRENlbtfLBpEcS0C2I7wB3qePveQzfpyp4g=; 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=1711036472; v=1; b=1Gx2JCbdI+MEM0QNAiV1+K45OeCF//aMUGkxjm9+D0C889VPV5NSD5WQ9hWt6HBGwfzy2let mPa1AWzgxRUTptisrCbaTXce2G3XoqxvFNlbKTbnlnmWZjbxRdmOVZcmypo2mvd60d1hm1Dusfc qa+tDLXB7GBNXwB8n6xlQDMnNi4kce445PLjigfpCmv5zilN2omxEPKthcrfQ7w2dVlDD/cDdYS 8T+BrEtx6Kkoo+zAOLR1rMjys1nvln4sVsAxmvuJ9xR9jnPTXxbfhk9zL3OzFCx4TzPgnVLFirx 7YwZEAeRQNMJ53vRbumvbArctCDQIGXla3t/evK2ME7jQ== X-Received: by 127.0.0.2 with SMTP id FbfRYY7687511xgJ0x9il4NH; Thu, 21 Mar 2024 08:54:32 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.400.1711036471491888926 for ; Thu, 21 Mar 2024 08:54:31 -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 75A9E1063; Thu, 21 Mar 2024 08:55:05 -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 5D2793F67D; Thu, 21 Mar 2024 08:54:28 -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 12/16] DynamicTablesPkg & ArmVirtPkg: Move Power Mgmt Profile Info Object Date: Thu, 21 Mar 2024 16:53:15 +0100 Message-Id: <20240321155319.701355-13-pierre.gondois@arm.com> In-Reply-To: <20240321155319.701355-1-pierre.gondois@arm.com> References: <20240321155319.701355-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 08:54:31 -0700 Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: nMgJYC8sHDJaV6RWeoPbImNcx7686176AA= 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=1Gx2JCbd; 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 PowerManagementProfileInfo Object from Arm Namespace to the Arch Common namespace. The following updates are also done to reflect the changes introduced by the move: - Update the FADT Generator to migrate to use the Power Management Profile Info object CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO and EArchCommonObjPowerManagementProfileInfo. - Update the Configuration manager object parser to parse Arch Common namespace objects and update the parsing of the Power Management Profile information object from Arm namespace to the Arch Common namespace. - Update the Dynamic Plat Repo TokenFixer map - Update ArmVirtPkg/Kvmtool Guest firmware configuration manager. 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 --- .../KvmtoolCfgMgrDxe/ConfigurationManager.c | 136 +++++++++--------- .../KvmtoolCfgMgrDxe/ConfigurationManager.h | 20 +-- .../Include/ArchCommonNameSpaceObjects.h | 53 +++++++ .../Include/ArmNameSpaceObjects.h | 135 ++++++----------- .../Include/Library/SsdtSerialPortFixupLib.h | 16 +-- .../Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 20 +-- .../Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 14 +- .../Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c | 18 +-- .../SsdtSerialPortGenerator.c | 24 ++-- .../DynamicPlatRepoLib/CmObjectTokenFixer.c | 90 ++++++------ .../SsdtSerialPortFixupLib.c | 46 +++--- .../ConfigurationManagerObjectParser.c | 18 +-- .../Serial/ArmSerialPortParser.c | 79 +++++----- .../Serial/ArmSerialPortParser.h | 8 +- DynamicTablesPkg/Readme.md | 94 ++++++------ 15 files changed, 386 insertions(+), 385 deletions(-) diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c b/ArmVirtPk= g/KvmtoolCfgMgrDxe/ConfigurationManager.c index 4a76583f969c..724054440644 100644 --- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c +++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c @@ -761,74 +761,7 @@ GetArchCommonNameSpaceObject ( // First check among the static objects.=0D //=0D switch (GET_CM_OBJECT_ID (CmObjectId)) {=0D - default:=0D - //=0D - // No match found among the static objects.=0D - // Check the dynamic objects.=0D - //=0D - Status =3D DynamicPlatRepoGetObject (=0D - PlatformRepo->DynamicPlatformRepo,=0D - CmObjectId,=0D - Token,=0D - CmObject=0D - );=0D - break;=0D - } // switch=0D -=0D - if (Status =3D=3D EFI_NOT_FOUND) {=0D - DEBUG ((=0D - DEBUG_INFO,=0D - "INFO: CmObjectId " FMT_CM_OBJECT_ID ". Status =3D %r\n",=0D - CmObjectId,=0D - Status=0D - ));=0D - } else {=0D - ASSERT_EFI_ERROR (Status);=0D - }=0D -=0D - return Status;=0D -}=0D -=0D -/**=0D - Return an ARM namespace object.=0D -=0D - @param [in] This Pointer to the Configuration Manager Protoc= ol.=0D - @param [in] CmObjectId The Configuration Manager Object ID.=0D - @param [in] Token An optional token identifying the object. I= f=0D - unused this must be CM_NULL_TOKEN.=0D - @param [in, out] CmObject Pointer to the Configuration Manager Object= =0D - descriptor describing the requested Object.= =0D -=0D - @retval EFI_SUCCESS Success.=0D - @retval EFI_INVALID_PARAMETER A parameter is invalid.=0D - @retval EFI_NOT_FOUND The required object information is not fou= nd.=0D -**/=0D -EFI_STATUS=0D -EFIAPI=0D -GetArmNameSpaceObject (=0D - IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This,=0D - IN CONST CM_OBJECT_ID CmObjectId,=0D - IN CONST CM_OBJECT_TOKEN Token OPTIONAL,= =0D - IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject=0D - )=0D -{=0D - EFI_STATUS Status;=0D - EDKII_PLATFORM_REPOSITORY_INFO *PlatformRepo;=0D -=0D - if ((This =3D=3D NULL) || (CmObject =3D=3D NULL)) {=0D - ASSERT (This !=3D NULL);=0D - ASSERT (CmObject !=3D NULL);=0D - return EFI_INVALID_PARAMETER;=0D - }=0D -=0D - Status =3D EFI_NOT_FOUND;=0D - PlatformRepo =3D This->PlatRepoInfo;=0D -=0D - //=0D - // First check among the static objects.=0D - //=0D - switch (GET_CM_OBJECT_ID (CmObjectId)) {=0D - case EArmObjPowerManagementProfileInfo:=0D + case EArchCommonObjPowerManagementProfileInfo:=0D Status =3D HandleCmObject (=0D CmObjectId,=0D &PlatformRepo->PmProfileInfo,=0D @@ -838,6 +771,73 @@ GetArmNameSpaceObject ( );=0D break;=0D =0D + default:=0D + //=0D + // No match found among the static objects.=0D + // Check the dynamic objects.=0D + //=0D + Status =3D DynamicPlatRepoGetObject (=0D + PlatformRepo->DynamicPlatformRepo,=0D + CmObjectId,=0D + Token,=0D + CmObject=0D + );=0D + break;=0D + } // switch=0D +=0D + if (Status =3D=3D EFI_NOT_FOUND) {=0D + DEBUG ((=0D + DEBUG_INFO,=0D + "INFO: CmObjectId " FMT_CM_OBJECT_ID ". Status =3D %r\n",=0D + CmObjectId,=0D + Status=0D + ));=0D + } else {=0D + ASSERT_EFI_ERROR (Status);=0D + }=0D +=0D + return Status;=0D +}=0D +=0D +/**=0D + Return an ARM namespace object.=0D +=0D + @param [in] This Pointer to the Configuration Manager Protoc= ol.=0D + @param [in] CmObjectId The Configuration Manager Object ID.=0D + @param [in] Token An optional token identifying the object. I= f=0D + unused this must be CM_NULL_TOKEN.=0D + @param [in, out] CmObject Pointer to the Configuration Manager Object= =0D + descriptor describing the requested Object.= =0D +=0D + @retval EFI_SUCCESS Success.=0D + @retval EFI_INVALID_PARAMETER A parameter is invalid.=0D + @retval EFI_NOT_FOUND The required object information is not fou= nd.=0D +**/=0D +EFI_STATUS=0D +EFIAPI=0D +GetArmNameSpaceObject (=0D + IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This,=0D + IN CONST CM_OBJECT_ID CmObjectId,=0D + IN CONST CM_OBJECT_TOKEN Token OPTIONAL,= =0D + IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject=0D + )=0D +{=0D + EFI_STATUS Status;=0D + EDKII_PLATFORM_REPOSITORY_INFO *PlatformRepo;=0D +=0D + if ((This =3D=3D NULL) || (CmObject =3D=3D NULL)) {=0D + ASSERT (This !=3D NULL);=0D + ASSERT (CmObject !=3D NULL);=0D + return EFI_INVALID_PARAMETER;=0D + }=0D +=0D + Status =3D EFI_NOT_FOUND;=0D + PlatformRepo =3D This->PlatRepoInfo;=0D +=0D + //=0D + // First check among the static objects.=0D + //=0D + switch (GET_CM_OBJECT_ID (CmObjectId)) {=0D case EArmObjItsGroup:=0D Status =3D HandleCmObject (=0D CmObjectId,=0D diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h b/ArmVirtPk= g/KvmtoolCfgMgrDxe/ConfigurationManager.h index 3373948bc4eb..4fb12db73b81 100644 --- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h +++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h @@ -73,53 +73,53 @@ typedef struct PlatformRepositoryInfo { ///=0D /// Configuration Manager Information.=0D ///=0D - CM_STD_OBJ_CONFIGURATION_MANAGER_INFO CmInfo;=0D + CM_STD_OBJ_CONFIGURATION_MANAGER_INFO CmInfo;=0D =0D ///=0D /// List of ACPI tables=0D ///=0D - CM_STD_OBJ_ACPI_TABLE_INFO CmAcpiTableList[PLAT_ACPI_TABLE= _COUNT];=0D + CM_STD_OBJ_ACPI_TABLE_INFO CmAcpiTableList[PLAT_ACP= I_TABLE_COUNT];=0D =0D ///=0D /// Power management profile information=0D ///=0D - CM_ARM_POWER_MANAGEMENT_PROFILE_INFO PmProfileInfo;=0D + CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO PmProfileInfo;=0D =0D ///=0D /// ITS Group node=0D ///=0D - CM_ARM_ITS_GROUP_NODE ItsGroupInfo;=0D + CM_ARM_ITS_GROUP_NODE ItsGroupInfo;=0D =0D ///=0D /// ITS Identifier array=0D ///=0D - CM_ARM_ITS_IDENTIFIER ItsIdentifierArray[1];=0D + CM_ARM_ITS_IDENTIFIER ItsIdentifierArray[1];=0D =0D ///=0D /// PCI Root complex node=0D ///=0D - CM_ARM_ROOT_COMPLEX_NODE RootComplexInfo;=0D + CM_ARM_ROOT_COMPLEX_NODE RootComplexInfo;=0D =0D ///=0D /// Array of DeviceID mapping=0D ///=0D - CM_ARM_ID_MAPPING DeviceIdMapping[1];=0D + CM_ARM_ID_MAPPING DeviceIdMapping[1];=0D =0D ///=0D /// Dynamic platform repository.=0D /// CmObj created by parsing the Kvmtool device tree are stored here.=0D ///=0D - DYNAMIC_PLATFORM_REPOSITORY_INFO *DynamicPlatformRepo;=0D + DYNAMIC_PLATFORM_REPOSITORY_INFO *DynamicPlatformRepo;=0D =0D ///=0D /// Base address of the FDT.=0D ///=0D - VOID *FdtBase;=0D + VOID *FdtBase;=0D =0D ///=0D /// A handle to the FDT HwInfoParser.=0D ///=0D - HW_INFO_PARSER_HANDLE FdtParserHandle;=0D + HW_INFO_PARSER_HANDLE FdtParserHandle;=0D } EDKII_PLATFORM_REPOSITORY_INFO;=0D =0D #endif // CONFIGURATION_MANAGER_H_=0D diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/Dynami= cTablesPkg/Include/ArchCommonNameSpaceObjects.h index e4205d6ba6bc..4eabb4d38b40 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -21,7 +21,60 @@ */=0D typedef enum ArchCommonObjectID {=0D EArchCommonObjReserved, ///< 0 - Reserved=0D + EArchCommonObjPowerManagementProfileInfo, ///< 1 - Power Management= Profile Info=0D + EArchCommonObjSerialPortInfo, ///< 2 - Generic Serial P= ort Info=0D + EArchCommonObjConsolePortInfo, ///< 3 - Serial Console P= ort Info=0D + EArchCommonObjSerialDebugPortInfo, ///< 4 - Serial Debug Por= t Info=0D EArchCommonObjMax=0D } EARCH_COMMON_OBJECT_ID;=0D =0D +#pragma pack(1)=0D +=0D +/** A structure that describes the=0D + Power Management Profile Information for the Platform.=0D +=0D + ID: EArchCommonObjPowerManagementProfileInfo=0D +*/=0D +typedef struct CmArchCommonPowerManagementProfileInfo {=0D + /** This is the Preferred_PM_Profile field of the FADT Table=0D + described in the ACPI Specification=0D + */=0D + UINT8 PowerManagementProfile;=0D +} CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO;=0D +=0D +/** A structure that describes the=0D + Serial Port information for the Platform.=0D +=0D + ID: EArchCommonObjConsolePortInfo or=0D + EArchCommonObjSerialDebugPortInfo or=0D + EArchCommonObjSerialPortInfo=0D +*/=0D +typedef struct EArchCommonSerialPortInfo {=0D + /// The physical base address for the serial port=0D + UINT64 BaseAddress;=0D +=0D + /** The serial port interrupt.=0D + 0 indicates that the serial port does not=0D + have an interrupt wired.=0D + */=0D + UINT32 Interrupt;=0D +=0D + /// The serial port baud rate=0D + UINT64 BaudRate;=0D +=0D + /// The serial port clock=0D + UINT32 Clock;=0D +=0D + /// Serial Port subtype=0D + UINT16 PortSubtype;=0D +=0D + /// The Base address length=0D + UINT64 BaseAddressLength;=0D +=0D + /// The access size=0D + UINT8 AccessSize;=0D +} CM_ARCH_COMMON_SERIAL_PORT_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 f7e1a0933f7b..4878eb60e3cb 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -30,53 +30,49 @@ typedef enum ArmObjectID {=0D EArmObjReserved, ///< 0 - R= eserved=0D EArmObjBootArchInfo, ///< 1 - B= oot Architecture Info=0D - EArmObjPowerManagementProfileInfo, ///< 2 - P= ower Management Profile Info=0D - EArmObjGicCInfo, ///< 3 - G= IC CPU Interface Info=0D - EArmObjGicDInfo, ///< 4 - G= IC Distributor Info=0D - EArmObjGicMsiFrameInfo, ///< 5 - G= IC MSI Frame Info=0D - EArmObjGicRedistributorInfo, ///< 6 - G= IC Redistributor Info=0D - EArmObjGicItsInfo, ///< 7 - G= IC ITS Info=0D - EArmObjSerialConsolePortInfo, ///< 8 - S= erial Console Port Info=0D - EArmObjSerialDebugPortInfo, ///< 9 - S= erial Debug Port Info=0D - EArmObjGenericTimerInfo, ///< 10 - G= eneric Timer Info=0D - EArmObjPlatformGTBlockInfo, ///< 11 - P= latform GT Block Info=0D - EArmObjGTBlockTimerFrameInfo, ///< 12 - G= eneric Timer Block Frame Info=0D - EArmObjPlatformGenericWatchdogInfo, ///< 13 - P= latform Generic Watchdog=0D - EArmObjPciConfigSpaceInfo, ///< 14 - P= CI Configuration Space Info=0D - EArmObjHypervisorVendorIdentity, ///< 15 - H= ypervisor Vendor Id=0D - EArmObjFixedFeatureFlags, ///< 16 - F= ixed feature flags for FADT=0D - EArmObjItsGroup, ///< 17 - I= TS Group=0D - EArmObjNamedComponent, ///< 18 - N= amed Component=0D - EArmObjRootComplex, ///< 19 - R= oot Complex=0D - EArmObjSmmuV1SmmuV2, ///< 20 - S= MMUv1 or SMMUv2=0D - EArmObjSmmuV3, ///< 21 - S= MMUv3=0D - EArmObjPmcg, ///< 22 - P= MCG=0D - EArmObjGicItsIdentifierArray, ///< 23 - G= IC ITS Identifier Array=0D - EArmObjIdMappingArray, ///< 24 - I= D Mapping Array=0D - EArmObjSmmuInterruptArray, ///< 25 - S= MMU Interrupt Array=0D - EArmObjProcHierarchyInfo, ///< 26 - P= rocessor Hierarchy Info=0D - EArmObjCacheInfo, ///< 27 - C= ache Info=0D - EArmObjCmRef, ///< 28 - C= M Object Reference=0D - EArmObjMemoryAffinityInfo, ///< 29 - M= emory Affinity Info=0D - EArmObjDeviceHandleAcpi, ///< 30 - D= evice Handle Acpi=0D - EArmObjDeviceHandlePci, ///< 31 - D= evice Handle Pci=0D - EArmObjGenericInitiatorAffinityInfo, ///< 32 - G= eneric Initiator Affinity=0D - EArmObjSerialPortInfo, ///< 33 - G= eneric Serial Port Info=0D - EArmObjCmn600Info, ///< 34 - C= MN-600 Info=0D - EArmObjLpiInfo, ///< 35 - L= pi Info=0D - EArmObjPciAddressMapInfo, ///< 36 - P= ci Address Map Info=0D - EArmObjPciInterruptMapInfo, ///< 37 - P= ci Interrupt Map Info=0D - EArmObjRmr, ///< 38 - R= eserved Memory Range Node=0D - EArmObjMemoryRangeDescriptor, ///< 39 - M= emory Range Descriptor=0D - EArmObjCpcInfo, ///< 40 - C= ontinuous Performance Control Info=0D - EArmObjPccSubspaceType0Info, ///< 41 - P= cc Subspace Type 0 Info=0D - EArmObjPccSubspaceType1Info, ///< 42 - P= cc Subspace Type 2 Info=0D - EArmObjPccSubspaceType2Info, ///< 43 - P= cc Subspace Type 2 Info=0D - EArmObjPccSubspaceType3Info, ///< 44 - P= cc Subspace Type 3 Info=0D - EArmObjPccSubspaceType4Info, ///< 45 - P= cc Subspace Type 4 Info=0D - EArmObjPccSubspaceType5Info, ///< 46 - P= cc Subspace Type 5 Info=0D - EArmObjEtInfo, ///< 47 - E= mbedded Trace Extension/Module Info=0D - EArmObjPsdInfo, ///< 48 - P= -State Dependency (PSD) Info=0D + EArmObjGicCInfo, ///< 2 - G= IC CPU Interface Info=0D + EArmObjGicDInfo, ///< 3 - G= IC Distributor Info=0D + EArmObjGicMsiFrameInfo, ///< 4 - G= IC MSI Frame Info=0D + EArmObjGicRedistributorInfo, ///< 5 - G= IC Redistributor Info=0D + EArmObjGicItsInfo, ///< 6 - G= IC ITS Info=0D + EArmObjGenericTimerInfo, ///< 7 - G= eneric Timer Info=0D + EArmObjPlatformGTBlockInfo, ///< 8 - P= latform GT Block Info=0D + EArmObjGTBlockTimerFrameInfo, ///< 9 - G= eneric Timer Block Frame Info=0D + EArmObjPlatformGenericWatchdogInfo, ///< 10 - P= latform Generic Watchdog=0D + EArmObjPciConfigSpaceInfo, ///< 11 - P= CI Configuration Space Info=0D + EArmObjHypervisorVendorIdentity, ///< 12 - H= ypervisor Vendor Id=0D + EArmObjFixedFeatureFlags, ///< 13 - F= ixed feature flags for FADT=0D + EArmObjItsGroup, ///< 14 - I= TS Group=0D + EArmObjNamedComponent, ///< 15 - N= amed Component=0D + EArmObjRootComplex, ///< 16 - R= oot Complex=0D + EArmObjSmmuV1SmmuV2, ///< 17 - S= MMUv1 or SMMUv2=0D + EArmObjSmmuV3, ///< 18 - S= MMUv3=0D + EArmObjPmcg, ///< 19 - P= MCG=0D + EArmObjGicItsIdentifierArray, ///< 20 - G= IC ITS Identifier Array=0D + EArmObjIdMappingArray, ///< 21 - I= D Mapping Array=0D + EArmObjSmmuInterruptArray, ///< 22 - S= MMU Interrupt Array=0D + EArmObjProcHierarchyInfo, ///< 23 - P= rocessor Hierarchy Info=0D + EArmObjCacheInfo, ///< 24 - C= ache Info=0D + EArmObjCmRef, ///< 25 - C= M Object Reference=0D + EArmObjMemoryAffinityInfo, ///< 26 - M= emory Affinity Info=0D + EArmObjDeviceHandleAcpi, ///< 27 - D= evice Handle Acpi=0D + EArmObjDeviceHandlePci, ///< 28 - D= evice Handle Pci=0D + EArmObjGenericInitiatorAffinityInfo, ///< 29 - G= eneric Initiator Affinity=0D + EArmObjCmn600Info, ///< 30 - C= MN-600 Info=0D + EArmObjLpiInfo, ///< 31 - L= pi Info=0D + EArmObjPciAddressMapInfo, ///< 32 - P= ci Address Map Info=0D + EArmObjPciInterruptMapInfo, ///< 33 - P= ci Interrupt Map Info=0D + EArmObjRmr, ///< 34 - R= eserved Memory Range Node=0D + EArmObjMemoryRangeDescriptor, ///< 35 - M= emory Range Descriptor=0D + EArmObjCpcInfo, ///< 36 - C= ontinuous Performance Control Info=0D + EArmObjPccSubspaceType0Info, ///< 37 - P= cc Subspace Type 0 Info=0D + EArmObjPccSubspaceType1Info, ///< 38 - P= cc Subspace Type 2 Info=0D + EArmObjPccSubspaceType2Info, ///< 39 - P= cc Subspace Type 2 Info=0D + EArmObjPccSubspaceType3Info, ///< 40 - P= cc Subspace Type 3 Info=0D + EArmObjPccSubspaceType4Info, ///< 41 - P= cc Subspace Type 4 Info=0D + EArmObjPccSubspaceType5Info, ///< 42 - P= cc Subspace Type 5 Info=0D + EArmObjEtInfo, ///< 43 - E= mbedded Trace Extension/Module Info=0D + EArmObjPsdInfo, ///< 44 - P= -State Dependency (PSD) Info=0D EArmObjMax=0D } EARM_OBJECT_ID;=0D =0D @@ -92,18 +88,6 @@ typedef struct CmArmBootArchInfo { UINT16 BootArchFlags;=0D } CM_ARM_BOOT_ARCH_INFO;=0D =0D -/** A structure that describes the=0D - Power Management Profile Information for the Platform.=0D -=0D - ID: EArmObjPowerManagementProfileInfo=0D -*/=0D -typedef struct CmArmPowerManagementProfileInfo {=0D - /** This is the Preferred_PM_Profile field of the FADT Table=0D - described in the ACPI Specification=0D - */=0D - UINT8 PowerManagementProfile;=0D -} CM_ARM_POWER_MANAGEMENT_PROFILE_INFO;=0D -=0D /** A structure that describes the=0D GIC CPU Interface for the Platform.=0D =0D @@ -310,39 +294,6 @@ typedef struct CmArmGicItsInfo { UINT32 ProximityDomain;=0D } CM_ARM_GIC_ITS_INFO;=0D =0D -/** A structure that describes the=0D - Serial Port information for the Platform.=0D -=0D - ID: EArmObjSerialConsolePortInfo or=0D - EArmObjSerialDebugPortInfo or=0D - EArmObjSerialPortInfo=0D -*/=0D -typedef struct CmArmSerialPortInfo {=0D - /// The physical base address for the serial port=0D - UINT64 BaseAddress;=0D -=0D - /** The serial port interrupt.=0D - 0 indicates that the serial port does not=0D - have an interrupt wired.=0D - */=0D - UINT32 Interrupt;=0D -=0D - /// The serial port baud rate=0D - UINT64 BaudRate;=0D -=0D - /// The serial port clock=0D - UINT32 Clock;=0D -=0D - /// Serial Port subtype=0D - UINT16 PortSubtype;=0D -=0D - /// The Base address length=0D - UINT64 BaseAddressLength;=0D -=0D - /// The access size=0D - UINT8 AccessSize;=0D -} CM_ARM_SERIAL_PORT_INFO;=0D -=0D /** A structure that describes the=0D Generic Timer information for the Platform.=0D =0D diff --git a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h b/Dy= namicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h index 4835f314c4f1..ac7b39f552de 100644 --- a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h +++ b/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h @@ -29,11 +29,11 @@ EFI_STATUS=0D EFIAPI=0D BuildSsdtSerialPortTable (=0D - IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,=0D - IN CONST CHAR8 *Name,=0D - IN CONST UINT64 Uid,=0D - OUT EFI_ACPI_DESCRIPTION_HEADER **Table=0D + IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,=0D + IN CONST CHAR8 *Name,=0D + IN CONST UINT64 Uid,=0D + OUT EFI_ACPI_DESCRIPTION_HEADER **Table=0D );=0D =0D /** Free an SSDT table previously created by=0D @@ -52,7 +52,7 @@ FreeSsdtSerialPortTable ( =0D /** Validate the Serial Port Information.=0D =0D - @param [in] SerialPortInfoTable Table of CM_ARM_SERIAL_PORT_INFO.=0D + @param [in] SerialPortInfoTable Table of CM_ARCH_COMMON_SERIAL_PORT_= INFO.=0D @param [in] SerialPortCount Count of SerialPort in the table.=0D =0D @retval EFI_SUCCESS Success.=0D @@ -61,8 +61,8 @@ FreeSsdtSerialPortTable ( EFI_STATUS=0D EFIAPI=0D ValidateSerialPortInfo (=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfoTable,=0D - IN UINT32 SerialPortCount=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfoTable,=0D + IN UINT32 SerialPortCount=0D );=0D =0D #endif // SSDT_SERIAL_PORT_LIB_H_=0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator= .c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c index f6dfb3d94c10..fbf2ba37331d 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c @@ -33,7 +33,7 @@ Requirements:=0D The following Configuration Manager Object(s) are required by=0D this Generator:=0D - - EArmObjSerialDebugPortInfo=0D + - EArchCommonObjSerialDebugPortInfo=0D */=0D =0D #pragma pack(1)=0D @@ -181,9 +181,9 @@ DBG2_TABLE AcpiDbg2 =3D { debug port information from the Configuration Manager=0D */=0D GET_OBJECT_LIST (=0D - EObjNameSpaceArm,=0D - EArmObjSerialDebugPortInfo,=0D - CM_ARM_SERIAL_PORT_INFO=0D + EObjNameSpaceArchCommon,=0D + EArchCommonObjSerialDebugPortInfo,=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO=0D );=0D =0D /** Initialize the PL011/SBSA UART with the parameters obtained from=0D @@ -198,7 +198,7 @@ GET_OBJECT_LIST ( STATIC=0D EFI_STATUS=0D SetupDebugUart (=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *CONST SerialPortInfo=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *CONST SerialPortInfo=0D )=0D {=0D EFI_STATUS Status;=0D @@ -329,10 +329,10 @@ BuildDbg2TableEx ( OUT UINTN *CONST TableCount=0D )=0D {=0D - EFI_STATUS Status;=0D - CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;=0D - UINT32 SerialPortCount;=0D - EFI_ACPI_DESCRIPTION_HEADER **TableList;=0D + EFI_STATUS Status;=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;=0D + UINT32 SerialPortCount;=0D + EFI_ACPI_DESCRIPTION_HEADER **TableList;=0D =0D ASSERT (This !=3D NULL);=0D ASSERT (AcpiTableInfo !=3D NULL);=0D @@ -358,7 +358,7 @@ BuildDbg2TableEx ( =0D *Table =3D NULL;=0D =0D - Status =3D GetEArmObjSerialDebugPortInfo (=0D + Status =3D GetEArchCommonObjSerialDebugPortInfo (=0D CfgMgrProtocol,=0D CM_NULL_TOKEN,=0D &SerialPortInfo,=0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator= .c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c index 57aaaf85e64a..ea8c821d1155 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c @@ -25,7 +25,7 @@ Requirements:=0D The following Configuration Manager Object(s) are required by=0D this Generator:=0D - - EArmObjPowerManagementProfileInfo=0D + - EArchCommonObjPowerManagementProfileInfo=0D - EArmObjBootArchInfo=0D - EArmObjHypervisorVendorIdentity (OPTIONAL)=0D */=0D @@ -202,9 +202,9 @@ EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt =3D= { Management Profile Information from the Configuration Manager.=0D */=0D GET_OBJECT_LIST (=0D - EObjNameSpaceArm,=0D - EArmObjPowerManagementProfileInfo,=0D - CM_ARM_POWER_MANAGEMENT_PROFILE_INFO=0D + EObjNameSpaceArchCommon,=0D + EArchCommonObjPowerManagementProfileInfo,=0D + CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO=0D );=0D =0D /** This macro expands to a function that retrieves the Boot=0D @@ -253,13 +253,13 @@ FadtAddPmProfileInfo ( IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol=0D )=0D {=0D - EFI_STATUS Status;=0D - CM_ARM_POWER_MANAGEMENT_PROFILE_INFO *PmProfile;=0D + EFI_STATUS Status;=0D + CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO *PmProfile;=0D =0D ASSERT (CfgMgrProtocol !=3D NULL);=0D =0D // Get the Power Management Profile from the Platform Configuration Mana= ger=0D - Status =3D GetEArmObjPowerManagementProfileInfo (=0D + Status =3D GetEArchCommonObjPowerManagementProfileInfo (=0D CfgMgrProtocol,=0D CM_NULL_TOKEN,=0D &PmProfile,=0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator= .c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c index 59cbacbfbbde..6f027f3bf941 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c @@ -33,7 +33,7 @@ Requirements:=0D The following Configuration Manager Object(s) are required by=0D this Generator:=0D - - EArmObjSerialConsolePortInfo=0D + - EArchCommonObjConsolePortInfo=0D =0D NOTE: This implementation ignores the possibility that the Serial settings= may=0D be modified from the UEFI Shell. A more complex handler would be ne= eded=0D @@ -98,9 +98,9 @@ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE AcpiSpcr = =3D { Port Information from the Configuration Manager.=0D */=0D GET_OBJECT_LIST (=0D - EObjNameSpaceArm,=0D - EArmObjSerialConsolePortInfo,=0D - CM_ARM_SERIAL_PORT_INFO=0D + EObjNameSpaceArchCommon,=0D + EArchCommonObjConsolePortInfo,=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO=0D )=0D =0D /** Free any resources allocated for constructing the tables.=0D @@ -200,10 +200,10 @@ BuildSpcrTableEx ( OUT UINTN *CONST TableCount=0D )=0D {=0D - EFI_STATUS Status;=0D - CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;=0D - UINT32 SerialPortCount;=0D - EFI_ACPI_DESCRIPTION_HEADER **TableList;=0D + EFI_STATUS Status;=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;=0D + UINT32 SerialPortCount;=0D + EFI_ACPI_DESCRIPTION_HEADER **TableList;=0D =0D ASSERT (This !=3D NULL);=0D ASSERT (AcpiTableInfo !=3D NULL);=0D @@ -229,7 +229,7 @@ BuildSpcrTableEx ( =0D *Table =3D NULL;=0D =0D - Status =3D GetEArmObjSerialConsolePortInfo (=0D + Status =3D GetEArchCommonObjConsolePortInfo (=0D CfgMgrProtocol,=0D CM_NULL_TOKEN,=0D &SerialPortInfo,=0D diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/Ssd= tSerialPortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPo= rtLibArm/SsdtSerialPortGenerator.c index b850320eede7..671ba057400a 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerial= PortGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerial= PortGenerator.c @@ -29,16 +29,16 @@ Requirements:=0D The following Configuration Manager Object(s) are required by=0D this Generator:=0D - - EArmObjSerialPortInfo=0D + - EArchCommonObjSerialPortInfo=0D */=0D =0D /** This macro expands to a function that retrieves the Serial-port=0D information from the Configuration Manager.=0D */=0D GET_OBJECT_LIST (=0D - EObjNameSpaceArm,=0D - EArmObjSerialPortInfo,=0D - CM_ARM_SERIAL_PORT_INFO=0D + EObjNameSpaceArchCommon,=0D + EArchCommonObjSerialPortInfo,=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO=0D );=0D =0D /** Starting value for the UID to represent the serial ports.=0D @@ -167,13 +167,13 @@ BuildSsdtSerialPortTableEx ( OUT UINTN *CONST TableCount=0D )=0D {=0D - EFI_STATUS Status;=0D - CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;=0D - UINT32 SerialPortCount;=0D - UINTN Index;=0D - CHAR8 NewName[AML_NAME_SEG_SIZE + 1];=0D - UINT64 Uid;=0D - EFI_ACPI_DESCRIPTION_HEADER **TableList;=0D + EFI_STATUS Status;=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;=0D + UINT32 SerialPortCount;=0D + UINTN Index;=0D + CHAR8 NewName[AML_NAME_SEG_SIZE + 1];=0D + UINT64 Uid;=0D + EFI_ACPI_DESCRIPTION_HEADER **TableList;=0D =0D ASSERT (This !=3D NULL);=0D ASSERT (AcpiTableInfo !=3D NULL);=0D @@ -185,7 +185,7 @@ BuildSsdtSerialPortTableEx ( =0D *Table =3D NULL;=0D =0D - Status =3D GetEArmObjSerialPortInfo (=0D + Status =3D GetEArchCommonObjSerialPortInfo (=0D CfgMgrProtocol,=0D CM_NULL_TOKEN,=0D &SerialPortInfo,=0D diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTok= enFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectToke= nFixer.c index 833fa2d6a24b..412bf41647ae 100644 --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer= .c +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer= .c @@ -145,53 +145,49 @@ CONST CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] =3D {=0D NULL, ///< 0 - Reserved=0D NULL, ///< 1 - Boot Architecture Info=0D - NULL, ///< 2 - Power Management Profile Inf= o=0D - NULL, ///< 3 - GIC CPU Interface Info=0D - NULL, ///< 4 - GIC Distributor Info=0D - NULL, ///< 5 - GIC MSI Frame Info=0D - NULL, ///< 6 - GIC Redistributor Info=0D - NULL, ///< 7 - GIC ITS Info=0D - NULL, ///< 8 - Serial Console Port Info=0D - NULL, ///< 9 - Serial Debug Port Info=0D - NULL, ///< 10 - Generic Timer Info=0D - NULL, ///< 11 - Platform GT Block Info=0D - NULL, ///< 12 - Generic Timer Block Frame In= fo=0D - NULL, ///< 13 - Platform Generic Watchdog=0D - NULL, ///< 14 - PCI Configuration Space Info= =0D - NULL, ///< 15 - Hypervisor Vendor Id=0D - NULL, ///< 16 - Fixed feature flags for FADT= =0D - TokenFixerItsGroup, ///< 17 - ITS Group=0D - TokenFixerNamedComponentNode, ///< 18 - Named Component=0D - TokenFixerRootComplexNode, ///< 19 - Root Complex=0D - TokenFixerNotImplemented, ///< 20 - SMMUv1 or SMMUv2=0D - TokenFixerSmmuV3Node, ///< 21 - SMMUv3=0D - TokenFixerNotImplemented, ///< 22 - PMCG=0D - NULL, ///< 23 - GIC ITS Identifier Array=0D - NULL, ///< 24 - ID Mapping Array=0D - NULL, ///< 25 - SMMU Interrupt Array=0D - TokenFixerNotImplemented, ///< 26 - Processor Hierarchy Info=0D - TokenFixerNotImplemented, ///< 27 - Cache Info=0D - NULL, ///< 28 - CM Object Reference=0D - NULL, ///< 29 - Memory Affinity Info=0D - NULL, ///< 30 - Device Handle Acpi=0D - NULL, ///< 31 - Device Handle Pci=0D - NULL, ///< 32 - Generic Initiator Affinity=0D - NULL, ///< 33 - Generic Serial Port Info=0D - NULL, ///< 34 - CMN-600 Info=0D - NULL, ///< 35 - Lpi Info=0D - NULL, ///< 36 - Pci Address Map Info=0D - NULL, ///< 37 - Pci Interrupt Map Info=0D - NULL, ///< 38 - Reserved Memory Range Node=0D - NULL, ///< 39 - Memory Range Descriptor=0D - NULL, ///< 40 - Continuous Performance Contr= ol Info=0D - NULL, ///< 41 - Pcc Subspace Type 0 Info=0D - NULL, ///< 42 - Pcc Subspace Type 2 Info=0D - NULL, ///< 43 - Pcc Subspace Type 2 Info=0D - NULL, ///< 44 - Pcc Subspace Type 3 Info=0D - NULL, ///< 45 - Pcc Subspace Type 4 Info=0D - NULL, ///< 46 - Pcc Subspace Type 5 Info=0D - NULL, ///< 47 - Embedded Trace Extension/Mod= ule Info=0D - NULL ///< 48 - P-State Dependency (PSD) Inf= o=0D + NULL, ///< 2 - GIC CPU Interface Info=0D + NULL, ///< 3 - GIC Distributor Info=0D + NULL, ///< 4 - GIC MSI Frame Info=0D + NULL, ///< 5 - GIC Redistributor Info=0D + NULL, ///< 6 - GIC ITS Info=0D + NULL, ///< 7 - Generic Timer Info=0D + NULL, ///< 8 - Platform GT Block Info=0D + NULL, ///< 9 - Generic Timer Block Frame In= fo=0D + NULL, ///< 10 - Platform Generic Watchdog=0D + NULL, ///< 11 - PCI Configuration Space Info= =0D + NULL, ///< 12 - Hypervisor Vendor Id=0D + NULL, ///< 13 - Fixed feature flags for FADT= =0D + TokenFixerItsGroup, ///< 14 - ITS Group=0D + TokenFixerNamedComponentNode, ///< 15 - Named Component=0D + TokenFixerRootComplexNode, ///< 16 - Root Complex=0D + TokenFixerNotImplemented, ///< 17 - SMMUv1 or SMMUv2=0D + TokenFixerSmmuV3Node, ///< 18 - SMMUv3=0D + TokenFixerNotImplemented, ///< 19 - PMCG=0D + NULL, ///< 20 - GIC ITS Identifier Array=0D + NULL, ///< 21 - ID Mapping Array=0D + NULL, ///< 22 - SMMU Interrupt Array=0D + TokenFixerNotImplemented, ///< 23 - Processor Hierarchy Info=0D + TokenFixerNotImplemented, ///< 24 - Cache Info=0D + NULL, ///< 25 - Memory Affinity Info=0D + NULL, ///< 26 - Memory Affinity Info=0D + NULL, ///< 27 - Device Handle Acpi=0D + NULL, ///< 28 - Device Handle Pci=0D + NULL, ///< 29 - Generic Initiator Affinity=0D + NULL, ///< 30 - CMN-600 Info=0D + NULL, ///< 31 - Lpi Info=0D + NULL, ///< 32 - Pci Address Map Info=0D + NULL, ///< 33 - Pci Interrupt Map Info=0D + NULL, ///< 34 - Reserved Memory Range Node=0D + NULL, ///< 35 - Memory Range Descriptor=0D + NULL, ///< 36 - Continuous Performance Contr= ol Info=0D + NULL, ///< 37 - Pcc Subspace Type 0 Info=0D + NULL, ///< 38 - Pcc Subspace Type 2 Info=0D + NULL, ///< 39 - Pcc Subspace Type 2 Info=0D + NULL, ///< 40 - Pcc Subspace Type 3 Info=0D + NULL, ///< 41 - Pcc Subspace Type 4 Info=0D + NULL, ///< 42 - Pcc Subspace Type 5 Info=0D + NULL, ///< 43 - Embedded Trace Extension/Mod= ule Info=0D + NULL ///< 44 - P-State Dependency (PSD) Inf= o=0D };=0D =0D /** CmObj token fixer.=0D diff --git a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSer= ialPortFixupLib.c b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/= SsdtSerialPortFixupLib.c index b1a628e419f0..eda2aa999ea6 100644 --- a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPort= FixupLib.c +++ b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPort= FixupLib.c @@ -46,7 +46,7 @@ extern CHAR8 ssdtserialporttemplate_aml_code[]; =0D /** Validate the Serial Port Information.=0D =0D - @param [in] SerialPortInfoTable Table of CM_ARM_SERIAL_PORT_INFO.=0D + @param [in] SerialPortInfoTable Table of CM_ARCH_COMMON_SERIAL_PORT_= INFO.=0D @param [in] SerialPortCount Count of SerialPort in the table.=0D =0D @retval EFI_SUCCESS Success.=0D @@ -55,12 +55,12 @@ extern CHAR8 ssdtserialporttemplate_aml_code[]; EFI_STATUS=0D EFIAPI=0D ValidateSerialPortInfo (=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfoTable,=0D - IN UINT32 SerialPortCount=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfoTable,=0D + IN UINT32 SerialPortCount=0D )=0D {=0D - UINT32 Index;=0D - CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;=0D + UINT32 Index;=0D + CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;=0D =0D if ((SerialPortInfoTable =3D=3D NULL) ||=0D (SerialPortCount =3D=3D 0))=0D @@ -163,9 +163,9 @@ STATIC EFI_STATUS=0D EFIAPI=0D FixupIds (=0D - IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D - IN CONST UINT64 Uid,=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo=0D + IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D + IN CONST UINT64 Uid,=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo=0D )=0D {=0D EFI_STATUS Status;=0D @@ -290,8 +290,8 @@ STATIC EFI_STATUS=0D EFIAPI=0D FixupCrs (=0D - IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo=0D + IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo=0D )=0D {=0D EFI_STATUS Status;=0D @@ -366,9 +366,9 @@ STATIC EFI_STATUS=0D EFIAPI=0D FixupName (=0D - IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,=0D - IN CONST CHAR8 *Name=0D + IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,=0D + IN CONST CHAR8 *Name=0D )=0D {=0D EFI_STATUS Status;=0D @@ -410,11 +410,11 @@ STATIC EFI_STATUS=0D EFIAPI=0D FixupSerialPortInfo (=0D - IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,=0D - IN CONST CHAR8 *Name,=0D - IN CONST UINT64 Uid,=0D - OUT EFI_ACPI_DESCRIPTION_HEADER **Table=0D + IN AML_ROOT_NODE_HANDLE RootNodeHandle,=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,=0D + IN CONST CHAR8 *Name,=0D + IN CONST UINT64 Uid,=0D + OUT EFI_ACPI_DESCRIPTION_HEADER **Table=0D )=0D {=0D EFI_STATUS Status;=0D @@ -480,11 +480,11 @@ FreeSsdtSerialPortTable ( EFI_STATUS=0D EFIAPI=0D BuildSsdtSerialPortTable (=0D - IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,=0D - IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,=0D - IN CONST CHAR8 *Name,=0D - IN CONST UINT64 Uid,=0D - OUT EFI_ACPI_DESCRIPTION_HEADER **Table=0D + IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,=0D + IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,=0D + IN CONST CHAR8 *Name,=0D + IN CONST UINT64 Uid,=0D + OUT EFI_ACPI_DESCRIPTION_HEADER **Table=0D )=0D {=0D EFI_STATUS Status;=0D diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationMa= nagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/Config= urationManagerObjectParser.c index 6896463b2848..334d2a026596 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerOb= jectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerOb= jectParser.c @@ -57,9 +57,9 @@ STATIC CONST CM_OBJ_PARSER CmArmBootArchInfoParser[] =3D= { { "BootArchFlags", 2, "0x%x", NULL }=0D };=0D =0D -/** A parser for EArmObjPowerManagementProfileInfo.=0D +/** A parser for EArchCommonObjPowerManagementProfileInfo.=0D */=0D -STATIC CONST CM_OBJ_PARSER CmArmPowerManagementProfileInfoParser[] =3D {= =0D +STATIC CONST CM_OBJ_PARSER CmArchCommonPowerManagementProfileInfoParser[]= =3D {=0D { "PowerManagementProfile", 1, "0x%x", NULL }=0D };=0D =0D @@ -122,10 +122,10 @@ STATIC CONST CM_OBJ_PARSER CmArmGicItsInfoParser[] = =3D { { "ProximityDomain", 4, "0x%x", NULL }=0D };=0D =0D -/** A parser for EArmObjSerialConsolePortInfo,=0D - EArmObjSerialDebugPortInfo and EArmObjSerialPortInfo.=0D +/** A parser for EArchCommonObjConsolePortInfo,=0D + EArchCommonObjSerialDebugPortInfo and EArchCommonObjSerialPortInfo.=0D */=0D -STATIC CONST CM_OBJ_PARSER CmArmSerialPortInfoParser[] =3D {=0D +STATIC CONST CM_OBJ_PARSER CmArchCommonSerialPortInfoParser[] =3D {=0D { "BaseAddress", 8, "0x%llx", NULL },=0D { "Interrupt", 4, "0x%x", NULL },=0D { "BaudRate", 8, "0x%llx", NULL },=0D @@ -671,6 +671,10 @@ STATIC CONST CM_OBJ_PARSER CmArmPsdInfoParser[] =3D { */=0D STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] =3D {= =0D CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjReserved),=0D + CM_PARSER_ADD_OBJECT (EArchCommonObjPowerManagementProfileInfo,CmArchCom= monPowerManagementProfileInfoParser),=0D + CM_PARSER_ADD_OBJECT (EArchCommonObjSerialPortInfo, CmArchCom= monSerialPortInfoParser),=0D + CM_PARSER_ADD_OBJECT (EArchCommonObjConsolePortInfo, CmArchCom= monSerialPortInfoParser),=0D + CM_PARSER_ADD_OBJECT (EArchCommonObjSerialDebugPortInfo, CmArchCom= monSerialPortInfoParser),=0D CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)=0D };=0D =0D @@ -679,14 +683,11 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespace= ObjectParser[] =3D { STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] =3D {=0D CM_PARSER_ADD_OBJECT_RESERVED (EArmObjReserved),=0D CM_PARSER_ADD_OBJECT (EArmObjBootArchInfo, CmArmBootArchI= nfoParser),=0D - CM_PARSER_ADD_OBJECT (EArmObjPowerManagementProfileInfo, CmArmPowerMana= gementProfileInfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjGicCInfo, CmArmGicCInfoP= arser),=0D CM_PARSER_ADD_OBJECT (EArmObjGicDInfo, CmArmGicDInfoP= arser),=0D CM_PARSER_ADD_OBJECT (EArmObjGicMsiFrameInfo, CmArmGicMsiFra= meInfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjGicRedistributorInfo, CmArmGicRedist= InfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjGicItsInfo, CmArmGicItsInf= oParser),=0D - CM_PARSER_ADD_OBJECT (EArmObjSerialConsolePortInfo, CmArmSerialPor= tInfoParser),=0D - CM_PARSER_ADD_OBJECT (EArmObjSerialDebugPortInfo, CmArmSerialPor= tInfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjGenericTimerInfo, CmArmGenericTi= merInfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjPlatformGTBlockInfo, CmArmGTBlockIn= foParser),=0D CM_PARSER_ADD_OBJECT (EArmObjGTBlockTimerFrameInfo, CmArmGTBlockTi= merFrameInfoParser),=0D @@ -710,7 +711,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectPar= ser[] =3D { CM_PARSER_ADD_OBJECT (EArmObjDeviceHandleAcpi, CmArmDeviceHan= dleAcpiParser),=0D CM_PARSER_ADD_OBJECT (EArmObjDeviceHandlePci, CmArmDeviceHan= dlePciParser),=0D CM_PARSER_ADD_OBJECT (EArmObjGenericInitiatorAffinityInfo,CmArmGenericIn= itiatorAffinityInfoParser),=0D - CM_PARSER_ADD_OBJECT (EArmObjSerialPortInfo, CmArmSerialPor= tInfoParser),=0D CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600Inf= oParser),=0D CM_PARSER_ADD_OBJECT (EArmObjLpiInfo, CmArmLpiInfoPa= rser),=0D CM_PARSER_ADD_OBJECT (EArmObjPciAddressMapInfo, CmArmPciAddres= sMapInfoParser),=0D diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPo= rtParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPo= rtParser.c index 732b482eebe3..f17ad2e842e2 100644 --- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParse= r.c +++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParse= r.c @@ -71,7 +71,7 @@ CONST COMPATIBILITY_INFO SerialSbsaCompatibleInfo =3D { =0D @param [in] Fdt Pointer to a Flattened Device Tree (Fdt).= =0D @param [in] SerialPortNode Offset of a serial-port node.=0D - @param [in] SerialPortInfo The CM_ARM_SERIAL_PORT_INFO to populate.= =0D + @param [in] SerialPortInfo The CM_ARCH_COMMON_SERIAL_PORT_INFO to po= pulate.=0D =0D @retval EFI_SUCCESS The function completed successfully.=0D @retval EFI_ABORTED An error occurred.=0D @@ -82,9 +82,9 @@ STATIC EFI_STATUS=0D EFIAPI=0D SerialPortNodeParser (=0D - IN CONST VOID *Fdt,=0D - IN INT32 SerialPortNode,=0D - IN CM_ARM_SERIAL_PORT_INFO *SerialPortInfo=0D + IN CONST VOID *Fdt,=0D + IN INT32 SerialPortNode,=0D + IN CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo=0D )=0D {=0D EFI_STATUS Status;=0D @@ -313,7 +313,7 @@ GetSerialConsoleNode ( return EFI_SUCCESS;=0D }=0D =0D -/** CM_ARM_SERIAL_PORT_INFO dispatcher function (for a generic serial-port= ).=0D +/** CM_ARCH_COMMON_SERIAL_PORT_INFO dispatcher function (for a generic ser= ial-port).=0D =0D @param [in] FdtParserHandle A handle to the parser instance.=0D @param [in] GenericSerialInfo Pointer to a serial port info list.=0D @@ -331,9 +331,9 @@ EFI_STATUS EFIAPI=0D ArmSerialPortInfoDispatch (=0D IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle,=0D - IN CM_ARM_SERIAL_PORT_INFO *GenericSerialInfo,=0D + IN CM_ARCH_COMMON_SERIAL_PORT_INFO *GenericSerialInfo,=0D IN INT32 NodeCount,=0D - IN EARM_OBJECT_ID SerialObjectId=0D + IN EARCH_COMMON_OBJECT_ID SerialObjectId=0D )=0D {=0D EFI_STATUS Status;=0D @@ -344,9 +344,9 @@ ArmSerialPortInfoDispatch ( return EFI_INVALID_PARAMETER;=0D }=0D =0D - if ((SerialObjectId !=3D EArmObjSerialPortInfo) &&=0D - (SerialObjectId !=3D EArmObjSerialDebugPortInfo) &&=0D - (SerialObjectId !=3D EArmObjSerialConsolePortInfo))=0D + if ((SerialObjectId !=3D EArchCommonObjSerialPortInfo) &&=0D + (SerialObjectId !=3D EArchCommonObjSerialDebugPortInfo) &&=0D + (SerialObjectId !=3D EArchCommonObjConsolePortInfo))=0D {=0D ASSERT (0);=0D return EFI_INVALID_PARAMETER;=0D @@ -354,10 +354,10 @@ ArmSerialPortInfoDispatch ( =0D // Dispatch the Generic Serial ports=0D Status =3D CreateCmObjDesc (=0D - CREATE_CM_ARM_OBJECT_ID (SerialObjectId),=0D + CREATE_CM_ARCH_COMMON_OBJECT_ID (SerialObjectId),=0D NodeCount,=0D GenericSerialInfo,=0D - sizeof (CM_ARM_SERIAL_PORT_INFO) * NodeCount,=0D + sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO) * NodeCount,=0D &NewCmObjDesc=0D );=0D if (EFI_ERROR (Status)) {=0D @@ -372,19 +372,19 @@ ArmSerialPortInfoDispatch ( return Status;=0D }=0D =0D -/** CM_ARM_SERIAL_PORT_INFO parser function (for debug/console serial-port= ).=0D +/** CM_ARCH_COMMON_SERIAL_PORT_INFO parser function (for debug/console ser= ial-port).=0D =0D This parser expects FdtBranch to be the debug serial-port node.=0D At most one CmObj is created.=0D The following structure is populated:=0D - typedef struct CmArmSerialPortInfo {=0D + typedef struct EArchCommonSerialPortInfo {=0D UINT64 BaseAddress; // {Populated}=0D UINT32 Interrupt; // {Populated}=0D UINT64 BaudRate; // {default}=0D UINT32 Clock; // {Populated}=0D UINT16 PortSubtype; // {Populated}=0D UINT64 BaseAddressLength // {Populated}=0D - } CM_ARM_SERIAL_PORT_INFO;=0D + } CM_ARCH_COMMON_SERIAL_PORT_INFO;=0D =0D A parser parses a Device Tree to populate a specific CmObj type. None,=0D one or many CmObj can be created by the parser.=0D @@ -396,7 +396,8 @@ ArmSerialPortInfoDispatch ( @param [in] FdtParserHandle A handle to the parser instance.=0D @param [in] FdtBranch When searching for DT node name, restrict=0D the search to this Device Tree branch.=0D - @param [in] SerialObjectId ArmNamespace Object ID for the serial port.= =0D + @param [in] SerialObjectId ArchCommon Namespace Object ID for the seri= al=0D + port.=0D =0D @retval EFI_SUCCESS The function completed successfully.=0D @retval EFI_ABORTED An error occurred.=0D @@ -410,14 +411,14 @@ EFIAPI ArmSerialPortInfoParser (=0D IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle,=0D IN INT32 FdtBranch,=0D - IN EARM_OBJECT_ID SerialObjectId=0D + IN EARCH_COMMON_OBJECT_ID SerialObjectId=0D )=0D {=0D - EFI_STATUS Status;=0D - CM_ARM_SERIAL_PORT_INFO SerialInfo;=0D + EFI_STATUS Status;=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO SerialInfo;=0D =0D - if ((SerialObjectId !=3D EArmObjSerialDebugPortInfo) &&=0D - (SerialObjectId !=3D EArmObjSerialConsolePortInfo))=0D + if ((SerialObjectId !=3D EArchCommonObjSerialDebugPortInfo) &&=0D + (SerialObjectId !=3D EArchCommonObjConsolePortInfo))=0D {=0D ASSERT (0);=0D return EFI_INVALID_PARAMETER;=0D @@ -447,11 +448,11 @@ ArmSerialPortInfoParser ( =0D /** SerialPort dispatcher.=0D =0D - This disptacher populates the CM_ARM_SERIAL_PORT_INFO structure for=0D + This disptacher populates the CM_ARCH_COMMON_SERIAL_PORT_INFO structure = for=0D the following CM_OBJ_ID:=0D - - EArmObjSerialConsolePortInfo=0D - - EArmObjSerialDebugPortInfo=0D - - EArmObjSerialPortInfo=0D + - EArchCommonObjConsolePortInfo=0D + - EArchCommonObjSerialDebugPortInfo=0D + - EArchCommonObjSerialPortInfo=0D =0D A parser parses a Device Tree to populate a specific CmObj type. None,=0D one or many CmObj can be created by the parser.=0D @@ -477,16 +478,16 @@ SerialPortDispatcher ( IN INT32 FdtBranch=0D )=0D {=0D - EFI_STATUS Status;=0D - INT32 SerialConsoleNode;=0D - INT32 SerialDebugNode;=0D - INT32 SerialNode;=0D - UINT32 Index;=0D - UINT32 SerialNodeCount;=0D - UINT32 SerialNodesRemaining;=0D - CM_ARM_SERIAL_PORT_INFO *GenericSerialInfo;=0D - UINT32 GenericSerialIndex;=0D - VOID *Fdt;=0D + EFI_STATUS Status;=0D + INT32 SerialConsoleNode;=0D + INT32 SerialDebugNode;=0D + INT32 SerialNode;=0D + UINT32 Index;=0D + UINT32 SerialNodeCount;=0D + UINT32 SerialNodesRemaining;=0D + CM_ARCH_COMMON_SERIAL_PORT_INFO *GenericSerialInfo;=0D + UINT32 GenericSerialIndex;=0D + VOID *Fdt;=0D =0D if (FdtParserHandle =3D=3D NULL) {=0D ASSERT (0);=0D @@ -531,7 +532,7 @@ SerialPortDispatcher ( Status =3D ArmSerialPortInfoParser (=0D FdtParserHandle,=0D SerialConsoleNode,=0D - EArmObjSerialConsolePortInfo=0D + EArchCommonObjConsolePortInfo=0D );=0D if (EFI_ERROR (Status)) {=0D ASSERT (0);=0D @@ -550,7 +551,7 @@ SerialPortDispatcher ( SerialNodesRemaining--;=0D GenericSerialInfo =3D AllocateZeroPool (=0D SerialNodesRemaining *=0D - sizeof (CM_ARM_SERIAL_PORT_INFO)=0D + sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO)=0D );=0D if (GenericSerialInfo =3D=3D NULL) {=0D ASSERT (0);=0D @@ -589,7 +590,7 @@ SerialPortDispatcher ( Status =3D ArmSerialPortInfoParser (=0D FdtParserHandle,=0D SerialDebugNode,=0D - EArmObjSerialDebugPortInfo=0D + EArchCommonObjSerialDebugPortInfo=0D );=0D if (EFI_ERROR (Status)) {=0D ASSERT (0);=0D @@ -620,7 +621,7 @@ SerialPortDispatcher ( FdtParserHandle,=0D GenericSerialInfo,=0D GenericSerialIndex,=0D - EArmObjSerialPortInfo=0D + EArchCommonObjSerialPortInfo=0D );=0D }=0D =0D diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPo= rtParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPo= rtParser.h index de08e57e6c57..037c409d450a 100644 --- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParse= r.h +++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParse= r.h @@ -14,11 +14,11 @@ =0D /** SerialPort dispatcher.=0D =0D - This disptacher populates the CM_ARM_SERIAL_PORT_INFO structure for=0D + This disptacher populates the CM_ARCH_COMMON_SERIAL_PORT_INFO structure = for=0D the following CM_OBJ_ID:=0D - - EArmObjSerialConsolePortInfo=0D - - EArmObjSerialDebugPortInfo=0D - - EArmObjSerialPortInfo=0D + - EArchCommonObjConsolePortInfo=0D + - EArchCommonObjSerialDebugPortInfo=0D + - EArchCommonObjSerialPortInfo=0D =0D A parser parses a Device Tree to populate a specific CmObj type. None,=0D one or many CmObj can be created by the parser.=0D diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 8d30bf560b3d..90f03f00e7d3 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -442,53 +442,49 @@ The CM_OBJECT_ID type is used to identify the Configu= ration Manager | ---: | :-------------------------- | :--- |=0D | 0 | Reserved | |=0D | 1 | Boot Architecture Info | |=0D -| 2 | Power Management Profile Info | Move to Arch Common = NS |=0D -| 3 | GICC Info | |=0D -| 4 | GICD Info | |=0D -| 5 | GIC MSI Frame Info | |=0D -| 6 | GIC Redistributor Info | |=0D -| 7 | GIC ITS Info | |=0D -| 8 | Serial Console Port Info | Move to Arch Common = NS |=0D -| 9 | Serial Debug Port Info | Move to Arch Common = NS |=0D -| 10 | Generic Timer Info | |=0D -| 11 | Platform GT Block Info | |=0D -| 12 | Generic Timer Block Frame Info | |=0D -| 13 | Platform Generic Watchdog | |=0D -| 14 | PCI Configuration Space Info | Move to Arch Common = NS |=0D -| 15 | Hypervisor Vendor Id | Move to Arch Common = NS |=0D -| 16 | Fixed feature flags for FADT | Move to Arch Common = NS |=0D -| 17 | ITS Group | |=0D -| 18 | Named Component | |=0D -| 19 | Root Complex | |=0D -| 20 | SMMUv1 or SMMUv2 | |=0D -| 21 | SMMUv3 | |=0D -| 22 | PMCG | |=0D -| 23 | GIC ITS Identifier Array | |=0D -| 24 | ID Mapping Array | |=0D -| 25 | SMMU Interrupt Array | |=0D -| 26 | Processor Hierarchy Info | Move to Arch Common = NS |=0D -| 27 | Cache Info | Move to Arch Common = NS |=0D -| 28 | CM Object Reference | Move to Arch Common = NS |=0D -| 29 | Memory Affinity Info | Move to Arch Common = NS |=0D -| 30 | Device Handle Acpi | Move to Arch Common = NS |=0D -| 31 | Device Handle PCI | Move to Arch Common = NS |=0D -| 32 | Generic Initiator Affinity Info | Move to Arch Common = NS |=0D -| 33 | Serial Port Info | Move to Arch Common = NS |=0D -| 34 | CMN 600 Info | |=0D -| 35 | Low Power Idle State Info | Move to Arch Common = NS |=0D -| 36 | PCI Address Map Info | Move to Arch Common = NS |=0D -| 37 | PCI Interrupt Map Info | Move to Arch Common = NS |=0D -| 38 | Reserved Memory Range Node | |=0D -| 39 | Memory Range Descriptor | |=0D -| 40 | Continuous Performance Control Info | Move to Arch Common = NS |=0D -| 41 | Pcc Subspace Type 0 Info | Move to Arch Common = NS |=0D -| 42 | Pcc Subspace Type 1 Info | Move to Arch Common = NS |=0D -| 43 | Pcc Subspace Type 2 Info | Move to Arch Common = NS |=0D -| 44 | Pcc Subspace Type 3 Info | Move to Arch Common = NS |=0D -| 45 | Pcc Subspace Type 4 Info | Move to Arch Common = NS |=0D -| 46 | Pcc Subspace Type 5 Info | Move to Arch Common = NS |=0D -| 47 | Embedded Trace Extension/Module Info | |=0D -| 48 | P-State Dependency (PSD) Info | Move to Arch Common = NS |=0D +| 2 | GICC Info | |=0D +| 3 | GICD Info | |=0D +| 4 | GIC MSI Frame Info | |=0D +| 5 | GIC Redistributor Info | |=0D +| 6 | GIC ITS Info | |=0D +| 7 | Generic Timer Info | |=0D +| 8 | Platform GT Block Info | |=0D +| 9 | Generic Timer Block Frame Info | |=0D +| 10 | Platform Generic Watchdog | |=0D +| 11 | PCI Configuration Space Info | Move to Arch Common = NS |=0D +| 12 | Hypervisor Vendor Id | Move to Arch Common = NS |=0D +| 13 | Fixed feature flags for FADT | Move to Arch Common = NS |=0D +| 14 | ITS Group | |=0D +| 15 | Named Component | |=0D +| 16 | Root Complex | |=0D +| 17 | SMMUv1 or SMMUv2 | |=0D +| 18 | SMMUv3 | |=0D +| 19 | PMCG | |=0D +| 20 | GIC ITS Identifier Array | |=0D +| 21 | ID Mapping Array | |=0D +| 22 | SMMU Interrupt Array | |=0D +| 23 | Processor Hierarchy Info | Move to Arch Common = NS |=0D +| 24 | Cache Info | Move to Arch Common = NS |=0D +| 25 | CM Object Reference | Move to Arch Common = NS |=0D +| 26 | Memory Affinity Info | Move to Arch Common = NS |=0D +| 27 | Device Handle Acpi | Move to Arch Common = NS |=0D +| 28 | Device Handle PCI | Move to Arch Common = NS |=0D +| 29 | Generic Initiator Affinity Info | Move to Arch Common = NS |=0D +| 30 | CMN 600 Info | |=0D +| 31 | Low Power Idle State Info | Move to Arch Common = NS |=0D +| 32 | PCI Address Map Info | Move to Arch Common = NS |=0D +| 33 | PCI Interrupt Map Info | Move to Arch Common = NS |=0D +| 34 | Reserved Memory Range Node | |=0D +| 35 | Memory Range Descriptor | |=0D +| 36 | Continuous Performance Control Info | Move to Arch Common = NS |=0D +| 37 | Pcc Subspace Type 0 Info | Move to Arch Common = NS |=0D +| 38 | Pcc Subspace Type 1 Info | Move to Arch Common = NS |=0D +| 39 | Pcc Subspace Type 2 Info | Move to Arch Common = NS |=0D +| 40 | Pcc Subspace Type 3 Info | Move to Arch Common = NS |=0D +| 41 | Pcc Subspace Type 4 Info | Move to Arch Common = NS |=0D +| 42 | Pcc Subspace Type 5 Info | Move to Arch Common = NS |=0D +| 43 | Embedded Trace Extension/Module Info | |=0D +| 44 | 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 +492,8 @@ The CM_OBJECT_ID type is used to identify the Configura= tion Manager | ID | Description | Comments |=0D | ---: | :-------------------------- | :--- |=0D | 0 | Reserved | |=0D +| 1 | Power Management Profile Info | |=0D +| 2 | Serial Port Info | |=0D +| 3 | Serial Console Port Info | |=0D +| 4 | Serial Debug Port 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 (#116973): https://edk2.groups.io/g/devel/message/116973 Mute This Topic: https://groups.io/mt/105067987/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-