From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 40E85941566 for ; Mon, 10 Jun 2024 09:34:36 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=zDLCwG2qheu64Z5RqiusgG2z5xr+CsqknbNK0PDWmLI=; 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:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20240206; t=1718012076; v=1; b=pb/6sW9JJ3NJMV562+g+Afx5e1qF/HGdnu6kXm+4/MwCsRdd+lE69Q3azkJbWPCsXYptWMKA y8jiHFJzNC/bvOOAPUbc4hftwNd/C2DBLB0nQXpvRaAbeJyHJgSeNIUJCT+YjWtfLPEt/qje1l+ LAnM0gIXCZk/Xcvyb5LB+8roV1xSCTKV9glHDQH0f2agw2cPZNpkQtSNIJn+GtxansOHEp1uiJI QmJQgxQdT7dckeNcCJ5xXD3fiHHHt1OFBXs9XMdbVbMTVwUUrj4huaFMxfpMTyfx6nAt3dw8Jki 2tqVLZTgYbFrksMv4ald+cbtcDoGXgZdVJIgBL5XISxbg== X-Received: by 127.0.0.2 with SMTP id fEt9YY7687511xMF9TJUgd7x; Mon, 10 Jun 2024 02:34:34 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.15499.1718012074172697488 for ; Mon, 10 Jun 2024 02:34:34 -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 539221688; Mon, 10 Jun 2024 02:34:58 -0700 (PDT) X-Received: from e126645.arm.com (unknown [10.57.69.240]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E36043F73B; Mon, 10 Jun 2024 02:34:32 -0700 (PDT) From: "PierreGondois" To: devel@edk2.groups.io Cc: Pierre Gondois Subject: [edk2-devel] [platforms/devel-dynamictables-reorg PATCH 01/14] Platform/ARM: Morello,N1Sdp: Add Arch Common objects handler Date: Mon, 10 Jun 2024 11:33:52 +0200 Message-Id: <20240610093405.1980592-2-Pierre.Gondois@arm.com> In-Reply-To: <20240610093405.1980592-1-Pierre.Gondois@arm.com> References: <20240610093405.1980592-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: Mon, 10 Jun 2024 02:34:34 -0700 Resent-From: pierre.gondois@arm.com Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: qSAVJPrb2DODADeEF08fNk8sx7686176AA= 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="pb/6sW9J"; 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 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io From: Pierre Gondois 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: - Morello - N1Sdp Signed-off-by: Pierre Gondois --- .../ConfigurationManager.c | 57 ++++++++++++++++++- .../ConfigurationManagerFvp.c | 45 ++++++++++++++- .../ConfigurationManager.c | 55 +++++++++++++++++- 3 files changed, 154 insertions(+), 3 deletions(-) diff --git a/Platform/ARM/Morello/ConfigurationManager/ConfigurationManag= erDxe/ConfigurationManager.c b/Platform/ARM/Morello/ConfigurationManager/= ConfigurationManagerDxe/ConfigurationManager.c index 7c949812ecef..95fbb997483b 100644 --- a/Platform/ARM/Morello/ConfigurationManager/ConfigurationManagerDxe/C= onfigurationManager.c +++ b/Platform/ARM/Morello/ConfigurationManager/ConfigurationManagerDxe/C= onfigurationManager.c @@ -1,7 +1,7 @@ /** @file Configuration Manager Dxe =20 - Copyright (c) 2021, ARM Limited. All rights reserved.
+ Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -764,6 +764,58 @@ GetStandardNameSpaceObject ( return Status; } =20 +/** Return an Arch Common namespace object. + + @param [in] This Pointer to the Configuration Manager Prot= ocol. + @param [in] CmObjectId The Configuration Manager Object ID. + @param [in] Token An optional token identifying the object.= If + unused this must be CM_NULL_TOKEN. + @param [in, out] CmObject Pointer to the Configuration Manager Obje= ct + descriptor describing the requested Objec= t. + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER A parameter is invalid. + @retval EFI_NOT_FOUND The required object information is not f= ound. +**/ +EFI_STATUS +EFIAPI +GetArchCommonNameSpaceObject ( + IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL * CONST This, + IN CONST CM_OBJECT_ID CmObjectId, + IN CONST CM_OBJECT_TOKEN Token OPTIONAL= , + IN OUT CM_OBJ_DESCRIPTOR * CONST CmObject + ) +{ + EFI_STATUS Status; + EDKII_PLATFORM_REPOSITORY_INFO *PlatformRepo; + EDKII_COMMON_PLATFORM_REPOSITORY_INFO *CommonPlatRepo; + + if ((This =3D=3D NULL) || (CmObject =3D=3D NULL)) { + ASSERT (This !=3D NULL); + ASSERT (CmObject !=3D NULL); + return EFI_INVALID_PARAMETER; + } + + Status =3D EFI_NOT_FOUND; + PlatformRepo =3D This->PlatRepoInfo; + CommonPlatRepo =3D This->PlatRepoInfo->CommonPlatRepoInfo; + + switch (GET_CM_OBJECT_ID (CmObjectId)) { + default: { + Status =3D EFI_NOT_FOUND; + DEBUG (( + DEBUG_INFO, + "INFO: Object 0x%x. Status =3D %r\n", + CmObjectId, + Status + )); + break; + } + } //switch + + return Status; +} + /** Return an ARM namespace object. =20 @param [in] This Pointer to the Configuration Manager Prot= ocol. @@ -1057,6 +1109,9 @@ MorelloPlatformGetObject ( case EObjNameSpaceStandard: Status =3D GetStandardNameSpaceObject (This, CmObjectId, Token, Cm= Object); break; + case EObjNameSpaceArchCommon: + Status =3D GetArchCommonNameSpaceObject (This, CmObjectId, Token, = CmObject); + break; case EObjNameSpaceArm: Status =3D GetArmNameSpaceObject (This, CmObjectId, Token, CmObjec= t); break; diff --git a/Platform/ARM/Morello/ConfigurationManager/ConfigurationManag= erDxe/ConfigurationManagerFvp.c b/Platform/ARM/Morello/ConfigurationManag= er/ConfigurationManagerDxe/ConfigurationManagerFvp.c index 85b0d390598f..32cf5e830fed 100644 --- a/Platform/ARM/Morello/ConfigurationManager/ConfigurationManagerDxe/C= onfigurationManagerFvp.c +++ b/Platform/ARM/Morello/ConfigurationManager/ConfigurationManagerDxe/C= onfigurationManagerFvp.c @@ -1,7 +1,7 @@ /** @file Configuration Manager Dxe =20 - Copyright (c) 2021, ARM Limited. All rights reserved.
+ Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -427,6 +427,49 @@ GetItsGroupInfo ( return EFI_NOT_FOUND; } =20 + +/** Return platform specific arch common namespace object. + + @param [in] This Pointer to the Configuration Manager Prot= ocol. + @param [in] CmObjectId The Configuration Manager Object ID. + @param [in] Token An optional token identifying the object.= If + unused this must be CM_NULL_TOKEN. + @param [in, out] CmObject Pointer to the Configuration Manager Obje= ct + descriptor describing the requested Objec= t. + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER A parameter is invalid. + @retval EFI_NOT_FOUND The required object information is not f= ound. +**/ +EFI_STATUS +EFIAPI +GetArchCommonNameSpaceObjectPlat ( + IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL * CONST This, + IN CONST CM_OBJECT_ID CmObjectId, + IN CONST CM_OBJECT_TOKEN Token OPTIONAL= , + IN OUT CM_OBJ_DESCRIPTOR * CONST CmObject + ) +{ + EFI_STATUS Status; + EDKII_FVP_PLATFORM_REPOSITORY_INFO * PlatformRepo; + + if ((This =3D=3D NULL) || (CmObject =3D=3D NULL)) { + ASSERT (This !=3D NULL); + ASSERT (CmObject !=3D NULL); + return EFI_INVALID_PARAMETER; + } + + Status =3D EFI_NOT_FOUND; + PlatformRepo =3D This->PlatRepoInfo->FvpPlatRepoInfo; + + switch (GET_CM_OBJECT_ID (CmObjectId)) { + default: + break; + } + + return Status; +} + /** Return platform specific ARM namespace object. =20 @param [in] This Pointer to the Configuration Manager Prot= ocol. diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManager= Dxe/ConfigurationManager.c b/Platform/ARM/N1Sdp/ConfigurationManager/Conf= igurationManagerDxe/ConfigurationManager.c index 966a83294c00..99c01297944c 100644 --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/Con= figurationManager.c +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/Con= figurationManager.c @@ -1,7 +1,7 @@ /** @file Configuration Manager Dxe =20 - Copyright (c) 2021 - 2024, ARM Limited. All rights reserved.
+ Copyright (c) 2021, ARM Limited. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -1678,6 +1678,56 @@ GetStandardNameSpaceObject ( return Status; } =20 +/** Return an Arch Common namespace object. + + @param [in] This Pointer to the Configuration Manager Prot= ocol. + @param [in] CmObjectId The Configuration Manager Object ID. + @param [in] Token An optional token identifying the object.= If + unused this must be CM_NULL_TOKEN. + @param [in, out] CmObject Pointer to the Configuration Manager Obje= ct + descriptor describing the requested Objec= t. + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER A parameter is invalid. + @retval EFI_NOT_FOUND The required object information is not f= ound. +**/ +EFI_STATUS +EFIAPI +GetArchCommonNameSpaceObject ( + IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL * CONST This, + IN CONST CM_OBJECT_ID CmObjectId, + IN CONST CM_OBJECT_TOKEN Token OPTIONAL= , + IN OUT CM_OBJ_DESCRIPTOR * CONST CmObject + ) +{ + EFI_STATUS Status; + EDKII_PLATFORM_REPOSITORY_INFO * PlatformRepo; + + if ((This =3D=3D NULL) || (CmObject =3D=3D NULL)) { + ASSERT (This !=3D NULL); + ASSERT (CmObject !=3D NULL); + return EFI_INVALID_PARAMETER; + } + + Status =3D EFI_NOT_FOUND; + PlatformRepo =3D This->PlatRepoInfo; + + switch (GET_CM_OBJECT_ID (CmObjectId)) { + default: { + Status =3D EFI_NOT_FOUND; + DEBUG (( + DEBUG_INFO, + "INFO: Object 0x%x. Status =3D %r\n", + CmObjectId, + Status + )); + break; + } + } //switch + + return Status; +} + /** Return an ARM namespace object. =20 @param [in] This Pointer to the Configuration Manager Pr= otocol. @@ -2091,6 +2141,9 @@ N1sdpPlatformGetObject ( case EObjNameSpaceStandard: Status =3D GetStandardNameSpaceObject (This, CmObjectId, Token, Cm= Object); break; + case EObjNameSpaceArchCommon: + Status =3D GetArchCommonNameSpaceObject (This, CmObjectId, Token, = CmObject); + break; case EObjNameSpaceArm: Status =3D GetArmNameSpaceObject (This, CmObjectId, Token, CmObjec= t); break; --=20 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119521): https://edk2.groups.io/g/devel/message/119521 Mute This Topic: https://groups.io/mt/106589339/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-