From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.2.74; helo=eur02-ve1-obe.outbound.protection.outlook.com; envelope-from=evan.lloyd@arm.com; receiver=edk2-devel@lists.01.org Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20074.outbound.protection.outlook.com [40.107.2.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C248721E781F7 for ; Tue, 3 Oct 2017 10:09:04 -0700 (PDT) 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; bh=9TosZh2YHB5usa6FcyOpU82wEWBWdPZCocai8a0pkRA=; b=O3Rl9rYkYlmyfyWR2tekCS9MN4Hp9QoVku5at3NmNBvDo/STCp6WQDooe987QyrJvrpvb/78PTJdEwkLjhGgN7Z7N08+CtiEz0XGibcR7DtLDuTdlhh99sQHDsfTtiVgnQ3T+4aiKVd8rAvNLvPc7J4lXjIHacI+4Ca/mMMyeGc= Received: from AM4PR0801MB1444.eurprd08.prod.outlook.com (10.168.5.24) by AM4PR0801MB1441.eurprd08.prod.outlook.com (10.168.5.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 3 Oct 2017 17:12:22 +0000 Received: from AM4PR0801MB1444.eurprd08.prod.outlook.com ([fe80::952e:5c32:61ec:aa1b]) by AM4PR0801MB1444.eurprd08.prod.outlook.com ([fe80::952e:5c32:61ec:aa1b%14]) with mapi id 15.20.0077.018; Tue, 3 Oct 2017 17:12:22 +0000 From: Evan Lloyd To: Evan Lloyd , "edk2-devel@lists.01.org" CC: "\"Matteo.Carlini@arm.com\"@arm.com" <"Matteo.Carlini@arm.com"@arm.com>, "\"nd@arm.com\"@arm.com" <"nd@arm.com"@arm.com>, "\"ard.biesheuvel@linaro.org\"@arm.com" <"ard.biesheuvel@linaro.org"@arm.com>, "\"thomas.abraham@arm.com\"@arm.com" <"thomas.abraham@arm.com"@arm.com>, "\"Arvind.Chauhan@arm.com\"@arm.com" <"Arvind.Chauhan@arm.com"@arm.com>, "\"leif.lindholm@linaro.org\"@arm.com" <"leif.lindholm@linaro.org"@arm.com>, "\"Daniil.Egranov@arm.com\"@arm.com" <"Daniil.Egranov@arm.com"@arm.com> Thread-Topic: [edk2] [PATCH 0/2] Dynamic Tables Thread-Index: AQHTO7dfEApOIZdey0qe5C/0nCJPSaLSW9iQ Date: Tue, 3 Oct 2017 17:12:22 +0000 Message-ID: References: <20171002194753.4316-1-evan.lloyd@arm.com> In-Reply-To: <20171002194753.4316-1-evan.lloyd@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=Evan.Lloyd@arm.com; x-originating-ip: [217.140.96.140] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM4PR0801MB1441; 6:lgPzC1PNVZ3XbevLYpjbGxt7C/yuTNtXSBhF9RK8QQdgGiiwO8MR6NYqXLbChi4vqbrM2F5fbmPzKkpZguGBVxJqZJ1+VlUb7JplOtiZAig7PftUT/8oBfe+icqqTNLgsjIetu4VWt20DQvmhwDa/uqXqCbwyAGuYofcLiwsuJmqx1EFG77XmSMLLD9HnydbHTolx/NhqXdpsyYwPmjHKw7c58i01cW8ibpryUqIqSr1WbAp/LBT8Vf2Suz95blBDmC/1mYJ4ivBuOXL7uo/+BmezFI99gnvsXaBJ7yNbYa9isKf6OTVgU1hlHTW/yDWC0iJ6gOA9pzSkSMEChSr5w==; 5:f2v+8edhjQYNCzYz7PzESWzqfNMQBaOHLTNU1M7lG56UVb7mOb8N84kZuvDsNJ7gQ7/tiGuLjq/qBBMOBxnBczaYbneYve8xyq1c+alrOG3KvhJ6dgHk9WUfrZE2N9ErL3hu/VZJMvzbkQPYXg/KFhbLqYPgLZYJTAkLSfl/MNc=; 24:qSAJjB+f6vZCRA1VPutqMjD1bHtvNkERa8ILH+OVqoh3+oqj3y8Y3Qe4UgGrPQnj8soxFlAqjdhdZ6iX7YVzW6hUN9hvL6w8+HL6GJGQ5Uw=; 7:dINnh9RRKoaE4LIGTn2kqhwlSInvRD8lqwX9PTcrEtB8v5WD/haTGmJBDTQRzWKcJnLBgFYMDFLCa8CGVerSeEkHdgIYa6FJiDgVx9DrdAMymfDQDTQ0U/usWtY6HTgwGXaq+L7VTkl8GyUZ9YY2gmnlI1aUEP09aZHRb6O7aaWd6MZVZN8c/hrhqSY4a/15RQu2IsY1cuSS+r6fbVqUn6Q5fJQvfCxsa07+mEu8ge4= x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-ms-office365-filtering-correlation-id: 3331d3f4-7329-4969-3926-08d50a81e944 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:AM4PR0801MB1441; x-ms-traffictypediagnostic: AM4PR0801MB1441: x-exchange-antispam-report-test: UriScan:(180628864354917)(166708455590820)(162533806227266); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(20161123558100)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM4PR0801MB1441; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM4PR0801MB1441; x-forefront-prvs: 044968D9E1 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(39860400002)(376002)(189002)(13464003)(40434004)(199003)(5890100001)(2501003)(5250100002)(14454004)(7736002)(99286003)(6306002)(110136005)(8676002)(81166006)(81156014)(305945005)(5660300001)(9686003)(8936002)(86362001)(316002)(25786009)(7696004)(55016002)(6436002)(2950100002)(68736007)(6506006)(33656002)(97736004)(3660700001)(478600001)(189998001)(3280700002)(6246003)(54356999)(50986999)(53936002)(76176999)(229853002)(2906002)(3846002)(6116002)(102836003)(2900100001)(74316002)(101416001)(966005)(4326008)(72206003)(66066001)(105586002)(106356001)(53546010); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR0801MB1441; H:AM4PR0801MB1444.eurprd08.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2017 17:12:22.2477 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0801MB1441 Subject: Re: [PATCH 0/2] Dynamic Tables X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2017 17:09:05 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I omitted some info here. The code can be examined at: https://github.com/EvanLloyd/tianocore/tree/139_dynamic_tables_v1 and https://github.com/EvanLloyd/edk2-platforms/tree/139_dynamic_tables_v1 Evan > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > evan.lloyd@arm.com > Sent: 02 October 2017 20:48 > To: edk2-devel@lists.01.org > Cc: "Matteo.Carlini@arm.com"@arm.com; "nd@arm.com"@arm.com; > "ard.biesheuvel@linaro.org"@arm.com; "Stephanie.Hughes- > Fitt@arm.com"@arm.com; "thomas.abraham@arm.com"@arm.com; > "Arvind.Chauhan@arm.com"@arm.com; > "leif.lindholm@linaro.org"@arm.com; > "Daniil.Egranov@arm.com"@arm.com > Subject: [edk2] [PATCH 0/2] Dynamic Tables > > From: EvanLloyd > > Historically, ACPI code, SMBIOS tables, and UEFI firmware were often > developed in isolation from each other. This introduced several problems= , > not least of which was duplication of platform information between the > various source trees. > In addition, variants of platforms introduced a plethora of alternative b= uilds > of ACPI, SMBIOS and EDK2, with the concomitant risk of getting the mixtur= e > wrong in a build. > > In the effort to resolve these problems, the solution prototyped here was > devised. The basic idea is to obtain the "variant" > information from a management node. That means the firmware image can > be platform independent, with ACPI, SMBIOS (and potentially > other) tables generated with information from the management node. This > example has the framework for that, but the configuration information is > supplied directly, as an interim solution until a suitable management nod= e > implementation exists yet. [[Evan Lloyd]] Oops, sorry about the superfluous yet. > > > Sami Mujawar (1): > MdeModulePkg: Dynamic Tables Framework > > MdeModulePkg/MdeModulePkg.dec = | > 13 + > MdeModulePkg/Universal/DynamicTables/DynamicTables.dsc.inc > | 45 ++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg > 2LibArm.inf | 49 ++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiFadtLibArm/AcpiFadt > LibArm.inf | 47 ++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdt > LibArm.inf | 46 ++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMadtLibArm/AcpiMa > dtLibArm.inf | 47 ++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMcfgLibArm/AcpiMcf > gLibArm.inf | 47 ++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiRawLibArm/AcpiRaw > LibArm.inf | 44 ++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcr > LibArm.inf | 44 ++ > > MdeModulePkg/Library/DynamicTables/Common/TableHelperLib/TableHelp > erLib.inf | 39 ++ > > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Dynami > cTableFactoryDxe.inf | 57 ++ > > MdeModulePkg/Universal/DynamicTables/DynamicTableManagerDxe/Dyna > micTableManagerDxe.inf | 47 ++ > MdeModulePkg/Include/DynamicTables/AcpiTableGenerator.h > | 280 ++++++++ > MdeModulePkg/Include/DynamicTables/ArmNameSpaceObjects.h > | 367 ++++++++++ > MdeModulePkg/Include/DynamicTables/ConfigurationManagerHelper.h > | 112 +++ > MdeModulePkg/Include/DynamicTables/ConfigurationManagerObject.h > | 158 +++++ > MdeModulePkg/Include/DynamicTables/SmbiosTableGenerator.h > | 235 +++++++ > MdeModulePkg/Include/DynamicTables/StandardNameSpaceObjects.h > | 93 +++ > MdeModulePkg/Include/DynamicTables/TableGenerator.h > | 235 +++++++ > MdeModulePkg/Include/Library/TableHelperLib.h > | 67 ++ > MdeModulePkg/Include/Protocol/ConfigurationManagerProtocol.h > | 121 ++++ > MdeModulePkg/Include/Protocol/DynamicTableFactoryProtocol.h > | 113 +++ > > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Dynami > cTableFactory.h | 91 +++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiDbg2LibArm/Dbg2Ge > nerator.c | 440 ++++++++++++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiFadtLibArm/FadtGen > erator.c | 562 +++++++++++++++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiGtdtLibArm/GtdtGen > erator.c | 652 +++++++++++++++++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMadtLibArm/MadtGe > nerator.c | 732 ++++++++++++++++++++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMcfgLibArm/McfgGe > nerator.c | 336 +++++++++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiRawLibArm/RawGen > erator.c | 177 +++++ > > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiSpcrLibArm/SpcrGen > erator.c | 323 +++++++++ > > MdeModulePkg/Library/DynamicTables/Common/TableHelperLib/TableHelp > er.c | 165 +++++ > > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/AcpiTa > bleFactory/AcpiTableFactory.c | 227 ++++++ > > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Dynami > cTableFactoryDxe.c | 84 +++ > > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Smbios > TableFactory/SmbiosTableFactory.c | 227 ++++++ > > MdeModulePkg/Universal/DynamicTables/DynamicTableManagerDxe/Dyna > micTableManagerDxe.c | 531 ++++++++++++++ > MdeModulePkg/Universal/DynamicTables/DynamicTables.fdf.inc > | 35 + > 36 files changed, 6888 insertions(+) > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTables.dsc.inc > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg > 2LibArm.inf > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiFadtLibArm/AcpiFadt > LibArm.inf > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdt > LibArm.inf > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMadtLibArm/AcpiMa > dtLibArm.inf > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMcfgLibArm/AcpiMcf > gLibArm.inf > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiRawLibArm/AcpiRaw > LibArm.inf > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcr > LibArm.inf > create mode 100644 > MdeModulePkg/Library/DynamicTables/Common/TableHelperLib/TableHelp > erLib.inf > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Dynami > cTableFactoryDxe.inf > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTableManagerDxe/Dyna > micTableManagerDxe.inf > create mode 100644 > MdeModulePkg/Include/DynamicTables/AcpiTableGenerator.h > create mode 100644 > MdeModulePkg/Include/DynamicTables/ArmNameSpaceObjects.h > create mode 100644 > MdeModulePkg/Include/DynamicTables/ConfigurationManagerHelper.h > create mode 100644 > MdeModulePkg/Include/DynamicTables/ConfigurationManagerObject.h > create mode 100644 > MdeModulePkg/Include/DynamicTables/SmbiosTableGenerator.h > create mode 100644 > MdeModulePkg/Include/DynamicTables/StandardNameSpaceObjects.h > create mode 100644 > MdeModulePkg/Include/DynamicTables/TableGenerator.h > create mode 100644 MdeModulePkg/Include/Library/TableHelperLib.h > create mode 100644 > MdeModulePkg/Include/Protocol/ConfigurationManagerProtocol.h > create mode 100644 > MdeModulePkg/Include/Protocol/DynamicTableFactoryProtocol.h > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Dynami > cTableFactory.h > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiDbg2LibArm/Dbg2Ge > nerator.c > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiFadtLibArm/FadtGen > erator.c > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiGtdtLibArm/GtdtGen > erator.c > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMadtLibArm/MadtGe > nerator.c > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiMcfgLibArm/McfgGe > nerator.c > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiRawLibArm/RawGen > erator.c > create mode 100644 > MdeModulePkg/Library/DynamicTables/Acpi/Arm/AcpiSpcrLibArm/SpcrGen > erator.c > create mode 100644 > MdeModulePkg/Library/DynamicTables/Common/TableHelperLib/TableHelp > er.c > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/AcpiTa > bleFactory/AcpiTableFactory.c > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Dynami > cTableFactoryDxe.c > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTableFactoryDxe/Smbios > TableFactory/SmbiosTableFactory.c > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTableManagerDxe/Dyna > micTableManagerDxe.c > create mode 100644 > MdeModulePkg/Universal/DynamicTables/DynamicTables.fdf.inc > > -- > Guid("CE165669-3EF3-493F-B85D-6190EE5B9759") > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.