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 CE0D9AC10F7 for ; Tue, 5 Mar 2024 10:42:45 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=rd0/v3aCsak6MOwQmKvrqvD+ut5JYuCUaRpCi2BXSpU=; c=relaxed/simple; d=groups.io; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Disposition; s=20140610; t=1709635364; v=1; b=GwdiAtIPla00SDvqaqbqk7L6b3aXYj9+0YsHbvA2teSwm9+VSHX4Zl33gsEhl295P8P5neeh WVVsoZl5iG+bDPMW+yU1JMw2317aX31H/liKARLKWhahkpes3XF1cjGvekMLw7YETc6LCqIOoQv KhfD77LGr+RAgvIY8GMhe1ek= X-Received: by 127.0.0.2 with SMTP id KIlAYY7687511xwvaDqmNsZV; Tue, 05 Mar 2024 02:42:44 -0800 X-Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51]) by mx.groups.io with SMTP id smtpd.web11.19732.1709635363604829144 for ; Tue, 05 Mar 2024 02:42:43 -0800 X-Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-2210a266118so888936fac.1 for ; Tue, 05 Mar 2024 02:42:43 -0800 (PST) X-Gm-Message-State: wYgNZ4Hswlmna8vhd6cP5Eogx7686176AA= X-Google-Smtp-Source: AGHT+IFJpr/1KAIUY0UMAwyDKBUVouWRAmf2Zp74BKyU1D11qCvS8ooL06NnLBwENO77vKHjaR5tuA== X-Received: by 2002:a05:6870:8913:b0:21f:6d8d:67a1 with SMTP id i19-20020a056870891300b0021f6d8d67a1mr1516739oao.7.1709635362838; Tue, 05 Mar 2024 02:42:42 -0800 (PST) X-Received: from sunil-laptop ([106.51.184.12]) by smtp.gmail.com with ESMTPSA id a24-20020a631a18000000b005dc491ccdcesm8696092pga.14.2024.03.05.02.42.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Mar 2024 02:42:42 -0800 (PST) Date: Tue, 5 Mar 2024 16:12:34 +0530 From: "Sunil V L" To: Sami Mujawar Cc: devel@edk2.groups.io, Pierre.Gondois@arm.com, YeoReum.Yun@arm.com, AbdulLateef.Attar@amd.com, jeshuas@nvidia.com, jbrasen@nvidia.com, gmahadevan@nvidia.com, quic_llindhol@quicinc.com, meenakshi.aggarwal@nxp.com, Akanksha.Jain2@arm.com, Sibel.Allinson@arm.com, nd@arm.com Subject: Re: [edk2-devel] [staging/dynamictables-reorg PATCH v1 1/2] DynamicTablesPkg: Introduce an Arch Common Namespace Message-ID: References: <20240304164617.26652-1-sami.mujawar@arm.com> <20240304164617.26652-2-sami.mujawar@arm.com> MIME-Version: 1.0 In-Reply-To: <20240304164617.26652-2-sami.mujawar@arm.com> 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 Reply-To: devel@edk2.groups.io,sunilvl@ventanamicro.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=GwdiAtIP; dmarc=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 On Mon, Mar 04, 2024 at 04:46:16PM +0000, Sami Mujawar wrote: > Introduce an Arch Common Namespace so that the common > architectural objects can be defined under this namespace > in the Configuration manager. Also rearrange the namespace > IDs so that the Arch Common Namespace has a value of 0x1, > the Arm Namespace ID has a value of 0x2, and the Custom/OEM > namespace ID has a value of 0xF. Also introduce a helper > macro to create configuration manager objects in the Arch > Common Namespace. > > The Arch Common Namespace shall contain objects like > Serial Port, PCI Bus information etc. It must not contain > Architecture specific components e.g. GICC which is Arm > architecture specific component and therefore must be > defined in the Arm Namespace. > > Cc: Pierre Gondois > Cc: Yeo Reum Yun > Cc: Sunil V L > Cc: AbdulLateef Attar > Cc: Jeshua Smith > Cc: Jeff Brasen > Cc: Girish Mahadevan > Cc: Leif Lindholm > Cc: Meenakshi Aggarwal > Signed-off-by: Sami Mujawar > --- > DynamicTablesPkg/Include/ConfigurationManagerObject.h | 26 ++++-- > DynamicTablesPkg/Readme.md | 98 ++++++++++++++++++++ > 2 files changed, 117 insertions(+), 7 deletions(-) > > diff --git a/DynamicTablesPkg/Include/ConfigurationManagerObject.h b/DynamicTablesPkg/Include/ConfigurationManagerObject.h > index 74ad25d5d94a34da39e6c8dd909f9863e223d086..4255c82b42aefb52148a14a44c91328ec82f1550 100644 > --- a/DynamicTablesPkg/Include/ConfigurationManagerObject.h > +++ b/DynamicTablesPkg/Include/ConfigurationManagerObject.h > @@ -1,6 +1,6 @@ > /** @file > > - Copyright (c) 2017 - 2022, ARM Limited. All rights reserved. > + Copyright (c) 2017 - 2024, Arm Limited. All rights reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -29,8 +29,9 @@ _______________________________________________________________________________ > > Bits: [31:28] - Name Space ID > 0000 - Standard > - 0001 - ARM > - 1000 - Custom/OEM > + 0001 - Arch Common > + 0010 - ARM > + 1111 - Custom/OEM > All other values are reserved. > > Bits: [27:16] - Reserved. > @@ -105,10 +106,11 @@ typedef UINT32 CM_OBJECT_ID; > for the Configuration Manager Objects. > */ > typedef enum ObjectNameSpaceID { > - EObjNameSpaceStandard, ///< Standard Objects Namespace > - EObjNameSpaceArm, ///< ARM Objects Namespace > - EObjNameSpaceOem = 0x8, ///< OEM Objects Namespace > - EObjNameSpaceMax > + EObjNameSpaceStandard, ///< Standard Objects Namespace > + EObjNameSpaceArchCommon, ///< Arch Common Objects Namespace > + EObjNameSpaceArm, ///< ARM Objects Namespace > + EObjNameSpaceOem = 0xF, ///< OEM Objects Namespace > + EObjNameSpaceMax, > } EOBJECT_NAMESPACE_ID; > > /** A descriptor for Configuration Manager Objects. > @@ -182,6 +184,16 @@ typedef struct CmObjDescriptor { > #define CREATE_CM_ARM_OBJECT_ID(ObjectId) \ > (CREATE_CM_OBJECT_ID (EObjNameSpaceArm, ObjectId)) > > +/** This macro returns a Configuration Manager Object ID > + in the Arch Common Object Namespace. > + > + @param [in] ObjectId The Object ID. > + > + @retval Returns an Arch Common Configuration Manager Object ID. > +**/ > +#define CREATE_CM_ARCH_COMMON_OBJECT_ID(ObjectId) \ > + (CREATE_CM_OBJECT_ID (EObjNameSpaceArchCommon, ObjectId)) > + > /** This macro returns a Configuration Manager Object ID > in the OEM Object Namespace. > > diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md > index c1cdc5e17326709e811a2f3fe530316e95dec7ee..ba4ae7155f13a77298ece74cc567bb3e9dfc303d 100644 > --- a/DynamicTablesPkg/Readme.md > +++ b/DynamicTablesPkg/Readme.md > @@ -402,3 +402,101 @@ Refer to the following presentation from *UEFI Plugfest Seattle 2018*: > > [Dynamic Tables Framework: A Step Towards Automatic Generation of Advanced Configuration and Power Interface (ACPI) & System Management BIOS (SMBIOS) Tables](http://www.uefi.org/sites/default/files/resources/Arm_Dynamic%20Tables%20Framework%20A%20Step%20Towards%20Automatic%20Generation%20of%20Advanced%20Configuration%20and%20Power%20Interface%20%28ACPI%29%20%26%20System%20Management%20BIOS%20%28SMBIOS%29%20Tables%20_0.pdf) > > +## Configuration Manager Objects > + > +The CM_OBJECT_ID type is used to identify the Configuration Manager > + objects. > + > +## Description of Configuration Manager Object ID > + > +| 31 30 29 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 6 5 4 3 2 1 0 | > +| ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | > +| `Name Space ID` | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | `Object ID` | > +--------------------------------------------------------------------------------- > + NIT: Can we minimize the width by using range instead of each bits? 31-28, 27-8 and 7-0 would be better even when it is rendered in the browser IMO. Otherwise LGTM. Thanks! Reviewed-by: Sunil V L -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116359): https://edk2.groups.io/g/devel/message/116359 Mute This Topic: https://groups.io/mt/104726065/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-