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 5E858941CA5 for ; Tue, 30 Jan 2024 14:51:18 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=4S622sB+0mgra1pEbLXGcOvE3IOKyiDNBQem5XGT+gY=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:MIME-Version:NoDisclaimer:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type; s=20140610; t=1706626277; v=1; b=Fxr5npS9IABypKojCRFw3w0TBX8Lhx96GU+0w0ZwoL0q5na5oh5q/ELSOPVJuYQW26VY/xHq XcEPCDcAgC2b+bL1j2SfYipmtkYZcjiUSbeXoW8viEVpaV+hjMv3ZKodyJm7o3ok8MW7+ZSeYTl dfvO4TQje7UFHx5JtdMwbysw= X-Received: by 127.0.0.2 with SMTP id b4lsYY7687511xlToJ208syp; Tue, 30 Jan 2024 06:51:17 -0800 X-Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.67]) by mx.groups.io with SMTP id smtpd.web11.19916.1706626275951943988 for ; Tue, 30 Jan 2024 06:51:16 -0800 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=Yj4Vu4zgyq5D5gjnDtl5P8GMznBI92hzqB1RI6ReNiZ/IxxA1Ja61cQ74RDrFmdZ9Z55EywFcnY+XttvUAXgfkEwFuEPr95iibTOfE/cr/vxyRgUuJ5p57iD4HBSJnwxeVdMYA/Yg+cqKMZ+F1WQxgSpzfulGrP1fmdR+hUC4M9RlQ/Ml73qZw/dIbZ11rL3Ow/BkL1rpjNcvjqTAa+kmhgwp/EGOjgwk237Gom25MKLFFcAULpdB0Y72bMxQQcoL9Ra0DmLbVxxADdR68j4lVLV6O/vsJt9sNHb4nIz5dYL7Zn8HjKpSKsS7MvMddi7wBupihUHU6Z1eeznpAp1HA== ARC-Message-Signature: i=2; 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=8TsLuoF7XU6LDAdyTyzLnN7K7GKpuIeydqDHZP7UWHc=; b=kCKuG7A51C301IdrH5/keMRO/qrhEi6nQfEDGtmLnqAQaNVosbiuAGa47rx6F1ei2gZ0Pcm97ZVkZmwwSdRJ7oCkHaWhiXoEj2LOR4qYjQmAosdLrH9Fu+P5oxgwjJ/WK6tlcnR4XAWe37ghYGYUSHNnFJHn8l7riLkPrs2XefvwdHDaaiHTgxTbJTtD/4ySm/ade9fyQR6vQNquxY3+NsPdpvXVpqxyvhIq/JrqG0Kx2HizQSVolE+coUA86U3J9IggrMTueti6W7sb2SSPizYq42AzhQlPZ6DNlQkznYoCpWyJV5T1rzIjK7pihB8mocT/zAGCq7mvsuQMP/T7JQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) X-Received: from AS4P251CA0021.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:5d3::11) by DB9PR08MB6476.eurprd08.prod.outlook.com (2603:10a6:10:258::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 14:51:03 +0000 X-Received: from AM3PEPF00009B9E.eurprd04.prod.outlook.com (2603:10a6:20b:5d3:cafe::24) by AS4P251CA0021.outlook.office365.com (2603:10a6:20b:5d3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32 via Frontend Transport; Tue, 30 Jan 2024 14:51:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM3PEPF00009B9E.mail.protection.outlook.com (10.167.16.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 14:51:03 +0000 X-Received: ("Tessian outbound 67699c3f02bc:v228"); Tue, 30 Jan 2024 14:51:03 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3618c7e0307e2ce7 X-CR-MTA-TID: 64aa7808 X-Received: from d85c68a44c0f.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B1DC52E4-F60E-4470-8799-02D6D1C488A0.1; Tue, 30 Jan 2024 14:50:52 +0000 X-Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d85c68a44c0f.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 30 Jan 2024 14:50:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kfZVmIURCDTFBpZLZpYCoBrXH3NCLQkw3EjhXxMngJvgCm/P3nBIdxqDyiuk7UN5CArV1yXSmG6rV1W+/+AyfXHtIVtvjCVLa81Tt/CZCiHrGCLRhyutwref8SNbnZ/8A6d8f5TPiMsn8OCNcblpxr0qfoD2apsqVsbaDw/8qGU3w89Ib3u7Ll+li3z9WgGSQ0SDxiNtpfSaneUeCJZI0USJQl7KnAje13Rc7bSB0Z+EHdlDDFa790/cD+fX05r1wLo+PoEip8NDQWH429+CyH8IsGvkCw6L6ZYb1OfZg4Drtknn48nOvnSuh/Ia3lRmKdZu/6Yj0dB5CH+IlLpI8g== 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=8TsLuoF7XU6LDAdyTyzLnN7K7GKpuIeydqDHZP7UWHc=; b=lmjRuV0I0hLtbHl7L9w/oFSRfkGY/KjSsoFJDbzxHN3Uxj3z8WarINepk6PEhD20Bm8aSxrxfXbcPlZB/GgvDukaoWMes0t9mUMQbXAmsd7g620pYMSMRBmZxeHRTqMu4DoT74Tpk3tozahMikEAuQw/09M+QlLQMz/xGzOL/u4EqW86nIgFiD2IsiFzL37HZOhSM1G/zhNajsJnDZUpnOGvgNnPXdH3Px6RybHFcReWt2WZeAyUkF0nDcZ3UYNDwVfk2aOEyYKS7TTe78J9QMC8w1eLIh/VY5urLy51YS67qCTgDRb2ukK4spvtdCXxeMifMlI8wFH65QH8wDyEsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) X-Received: from AS4PR10CA0010.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5dc::7) by GV1PR08MB10401.eurprd08.prod.outlook.com (2603:10a6:150:170::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Tue, 30 Jan 2024 14:50:47 +0000 X-Received: from AM4PEPF00025F9C.EURPRD83.prod.outlook.com (2603:10a6:20b:5dc:cafe::b0) by AS4PR10CA0010.outlook.office365.com (2603:10a6:20b:5dc::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 14:50:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C X-Received: from nebula.arm.com (40.67.248.234) by AM4PEPF00025F9C.mail.protection.outlook.com (10.167.16.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7228.0 via Frontend Transport; Tue, 30 Jan 2024 14:50:47 +0000 X-Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Tue, 30 Jan 2024 14:50:38 +0000 X-Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Tue, 30 Jan 2024 14:50:37 +0000 X-Received: from E114225.Arm.com (10.1.196.56) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.32 via Frontend Transport; Tue, 30 Jan 2024 14:50:36 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , , , , , , , , Subject: [edk2-devel] [staging/dynamictables-reorg PATCH v1 1/1] Branch to reorg Dynamic Tables & support other arch Date: Tue, 30 Jan 2024 14:50:35 +0000 Message-ID: <20240130145035.24760-1-sami.mujawar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00025F9C:EE_|GV1PR08MB10401:EE_|AM3PEPF00009B9E:EE_|DB9PR08MB6476:EE_ X-MS-Office365-Filtering-Correlation-Id: fb174745-8485-45a8-39bb-08dc21a2e1e1 X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Ejb7MBMjBfAnPPhO/ln+oXOFmG/Si8FOjHuYyOQErZI3Role1SyPoWDmlp5SEFqlUEauo9IqIb8aGLK3SRO/7afvVKqN7GKFwKUAXTKUB1c8Sf/9cew0g5wTC6r3nohA0ZU2uRf6fFzFOxj+YCOzFEDdYrbT46FtZxhpnjRjdVixXBrlCULFNhvCIPdnq451OLDisd/QtJFA3gSB+dvamEbkJGPupxilfBhojlhmtxHpdrh5fomYsdjcucrjX6Om0Rm35w+5iYOfjem46uoqb01xCS45DLTl09FQ+qwgYyQtMtNopWADi1eCf8eyMoBwCngcwQBk/rU4pj3Fe/j8W7+FPieW1dSyQxY8Yfi8M778V8wHLuImRvFL9WoPGJ2RLioIf16Tmyd0/y++GkDWO5xB1Ou9+jjROrImAWC27YGEBcwxvAwrwfGd3kWBNjhtOfi+EyUzVu1o4Ldyx2XImp6LoYK+JP1ZVHG2NHHSqjvkxdRGdMn2CBX/DlqTnIW2FjFe0Ng+PHRRWhkpZdYqq5edP3Qb94IsqVnLLU7+k2qmgLhetpJ0YV85xrpRpLc8lGUiJ30hmAc9E0Prk3LqQjrmZQYGPyj35Oi5DsO93WW+j/OMx1VWC+PrXuYHnkYWD6MEQcpIR4R+mjuvCXwb+1FVmqFWFgMtQ2SHgO9YxFPw8ax9vGyaLrLk/Cs73OiGkzvRt4CHAmA3wYs5AHJuNRakteEGdmfyY+N31a9L5VNK5eF0boovkkIZISzrTZYE6DGPfOEOZMKFdh6gA7wqwNsGFWN/R/tr3OPmBeeywDg= X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(39860400002)(376002)(396003)(346002)(136003)(230922051799003)(82310400011)(186009)(451199024)(1800799012)(64100799003)(40470700004)(36840700001)(46966006)(36860700001)(47076005)(316002)(66899024)(83380400001)(36756003)(44832011)(70586007)(6916009)(54906003)(7696005)(70206006)(86362001)(8936002)(8676002)(966005)(26005)(478600001)(19627235002)(4326008)(1076003)(2906002)(30864003)(336012)(426003)(7416002)(5660300002)(2616005)(41300700001)(40480700001)(40460700003)(81166007)(82740400003)(356005)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10401 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF00009B9E.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 799e10c6-a5af-4915-2254-08dc21a2d809 X-Microsoft-Antispam-Message-Info: 2iy3oAJOOUxDHYqGcaUncIRbyQLbiMNerFmgYL9243qg6almdc1enRN3b35LrmQOtMMEMVXsJhP+OciiW8jhe86zkOLl7gRBhu5iID2Z7AeDESI2zXbVWyAvs10gJ/1BY/UvBCZeZRD5PDs6Wl/gxua1oDz6ocAg4BhnpO3LCxNKqmQN8ENWE2yJbgGLx3N13SzxYTHzYf0Id7fjIRFrp7L9GpwIfsT1IviuPyX3C1M4VERs7GisIxQnT5lHvC7SyCwkKMWE5oEkmwjL++XJH0XZOQwMNqGNxpyyPAwzpfvkSB2DajeomswjfgNwB/S2eeUMnp1PD4JUvfPIDI2RnOtsuFXNL98jsW8JlK+OgO4+P23tY6uqW9QuaapziQQxnrZg5GSTWBTVVd6nnXQktCDOkeBJaqtb1BKTK6T84JIqCGzsK2zfr1AS4CSlrro2aX4GwoBh4KwxxFQdWPdPNkOkPYeRzu6cEr25BsUM/qS+CnWqpUrRH7eqlAn2eHiORE+SLYlgAr8sbud8nuQkwhd8zfCtJ3SdQcg2KlgUVyz6VTaTHU544wrIYpsy6HQmI7vg4hsuRWUmzC1BBAb8nL/8KmEzgI/dCx9YPbSCeZ1bqI63NiMe8CzZAOMV5wYefq/SDGbFGK/ACEv9CNCwxoKp0vde6SI1EwmfPjfF/OA5fi13IZu/IU8TLy/El8/pW86OD0ZxOQ+yC+M4IpeK+BTlbC7QjFqVPhquapW2ecEAKSM8l6eup95Dcdl/5+l9fMY3SRFnRzrC4tAA8j/kjQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 14:51:03.7195 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fb174745-8485-45a8-39bb-08dc21a2e1e1 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM3PEPF00009B9E.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6476 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,sami.mujawar@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: FapCbGndu8tOlZEOnmiWttFzx7686176AA= Content-Type: text/plain X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=Fxr5npS9; 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 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io 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..3031a8967785a2ef90f05b5b0d77053aa82364d3 --- /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 Network. + * 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 platform + 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 separate + 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 components. +8. Identify the CM_ARM_OBJECTs that can be moved to the *ArchCommon* namespace. + 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 | Description | Migration Status | Known Issues | +| :---- | :----- | :---- | :--- | :--- | +| Arm Virt Kvmtool | edk2/ArmVirtPkg/KvmtoolCfgMgrDxe | Arm Kvmtool Guest firmware | | | +| FVP | edk2-platforms/Platform/ARM/VExpressPkg | Arm Fixed Virtual Platform | | | +| Juno | edk2-platforms/Platform/ARM/JunoPkg | Arm Juno Software Development Platform | | | +| N1SDP | edk2-platforms/Platform/ARM/N1Sdp | Arm Neoverse N1 Software Development Platform | | | +| Morello FVP | edk2-platforms/Platform/ARM/Morello | Arm Morello Fixed Virtual Platform | | | +| Morello | edk2-platforms/Platform/ARM/Morello | Arm Morello Software Development Platform | | | +| LX2160A | edk2-platforms/Silicon/NXP/LX2160A | NXP 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 compiler [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 repositories: + +Example: + +> set PACKAGES_PATH=%CD%\edk2;%CD%\edk2-platforms;%CD%\edk2-non-osi + + or + +> export PACKAGES_PATH=$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)' -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114790): https://edk2.groups.io/g/devel/message/114790 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] -=-=-=-=-=-=-=-=-=-=-=-