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 3C839D81164 for ; Thu, 21 Mar 2024 16:09:01 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=bizdT9MG5v4xB5zjmk62U1w0xNnen+Lh39ZItozrHNc=; 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=1711037339; v=1; b=ZOGDkGgtEp/kx+cEA8hH3QuwRulP+8SjM9OdrH7cKxP7vsAk3RwHdMDukJq4+qtejT02REE2 hAhBn/XN0MK06/WOrKgutKorpyqVgshw5JNOwpVrJRK4V4/wcaUs7LWO0PkDVEPIbDSamA5epD6 boGFdFLqv6x2hhYH9X/h588xwM2vg3ynqhhTMuMxk9WHkyzIW9n+hdmgCaYyzjlh9p8WbPxxvOV J1fI4wyyjL0GDlcd9RT4o2df/WwHT5XppjEjiAZHiWobvkfPkYEfZUGcjaswDaCqqeATB+JpG0m bUqddNbxqej7v39VWYSfnAXtSRztOZaTEf9jVj/ficZPg== X-Received: by 127.0.0.2 with SMTP id weR1YY7687511xmVB3X6Nxp8; Thu, 21 Mar 2024 09:08:59 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.825.1711037339328516321 for ; Thu, 21 Mar 2024 09:08:59 -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 460D41007; Thu, 21 Mar 2024 09:09:33 -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 876FF3F67D; Thu, 21 Mar 2024 09:08:54 -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 01/14] Platform/ARM: FVP,Juno: Add Arch Common objects handler Date: Thu, 21 Mar 2024 17:08:29 +0100 Message-Id: <20240321160842.717417-2-pierre.gondois@arm.com> In-Reply-To: <20240321160842.717417-1-pierre.gondois@arm.com> References: <20240321160842.717417-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:08:59 -0700 Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: vYt21RT7m4bv0Oc3Kzun5L7ux7686176AA= 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=ZOGDkGgt; 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) Some DynamicTables objects have been moved from the Arm namespace to a new Arch Common namespace. Prepare the handling of these objects in the ConfigurationManagers by adding a function handler for these objects. This patch modifies the ConfigurationManager of the following platforms: - Juno - FVP Cc: Sami Mujawar 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: Pierre Gondois --- .../ConfigurationManager.c | 56 ++++++++++++++++++- .../ConfigurationManager.c | 55 +++++++++++++++++- 2 files changed, 109 insertions(+), 2 deletions(-) diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager= Dxe/ConfigurationManager.c b/Platform/ARM/JunoPkg/ConfigurationManager/Conf= igurationManagerDxe/ConfigurationManager.c index 26d9da25065a..6cd1e6e1135b 100644 --- a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/Con= figurationManager.c +++ b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/Con= figurationManager.c @@ -1,7 +1,7 @@ /** @file=0D Configuration Manager Dxe=0D =0D - Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.
=0D + Copyright (c) 2017 - 2024, Arm Limited. All rights reserved.
=0D =0D SPDX-License-Identifier: BSD-2-Clause-Patent=0D =0D @@ -1612,6 +1612,57 @@ GetStandardNameSpaceObject ( return Status;=0D }=0D =0D +=0D +/** Return an Arch Common 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 +GetArchCommonNameSpaceObject (=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 + switch (GET_CM_OBJECT_ID (CmObjectId)) {=0D + default: {=0D + Status =3D EFI_NOT_FOUND;=0D + DEBUG ((=0D + DEBUG_INFO,=0D + "INFO: Object 0x%x. Status =3D %r\n",=0D + CmObjectId,=0D + Status=0D + ));=0D + break;=0D + }=0D + } //switch=0D +=0D + return Status;=0D +}=0D +=0D /** Return an ARM namespace object.=0D =0D @param [in] This Pointer to the Configuration Manager Protoc= ol.=0D @@ -1980,6 +2031,9 @@ ArmJunoPlatformGetObject ( case EObjNameSpaceStandard:=0D Status =3D GetStandardNameSpaceObject (This, CmObjectId, Token, CmOb= ject);=0D break;=0D + case EObjNameSpaceArchCommon:=0D + Status =3D GetArchCommonNameSpaceObject (This, CmObjectId, Token, Cm= Object);=0D + break;=0D case EObjNameSpaceArm:=0D Status =3D GetArmNameSpaceObject (This, CmObjectId, Token, CmObject)= ;=0D break;=0D diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationMan= agerDxe/ConfigurationManager.c b/Platform/ARM/VExpressPkg/ConfigurationMana= ger/ConfigurationManagerDxe/ConfigurationManager.c index 5b5d1f9d04c0..f145205c4da0 100644 --- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe= /ConfigurationManager.c +++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe= /ConfigurationManager.c @@ -1,7 +1,7 @@ /** @file=0D Configuration Manager Dxe=0D =0D - Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.
=0D + Copyright (c) 2017 - 2024, Arm Limited. All rights reserved.
=0D =0D SPDX-License-Identifier: BSD-2-Clause-Patent=0D =0D @@ -730,6 +730,56 @@ GetStandardNameSpaceObject ( return Status;=0D }=0D =0D +/** Return an Arch Common 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 +GetArchCommonNameSpaceObject (=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 + switch (GET_CM_OBJECT_ID (CmObjectId)) {=0D + default: {=0D + Status =3D EFI_NOT_FOUND;=0D + DEBUG ((=0D + DEBUG_INFO,=0D + "INFO: Object 0x%x. Status =3D %r\n",=0D + CmObjectId,=0D + Status=0D + ));=0D + break;=0D + }=0D + } //switch=0D +=0D + return Status;=0D +}=0D +=0D /** Return an ARM namespace object.=0D =0D @param [in] This Pointer to the Configuration Manager Protoc= ol.=0D @@ -1101,6 +1151,9 @@ ArmVExpressPlatformGetObject ( case EObjNameSpaceStandard:=0D Status =3D GetStandardNameSpaceObject (This, CmObjectId, Token, CmOb= ject);=0D break;=0D + case EObjNameSpaceArchCommon:=0D + Status =3D GetArchCommonNameSpaceObject (This, CmObjectId, Token, Cm= Object);=0D + break;=0D case EObjNameSpaceArm:=0D Status =3D GetArmNameSpaceObject (This, CmObjectId, Token, CmObject)= ;=0D break;=0D --=20 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116999): https://edk2.groups.io/g/devel/message/116999 Mute This Topic: https://groups.io/mt/105068391/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-