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 596D17803CC for ; Wed, 14 Feb 2024 04:15:05 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=mr1I3KNQ6K4UkPaNjfIfmPgF4oFzg7kZkR1uECenifc=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1707884104; v=1; b=g2TCMljSlVMnZZhaa5mVVGGLm3N737Y24UGsxYU79N/3pWW+OTYB5eWkvqg1UX4lQAgZOoSV FcefJaXeBY6kE2I+LxsiKweuerz3vFX3GMuT5qdlmoUsBlcY19ypzEtwD630vH7mSzDL+Wubepf Kpcj3jKS41vWJvhscoXNITRE= X-Received: by 127.0.0.2 with SMTP id RDWAYY7687511xuHd7JHcOs7; Tue, 13 Feb 2024 20:15:04 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.76]) by mx.groups.io with SMTP id smtpd.web11.34721.1707884103182442266 for ; Tue, 13 Feb 2024 20:15:03 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mmkHkqZudVQXXzcMQOR5pY0+vpic6VdH4iFUg2yDM4HiB007/rsti56cefn4uNOWRThiApPpZa52OEFTQAilY6RtN2tMWfWVGs8GXyP9A/5OiyGusI75LYBMEtOtpqSl4Qb+6EHuIFLTndxTC1wL30O2yauFBcnF7xicsZEtlwt2K3EXzWVnRoo00w0SkdbheJd2OOrSzML3DVVNtu1HRh3NIzv976FFtw08HKr371dHr9pEHj0Cmzt1Xz5Jw/j1xQsj6Jef4VwG2JMBFTsq5lSG8x9PhbQlnsodJHtehyQlqtr5bffXizRFUSzR0/2zLY2cQpC25EvRXl/0WM3Sxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WwJttB24NperP0H63BAw26joGOBlaumd5KihQ1BqjyA=; b=hwZEra1cShJ+aEVrMqbAnS9COcHEgCWZjD5dV/1a+fU/EOwjEsF8MmgDunfCJtv6sPE6CIkQfBx6uM3ok9nCPKSiux5nyjsK6EYolWhFx6+Ly9J1C3w8hr7ygpyuJjx7kfMrZwDRZlOHYkBMl3NYvwCIDs+iHjwekapevx57VJrNg+HUrEsp2PVmoFAPbJ6ebhRS/8EDNDQXantltb9AGsxVl8CTKCIPpQKwGlfJFBNDC8hY82Aa70fatdjcQkIMmbhvdMwgf8LpHVtHW9J3solroGFAVfalLW/DJ0W8FKGA+xjFehsPh//J4A3k+TtifVHt+78phpuE82ATmvztdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from IA1PR12MB6458.namprd12.prod.outlook.com (2603:10b6:208:3aa::22) by BL1PR12MB5874.namprd12.prod.outlook.com (2603:10b6:208:396::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.24; Wed, 14 Feb 2024 04:15:00 +0000 X-Received: from IA1PR12MB6458.namprd12.prod.outlook.com ([fe80::17a8:12cf:5e09:c48d]) by IA1PR12MB6458.namprd12.prod.outlook.com ([fe80::17a8:12cf:5e09:c48d%6]) with mapi id 15.20.7292.022; Wed, 14 Feb 2024 04:15:00 +0000 From: "Abdul Lateef Attar via groups.io" To: Sami Mujawar , "devel@edk2.groups.io" CC: "michael.d.kinney@intel.com" , "quic_llindhol@quicinc.com" , "ardb+tianocore@kernel.org" , "lersek@redhat.com" , "pierre.gondois@arm.com" , "YeoReum.Yun@arm.com" , "Akanksha.Jain2@arm.com" , "Sibel.Allinson@arm.com" , "sunilvl@ventanamicro.com" , "andrei.warkentin@intel.com" , "gmahadevan@nvidia.com" , "jeshuas@nvidia.com" , "jbrasen@nvidia.com" , "meenakshi.aggarwal@nxp.com" , "nd@arm.com" Subject: Re: [edk2-devel] [staging/dynamictables-reorg PATCH v1 1/1] Branch to reorg Dynamic Tables & support other arch Thread-Topic: [staging/dynamictables-reorg PATCH v1 1/1] Branch to reorg Dynamic Tables & support other arch Thread-Index: AQHaU4vIkvjt//DtFUyRB/KGoAGEX7EJToyQ Date: Wed, 14 Feb 2024 04:15:00 +0000 Message-ID: References: <20240130145035.24760-1-sami.mujawar@arm.com> In-Reply-To: <20240130145035.24760-1-sami.mujawar@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=93790b8c-3558-44b3-a966-e28dfaab8b60;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2024-02-14T04:03:51Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA1PR12MB6458:EE_|BL1PR12MB5874:EE_ x-ms-office365-filtering-correlation-id: 064cbd58-6b38-44f2-7e71-08dc2d1382ca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: h4GJZ/7Sj2D77GRtCo3YK18r1qMKvYvT73BkC/akTqi3CwSI7Ts+9MjAWYHMf5FqJCDZtJPZhY0xtVXA7spOGiJlwkvkym6ItMce21BJSlCkEC46qgRXj63y9XTYr8eV77+fIYP2NS4iB0k/bFLJ5Ki0YLQ167/wT80hhtSP/Yd/tNbFA3Co0z6JsuFKmw5z3F3627eMzCn77wJHWPxvnMxKp6wqyUtK3RgKGiSMB25rMLZw3D3vx9w1cM7xMiy8hg5OapzYpydh2vwQP+WxZwD0g+F+iQZayyI5iwhXMHmWsbvG+yxya1gf0s4jAC5EP5KwGF6H/UPMDQ0Q8j6M0itLlu/tfUAjIDHjWkyoqndMPU7nK1e86WrjjXWTv36Hh70ZEikadgQzGjqEdc+vzpPHT/ujcyEfGEMsC6zp3xpoBu3yxqfvj+OhgdvGCICP8c5lg8SC0BJavmgHFtcr8luPCYqi5eYv7VtWmqUa6L+63Wha9wyCRPkk78vFLlMfmpWXTrOz0En6kmHhAZydjwd/7RI5GtxCBnGjkzC7OJ5jrmNasoOhumHrF4PU8AY0bxGvyxsgOB1BlmRyApDjOt20+E7EjiOPhL/RxH/9Pr60LM2VFqXazKdlH0jnJ5VSUtrDIjMbi0A2o9zZtR0kXA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?zV9fqRG/bcp3drlkxXpXk+4ZezthJfV/hsAyfy31f3/UtYJ8gBNOEeJPYepc?= =?us-ascii?Q?OorShB5mPc5p4/A1O+4CdfnHvTDd6FDQ9jCvYsKNg16EY1OWwQLm8ghPmMTR?= =?us-ascii?Q?mQL++eluiOfn3yImpyrjjk8DnvxHF2s3s1sbmTmjbxF258XDgyrwvqjXb/Y+?= =?us-ascii?Q?GwudHUnY5FlibIq3F96yfYTXNGNdmvKIEx8VutRcqqfbu/Ez2yiOMLeBIQUm?= =?us-ascii?Q?kdC1U0BuMX3SdLkQHzkfwhwOfcQXZXQtHPsZAmBC58JWbPlROkt4to99wxwt?= =?us-ascii?Q?K8uYEs4IWC+lK1sGQpYt9kdM9k5LQU1hMLYw0WRFl3Z5BpZHg/mV/EA6wKYa?= =?us-ascii?Q?DpkudU5PEeSqC37dgpJAanfQuRk+cR74Lk6rsWB3VY3kG2oyuhNNrwLw4lSP?= =?us-ascii?Q?1FUsrpu8gOU5Dp8T2qYF6X+L8Iq2TZm2697PFgtLe2NcGpud0A8FihzXSqrg?= =?us-ascii?Q?TtkrMznlPI4jSost2NADKtbFzJcPtrNVy6JX+Z7a/6B8Dcbdj7/umw8jCmmT?= =?us-ascii?Q?Hz6rZTmNQ1Ld3fdM0ex/5CImQpoMfasEDgQ+ulslAwxHaF2ohK9VbGJ+VJ1q?= =?us-ascii?Q?dGSJDv5MvgaCF49vtsU7Zvz82nMM57MS1o0jqgQsmDQfqAtEJcLEUIBFtHh2?= =?us-ascii?Q?Y6jIBYVUw9atAVL3DaiP879Ls7v8iMU3T3HTgdths5DF88mxpoZHPD4MHI3i?= =?us-ascii?Q?5ExGQOcKjNLS3nS7scNPWct3HdqIDqbvNK7heOpX0xEXcVcuYLzLVKyCoea8?= =?us-ascii?Q?tf1m9+rKYjgyoeXzbXdeyGhBnplJCATEB0EYahH39PNTaHZUcH3lMrz+HgCq?= =?us-ascii?Q?3nucCb8vlS9/cx61bgjxR7nKhA3+YJrpw8lk+bv48uqaJqrtSAcVrvZS6Hkb?= =?us-ascii?Q?FXGDyLI/xkq+V478cS2e4rLF4a3LV1URenPH6JqpD7R27e02nFfY3ptXUufk?= =?us-ascii?Q?g/FC+X7+JrB/79KjgxrIQHqmlWxx7ci/D+JgiLQlbQRQ2+/wxAgc0aynjjCy?= =?us-ascii?Q?OjgIC4C1X86p0d6d+9bZnACmXDsRFw4xjJWXsmba1Cx06Cb7X10sXDEEA7MJ?= =?us-ascii?Q?KTv3GU1XjmKMZ4j7M/rFBPb0pL51T77V+gaUuG5efK2L3HzogFYzLgUL6DrS?= =?us-ascii?Q?ET8cvf1yfCLtIAe6SHpu0lvPeQPOb76Aw/cXu3woyc6WTksTN5lXIpi2QjgS?= =?us-ascii?Q?yMLogucV0mfN4fr66bZf3oM7PqSC6tncwa5l36QS3mx+sqjOK5F7LevOwUib?= =?us-ascii?Q?/GHLpMd+iCdXVNAuGbvcJDHAuYasqYHyZvMt1PiTbikRNLFHV4uoFC/2mOEj?= =?us-ascii?Q?6MbqvzCsMrW2UrLJ1KO2MhPRe8E4GlShyeS2Yo2xBOWFbiADToK6UVzDkyl6?= =?us-ascii?Q?P9ArOE4YKdeQEu0E+2zLDEu3N2uqBl1AZimxOtO5c9HMgd0iIN3GE0GmDBfk?= =?us-ascii?Q?00BC6oQTTxAJLNaKbpAMobckNel9XJgneG/WVhc1l8eW6MO08PSz/S5sgCXc?= =?us-ascii?Q?hutcW3Vc+nLM1AatXDELeWF07YUm8OD6oOYu+nEaDHj5M/+MUWQlkGFemMkd?= =?us-ascii?Q?EgZc8wORm4yQAsBcgLE=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB6458.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 064cbd58-6b38-44f2-7e71-08dc2d1382ca X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2024 04:15:00.1090 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HTpmS+DJZjAx5x62VfboQhV/ofKV9v3vj11xsPAsrUsG+TU4UwYZvBv0zDuLVRdAj+du4Uyg5k9Orj3F1mIpLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5874 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,AbdulLateef.Attar@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: kK0FaZzivpWB1MAwFGibc9oSx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=g2TCMljS; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io [AMD Official Use Only - General] Hi Sami Mujawar, Could you please rebase the branch. I have a patch which was built on top of the edk2 master branch. master branch changes: https://github.com/tianocore/edk2/pull/5374 When I try to apply the same patch(on this branch) getting below errors. Checking patch DynamicTablesPkg/DynamicTables.dsc.inc... error: while searching for: DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.in= f? ? [Components.IA32, Components.X64]? #? # Dynamic Table Factory Dxe? #? DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.in= f? ? [Components.ARM, Components.AARCH64]? #? error: patch failed: DynamicTablesPkg/DynamicTables.dsc.inc:31 error: DynamicTablesPkg/DynamicTables.dsc.inc: patch does not apply Checking patch DynamicTablesPkg/Include/ArchNameSpaceObjects.h... Checking patch DynamicTablesPkg/Include/ConfigurationManagerObject.h... error: while searching for: /** @file? ? Copyright (c) 2017 - 2022, ARM Limited. All rights reserved.? ? SPDX-License-Identifier: BSD-2-Clause-Patent? ? error: patch failed: DynamicTablesPkg/Include/ConfigurationManagerObject.h:= 1 error: DynamicTablesPkg/Include/ConfigurationManagerObject.h: patch does no= t apply Thanks AbduL -----Original Message----- From: Sami Mujawar Sent: Tuesday, January 30, 2024 8:21 PM To: devel@edk2.groups.io Cc: Sami Mujawar ; michael.d.kinney@intel.com; quic_l= lindhol@quicinc.com; ardb+tianocore@kernel.org; lersek@redhat.com; pierre.g= ondois@arm.com; YeoReum.Yun@arm.com; Akanksha.Jain2@arm.com; Sibel.Allinson= @arm.com; sunilvl@ventanamicro.com; andrei.warkentin@intel.com; Attar, Abdu= lLateef (Abdul Lateef) ; gmahadevan@nvidia.com; = jeshuas@nvidia.com; jbrasen@nvidia.com; meenakshi.aggarwal@nxp.com; nd@arm.= com Subject: [staging/dynamictables-reorg PATCH v1 1/1] Branch to reorg Dynamic= Tables & support other arch Caution: This message originated from an External Source. Use proper cautio= n when opening attachments, clicking links, or responding. Dynamic Tables Framework currently supports Arm Architecture. This patch introduces a new staging branch for Dynamic Tables Framework to: - Reorganise the code to streamline adoption by other architectures - Introduce Dynamic Tables support for RISC-V architecture - Integrate Dynamic SMBIOS support. The description is in the Readme.md file. Please create the following branches: 1. edk2-staging Repo URL: https://github.com/tianocore/edk2-staging.git Branch Name: dynamictables-reorg 2. edk2-platforms Repo URL: https://github.com/tianocore/edk2-platforms.git Branch Name: devel-dynamictables-reorg Signed-off-by: Sami Mujawar --- Readme.md | 237 ++++++++++++++++++++ 1 file changed, 237 insertions(+) diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000000000000000000000000000000000000..3031a8967785a2ef90f05b5b0d7= 7053aa82364d3 --- /dev/null +++ b/Readme.md @@ -0,0 +1,237 @@ +# Introduction + +**DynamicTablesPkg** currently supports Arm architecture, and we +welcome the adoption by other architectures. + +This branch will be used to: + - Reorganise the code to streamline adoption by other architectures. + - Introduce Dynamic Tables support for RISC-V architecture + - Integrate Dynamic SMBIOS support + () + +## Goals + - Streamline adoption by other architectures. + - Minimise the impact of migration for existing platforms + - Reuse common code + - Maintain flexibility across architectural components + +# Dynamic Tables Framework + +The dynamic tables framework is designed to generate standardised +firmware tables that describe the hardware information at run-time. A +goal of standardised firmware is to have a common firmware for a +platform capable of booting both Windows and Linux operating systems. + +Traditionally the firmware tables are handcrafted using ACPI Source +Language (ASL), Table Definition Language (TDL) and C-code. This +approach can be error prone and involves time consuming debugging. In +addition, it may be desirable to configure platform hardware at runtime +such as: configuring the number of cores available for use by the OS, +or turning SoC features ON or OFF. + +The dynamic tables framework simplifies this by providing a set of +standard table generators, that are implemented as libraries. +These generators query a platform specific component, the +'Configuration Manager', to collate the information required for +generating the tables at run-time. + +The framework also provides the ability to implement custom/OEM +generators; thereby facilitating support for custom tables. The custom +generators can also utilize the existing standard generators and +override any functionality if needed. + +The framework currently implements a set of standard ACPI table +generators for Arm architecture, these include both data tables and ASL +tables. The ASL generation includes support for both fixup, where a +template AML code is patched, and additionally provides an API to +parse, search, generate and serialise the AML bytecode. + +Although, the set of standard generators implement the functionality +required for Arm architecture; the framework is extensible, and support +for other architectures can be added. + +## Branch Owners + + - Sami Mujawar + - Pierre Gondois + +## Feature Summary + +### Dynamic Tables framework supports + - ACPI data tables + - AML tables + * AML Template Fixup + * AML Code Generation + +The framework currently supports the following table generators for Arm: + * DBG2 - Debug Port Table 2 + * DSDT - Differentiated system description table. This is essentially + a RAW table generator. + * FADT - Fixed ACPI Description Table + * GTDT - Generic Timer Description Table + * IORT - IO Remapping Table + * MADT - Multiple APIC Description Table + * MCFG - PCI Express memory mapped configuration space base address + Description Table + * SPCR - Serial Port Console Redirection Table + * SSDT - Secondary System Description Table. This is essentially + a RAW table generator. + * PCCT - Platform Communications Channel Table. + * PPTT - Processor Properties Topology Table. + * SRAT - System Resource Affinity Table. + * SSDT-CMN600 - SSDT Table for Arm CoreLink CMN-600 Coherent Mesh Netwo= rk. + * SSDT-Cpu-Topology - SSDT Table for describing the CPU hierarchy. + * SSDT-PCIe - SSDT Table describing the PCIe. + * SSDT-Serial-Port - SSDT Table describing the Serial ports. + +## SMBIOS Support + - A SMBIOS String table helper library has been provided. + - Initial patches to add SMBIOS support are available at: + * SMBIOS Dispatcher () + * SMBIOS Table generation (). + +# Roadmap + +1. See [Related Modules](#related-modules) section below for details of + staging repositories and branches to be used for prototyping. +2. The design aspects and changes shall be discussed on the mailing list + with patches to support the details. +3. A new section in DynamicTablesPkg\Readme.md shall be added to reflect + the design updates, e.g. changes to CM Objects, Namespace definitions,= etc. +4. The design changes should typically be supported by patches for the + DynamicTables core framework and demonstrate the impact on the platfor= m + code by typically providing patches for at least one existing + platform (possibly edk2-platforms/Platform/ARM/[Juno | FVP]). +5. The design changes should be small and typically be reflected in separ= ate + patch series. +6. The first phase would be to partition the codebase into common code vs + architectural specific code. This would involve moving files and + reflecting the associated changes such that the build does not break. +7. Define a new namespace *ArchCommon* for the common architectural compo= nents. +8. Identify the CM_ARM_OBJECTs that can be moved to the *ArchCommon* name= space. + As part of this identify if any object needs to be dropped, + e.g. EArmObjReserved29 +9. Identify overlap of SMBIOS objects with existing CM Objects. +10. Submit patches to move CM objects from Arm Namespace to *ArchCommon* + Namespace. Ideally one object (and any dependencies) should be moved + at a time. +11. Submit patches to migrate upstream platforms that use +DynamicTablesPkg 12. Define a new namespace for RISC-V specific objects +13. Submit patches for enabling RISC-V 14. In the next phase support +for Dynamic SMBIOS can be enabled. + +## Note: +- Periodically rebase with edk2 & edk2-platforms master branch to sync + with latest changes. +- Merge *reorg* updates after point 11 above to edk2 & edk2-platforms +master + branch. +- Similarly, the RISC-V support can be merged after point 13. + +# Related Modules + +## edk2-staging +The *dynamictables-reorg* branch in the **edk2-staging** repository +contains the updates to streamline the adoption of Dynamic Tables +Framework by other architectures. + +## edk2-platforms +The *devel-dynamictables-reorg* branch in the **edk2-platforms** +repository contains the platform specific changes. + +# Related Links + +Source Code Repositories for staging:
+ +### 1. edk2 codebase
+ Repo:
+ Branch: *dynamictables-reorg* + +### 2. edk2-platforms codebase
+ Repo:
+ Branch: *devel-dynamictables-reorg* + +# Impacted Platforms + +| Platform | Location | De= scription | Migration Status | Known Iss= ues | +| :---- | :----- | :-= --- | :--- | :--- = | +| Arm Virt Kvmtool | edk2/ArmVirtPkg/KvmtoolCfgMgrDxe | Ar= m Kvmtool Guest firmware | | = | +| FVP | edk2-platforms/Platform/ARM/VExpressPkg | Ar= m Fixed Virtual Platform | | = | +| Juno | edk2-platforms/Platform/ARM/JunoPkg | Ar= m Juno Software Development Platform | | = | +| N1SDP | edk2-platforms/Platform/ARM/N1Sdp | Ar= m Neoverse N1 Software Development Platform | | = | +| Morello FVP | edk2-platforms/Platform/ARM/Morello | Ar= m Morello Fixed Virtual Platform | | = | +| Morello | edk2-platforms/Platform/ARM/Morello | Ar= m Morello Software Development Platform | | = | +| LX2160A | edk2-platforms/Silicon/NXP/LX2160A | NX= P LX2160A | | = | + + +# Prerequisites + +Ensure that the latest ACPICA iASL compiler is used for building +*Dynamic Tables Framework*.
*Dynamic Tables Framework* has been +tested using the following iASL compiler version:
ACPICA iASL compile= r [Version 20230628](https://www.acpica.org/node/183), dated 28 June, 2023. + +# Build Instructions + +1. Set path for the iASL compiler. + +2. Set PACKAGES_PATH to point to the locations of the following repositori= es: + +Example: + +> set PACKAGES_PATH=3D%CD%\edk2;%CD%\edk2-platforms;%CD%\edk2-non-osi + + or + +> export PACKAGES_PATH=3D$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-non-osi + +3. To enable Dynamic tables framework the *'DYNAMIC_TABLES_FRAMEWORK'* +option must be defined for some platforms that support both traditional +ACPI tables as well as Dynamic Table generation. This can be passed as +a command line parameter to the edk2 build system. + +Example: + +Juno supports both traditional and dynamic ACPI tables. +>build -a AARCH64 -p Platform\ARM\JunoPkg\ArmJuno.dsc + -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** + +or +FVP only supports dynamic ACPI table generation, so the preprocessor +flag is not required for the build. +>build -a AARCH64 -p +>Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc + -t GCC5 + +# Documentation + +The documentation for the Dynamic Tables Framework is available at +DynamicTablesPkg\Readme.md. Additionally, Doxygen style documentation +is used in the code. + +# Guidelines for submitting patches + +1. Follow the standard edk2 coding guidelines for preparing patches.
+ The edk2-staging guidelines can be found at + + +2. To submit a patch for edk2-staging repo include the branch name in + the subject line of the commit message.
+ e.g. **[staging/dynamictables-reorg PATCH v<*n*> ]: +Package/Module: Subject** + +3. To submit a patch for edk2-platforms staging repo include the branch + name in the subject line of the commit message.
+ e.g. **[platforms/devel-dynamictables-reorg PATCH v<*n*> ]: +Package/Module: Subject** + + +# Stakeholders/Distribution List + + Please send a patch if you wished to be added/removed from the + distribution list below. + + - Sami Mujawar + - Pierre Gondois + - Yeo Reum Yun + +# Miscellaneous + -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115428): https://edk2.groups.io/g/devel/message/115428 Mute This Topic: https://groups.io/mt/104054584/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-