From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.6.56; helo=eur04-db3-obe.outbound.protection.outlook.com; envelope-from=alexei.fedorov@arm.com; receiver=edk2-devel@lists.01.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60056.outbound.protection.outlook.com [40.107.6.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 1A4102194D3B3 for ; Tue, 29 Jan 2019 03:27:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fYkKnCJ1aXWfgGYBMWpdaZJXTNqLyYsYd0BqT4pp5BM=; b=R7Useb4vFYk0hSpLVvxI+9g7yiSt4Zpj7OfO8KhwS9a+K7RbF06Aa6kZyLl49Fn5nhQwgX+MMhQSsD0HHQKxzQQ1E7KB+HSozBhqqZscri6EqCbIU4EOjN5p5VJUezMDnBBpfnfPTrvGMmiHEa5sRX9Eja05L9/bOeVBWrGjIQ4= Received: from HE1PR0801MB2027.eurprd08.prod.outlook.com (10.168.95.16) by HE1PR0801MB1500.eurprd08.prod.outlook.com (10.167.190.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.20; Tue, 29 Jan 2019 11:27:36 +0000 Received: from HE1PR0801MB2027.eurprd08.prod.outlook.com ([fe80::64da:434b:e896:24c9]) by HE1PR0801MB2027.eurprd08.prod.outlook.com ([fe80::64da:434b:e896:24c9%2]) with mapi id 15.20.1558.023; Tue, 29 Jan 2019 11:27:36 +0000 From: Alexei Fedorov To: Sami Mujawar , "edk2-devel@lists.01.org" CC: "leif.lindholm@linaro.org" , Matteo Carlini , Stephanie Hughes-Fitt , nd Thread-Topic: [PATCH v2 00/22] DynamicTablesPkg: Introduce Dynamic Tables Framework Thread-Index: AQHUs/vM+HjPwXTcjUaazUWN4Ux1vaXGIfXa Date: Tue, 29 Jan 2019 11:27:36 +0000 Message-ID: References: <20190124154436.21996-1-sami.mujawar@arm.com> In-Reply-To: <20190124154436.21996-1-sami.mujawar@arm.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexei.Fedorov@arm.com; x-originating-ip: [217.140.106.51] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1500; 6:ZGnlebmCJhohx4geR+7Rlra9SiHYd1+r0dOKkAtPY+WgfcwvaYJIKFo6lBFmLcHiS4v23Bxa9Ip2sf8GhltwHWla/57p1f6XinzbNgGCsbeo+AY/56SZhNHYBHti2r/z9/9vkx8HXZhlUc3VqvMzchS+h+U6bbEDBYsuElSp453r7Wzg5apQ3G4a3Uv78jYOtf/QYoc9K9fRE/9yDgNccUIAjNY8ZggPjInKqtnygJwhd3GevU5E7R3LXXKrSAAy6hU52lrVNjKRmV64rdMuvDu1SiQP+ctC4bZlwzr3pdOIxDbTTQohQaLZPYI/tXbOVNLCultHw09SwH0dkfUKthtt2YeqdJop3I0p7JO9H80mBG+jMlcp70+RQ8wgObzXTMtOCRvDrN3HjCjS9hR0G46x91SkNi1Qk/AM7gmBdNwWAnEsL/MUrYPrd1XKXPrHJW7bLdrSFTiGumPE03JXUA==; 5:zeNsQYTQLLoDqPsz6jGVqU1VWaFj0gj2mi8qlKeFAGz4F/czku16HpJDyWSDGoxKu3hDrPo8cAuqMtIG4nFvgk/GtRG+4F5GCFGdzpgowCBN2up99KDjWJSpCOezo76nbqeIuY+LgjAh1hzeGPqpY3n3bK5p3nQKtsZlCVmvnamGYz/TftEeatL//mC+M9loscPMSXPld3P7JoKnMSwcfw==; 7:aanbIPbMwaggaJRpZB/6xO8DglnutJf0Akt1KdKTkmKJR4VbffUpef7hGykp95rGcqYsofa4vKC2ZLpe0JKAIFPhXcXFHaVFesbecsxx0PWw8xtGyBE4Nh9mbPyovksVwNjpzDJU51NgynIT6Y06xw== x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: 17febf9b-0cec-43de-722d-08d685dcc50c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020); SRVR:HE1PR0801MB1500; x-ms-traffictypediagnostic: HE1PR0801MB1500: nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 093290AD39 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(366004)(39860400002)(136003)(376002)(199004)(189003)(99286004)(6116002)(25786009)(102836004)(478600001)(33656002)(6246003)(26005)(53546011)(3846002)(2501003)(229853002)(966005)(606006)(6436002)(105586002)(66066001)(2906002)(19627405001)(6506007)(14454004)(4326008)(97736004)(72206003)(106356001)(71200400001)(68736007)(54896002)(74316002)(6606003)(316002)(11346002)(186003)(76176011)(55016002)(8936002)(71190400001)(6306002)(446003)(110136005)(81166006)(54906003)(53936002)(8676002)(9686003)(86362001)(81156014)(476003)(486006)(7736002)(7696005)(236005)(256004); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1500; H:HE1PR0801MB2027.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: UsBVjG0bw7aUOhKhiBzXm9Ir9RXMpRDbLbswNfHbWohoTVHl6hW0tMHif7evv98hgXM1R72ZpUxomVur82chX1tFJ3rJnXuU0l+DN/e7phUehyYXNxtksZ0lJ5A8IUWaPESu3rPPiziY69WU3CtkEmW2hlLXfJLVz9+YByofDc0HrBH7U0rQ9WBzRCGBlPop4VfJlsdhE4HRWqv8zLSIybbT5emQjGS+rdNJk6R0rzCdbWPz1tmJBekB1vJW4U3NgiL3qvrIfCsdxj4Td6VKb2ig0PIOWE1qb/KywzVKurID/HgFXTSVMn5jpKLKQ1MLE4ig7AdE/aCKT//EsYjY50xEIacxHau+X1TcmHP1uDTVrRIYFZjsoQkAaVkFGsgg+G/ahLwW852ONan/DK5ZLKFj36ZS55N5QILX6yD/fcA= MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17febf9b-0cec-43de-722d-08d685dcc50c X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2019 11:27:36.3636 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1500 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [PATCH v2 00/22] DynamicTablesPkg: Introduce Dynamic Tables Framework X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2019 11:27:41 -0000 Content-Language: en-GB Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I'm OK with these v2 patch series. Reviewed-by: Alexei Fedorov Regards. Alexei. ________________________________ From: Sami Mujawar Sent: 24 January 2019 15:44 To: edk2-devel@lists.01.org Cc: Alexei Fedorov; leif.lindholm@linaro.org; Matteo Carlini; Stephanie Hug= hes-Fitt; nd Subject: [PATCH v2 00/22] DynamicTablesPkg: Introduce Dynamic Tables Framew= ork Dynamic Tables Framework aims to reduce the amount of effort required for porting firmware to new platforms by simplifying the generation of firmware tables based on hardware description provided by a platform specific component. The Dynamic Tables Framework core queries the platform specific component to retrieve the required hardware information for generating standardised firmware tables at run-time. This patch series introduce the Dynamic Tables Framework. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar The changes can be seen at: https://github.com/samimujawar/edk2/tree/365_dynamic_tables_framework_v2 This v2 patch series incorporates: * provision for extending the framework to support newer versions of specifications. * minor code improvements. The corresponding edk2-platform changes can be seen at: https://github.com/samimujawar/edk2-platforms/tree/365_dynamic_tables_frame= work_v3 Sami Mujawar (22): DynamicTablesPkg: Dynamic Tables Framework DynamicTablesPkg: Table Generator definition DynamicTablesPkg: Acpi Table Generator DynamicTablesPkg: SMBIOS Table Generator DynamicTablesPkg: DT Table Generator DynamicTablesPkg: Standard NameSpace Objects DynamicTablesPkg: Arm NameSpace Objects DynamicTablesPkg: Configuration Manager Objects DynamicTablesPkg: Configuration Manager Protocol DynamicTablesPkg: Configuration Manager Helper DynamicTablesPkg: Table Helper Library DynamicTablesPkg: Dynamic Table Factory Protocol DynamicTablesPkg: Dynamic Table Factory Dxe DynamicTablesPkg: Dynamic Table Manager Dxe DynamicTablesPkg: Arm Raw/DSDT/SSDT Generator DynamicTablesPkg: Arm ACPI FADT Generator DynamicTablesPkg: Arm ACPI MADT Generator DynamicTablesPkg: Arm ACPI GTDT Generator DynamicTablesPkg: Arm SPCR Table Generator DynamicTablesPkg: Arm DBG2 Table Generator DynamicTablesPkg: Arm PCI MCFG Table Generator DynamicTablesPkg: Arm IORT Table Generator DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTable= Factory.c | 226 +++ DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DeviceTreeTableFactory/Dev= iceTreeTableFactory.c | 225 +++ DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactory.h = | 125 ++ DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.c = | 90 + DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf= | 60 + DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/SmbiosTableFactory/SmbiosT= ableFactory.c | 226 +++ DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.c = | 735 +++++++ DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf= | 50 + DynamicTablesPkg/DynamicTables.dsc.inc = | 44 + DynamicTablesPkg/DynamicTables.fdf.inc = | 24 + DynamicTablesPkg/DynamicTablesPkg.dec = | 43 + DynamicTablesPkg/Include/AcpiTableGenerator.h = | 360 ++++ DynamicTablesPkg/Include/ArmNameSpaceObjects.h = | 591 ++++++ DynamicTablesPkg/Include/ConfigurationManagerHelper.h = | 132 ++ DynamicTablesPkg/Include/ConfigurationManagerObject.h = | 182 ++ DynamicTablesPkg/Include/DeviceTreeTableGenerator.h = | 182 ++ DynamicTablesPkg/Include/Library/TableHelperLib.h = | 68 + DynamicTablesPkg/Include/Protocol/ConfigurationManagerProtocol.h = | 128 ++ DynamicTablesPkg/Include/Protocol/DynamicTableFactoryProtocol.h = | 269 +++ DynamicTablesPkg/Include/SmbiosTableGenerator.h = | 240 +++ DynamicTablesPkg/Include/StandardNameSpaceObjects.h = | 119 ++ DynamicTablesPkg/Include/TableGenerator.h = | 252 +++ DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf = | 48 + DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c = | 463 +++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf = | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c = | 689 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf = | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c = | 700 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf = | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c = | 2081 ++++++++++++++++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h = | 50 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf = | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c = | 745 +++++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf = | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c = | 370 ++++ DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf = | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGenerator.c = | 150 ++ DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf = | 42 + DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c = | 347 ++++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c = | 176 ++ DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf = | 36 + DynamicTablesPkg/Readme.md = | 139 ++ 42 files changed, 10659 insertions(+) create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTab= leFactory/AcpiTableFactory.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DeviceT= reeTableFactory/DeviceTreeTableFactory.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/Dynamic= TableFactory.h create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/Dynamic= TableFactoryDxe.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/Dynamic= TableFactoryDxe.inf create mode 100644 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/SmbiosT= ableFactory/SmbiosTableFactory.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/Dynamic= TableManagerDxe.c create mode 100644 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/Dynamic= TableManagerDxe.inf create mode 100644 DynamicTablesPkg/DynamicTables.dsc.inc create mode 100644 DynamicTablesPkg/DynamicTables.fdf.inc create mode 100644 DynamicTablesPkg/DynamicTablesPkg.dec create mode 100644 DynamicTablesPkg/Include/AcpiTableGenerator.h create mode 100644 DynamicTablesPkg/Include/ArmNameSpaceObjects.h create mode 100644 DynamicTablesPkg/Include/ConfigurationManagerHelper.h create mode 100644 DynamicTablesPkg/Include/ConfigurationManagerObject.h create mode 100644 DynamicTablesPkg/Include/DeviceTreeTableGenerator.h create mode 100644 DynamicTablesPkg/Include/Library/TableHelperLib.h create mode 100644 DynamicTablesPkg/Include/Protocol/ConfigurationManagerP= rotocol.h create mode 100644 DynamicTablesPkg/Include/Protocol/DynamicTableFactoryPr= otocol.h create mode 100644 DynamicTablesPkg/Include/SmbiosTableGenerator.h create mode 100644 DynamicTablesPkg/Include/StandardNameSpaceObjects.h create mode 100644 DynamicTablesPkg/Include/TableGenerator.h create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDb= g2LibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Ge= nerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFa= dtLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGe= nerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGt= dtLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGe= nerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIo= rtLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGe= nerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGe= nerator.h create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMa= dtLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGe= nerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMc= fgLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGe= nerator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRaw= LibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/RawGene= rator.c create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSp= crLibArm.inf create mode 100644 DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGe= nerator.c create mode 100644 DynamicTablesPkg/Library/Common/TableHelperLib/TableHel= per.c create mode 100644 DynamicTablesPkg/Library/Common/TableHelperLib/TableHel= perLib.inf create mode 100644 DynamicTablesPkg/Readme.md -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'