From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web12.9206.1648571999774055437 for ; Tue, 29 Mar 2022 09:40:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=mNP8Krvv; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ankit.sinha@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648571999; x=1680107999; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=i9T3mENGTOERAEf45Q4AOT5yLEUmQGITLRj4ZY2Di1s=; b=mNP8KrvvDrnYKROM2EryznHyMXQOLw11D1OQ8aLqI+i0/gaARq2Vybfh lSoyL4Z0gRHWOonRgNozyFa99grwEb9cxUe2EGEOxq2P0ydjBDFGncsnd Q1w8nPeKyqdUmIZC0qyf/t4gvQSnTh0jH4S7ob1EfqYSFQOB8iPb2dXl3 bpozaTbLW1Xqpl5K+YMbFOnPMO/XUg0xD3DWlSxO3vPR0zFWWq8t+SlIW 94AQQEjsWr/JskxnD/T1ZbZ8EV+zkSjFDTZvEUOgE5mUbHNCPU8J2A3Cl J+cwKwAEQ0qKUEM1kE5CCWlBm9H1mJY9R+eGhJl6o6SRpTchbm9m636T9 Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10301"; a="345737631" X-IronPort-AV: E=Sophos;i="5.90,220,1643702400"; d="scan'208";a="345737631" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2022 09:29:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,220,1643702400"; d="scan'208";a="694769990" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga001.fm.intel.com with ESMTP; 29 Mar 2022 09:29:03 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 29 Mar 2022 09:29:02 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Tue, 29 Mar 2022 09:29:02 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Tue, 29 Mar 2022 09:29:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ap55rwS0+ACW0oo6xKrlKtFQO3xyrySRX/nrl36pTxnO1147AvT7CNfAzEQnZmdX5RqhzB/6vC1A7ESzzgTQbLtYbAk2Y1M8jXxum14IF6i+8GRvyWABbcnLvKk1XPdmYHv70WUw8KsJY8sRuSKZk4UOgDVRjvSya5TRhUbrXkTdvtRaEt4VbdIq2vrxDUjHHC+uEuC7gS006fhssUh2kfLyfOV5Q76O9ZFMMH3ja/HKx25LsEpGojwufpB4EaHcl+GG0k/kSr4mJcZ98VLaW2Q+oTpFAm1o21MsETIyuEZbj0fHeuzSJkWPqY6HRE4UEER/zgGMWrFHHR/TSTm4Bg== 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=51x0hWmSRPFNci1czVwmkb6YWIQIMd8fT2t8faUkSxY=; b=dgSMOmROPXE3zO9bU8TCuIYYq0SV5MyqyCTB80gbbQMhh0OC3LGoQRKRkA1AerVSq8+ru1fey2VWwEDBQrjgN1kqEWzfwhF3qgVIsRQwxBYdQ26Xu2r8N2sesWy629il1EdJtMZnb6McnPW8yNuvWsnfo2L90znPlMmeWN5ZMKlfb0dL2Dw103kEzacJ7rFH2Jw4IgIIH0HVyYrObXXvp1lES9LJI10k+dRNS89JQEPpE7jy9Lqc60GF/+iBRw2m9sFBHQUmnlJAw86f0jBa9/jI1meU6MvRQXJEHucqV2ii5++eif+XuH33iksp8ayo3VPKur0nfT0xTWmzETgTjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by BYAPR11MB3623.namprd11.prod.outlook.com (2603:10b6:a03:b5::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.16; Tue, 29 Mar 2022 16:28:59 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::b5ad:dacc:3f01:23bc]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::b5ad:dacc:3f01:23bc%9]) with mapi id 15.20.5102.023; Tue, 29 Mar 2022 16:28:59 +0000 From: "Sinha, Ankit" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" CC: Andrew Fish , "Gao, Kang" , "Kinney, Michael D" , "Kubacki, Michael" , Leif Lindholm , "You, Benjamin" , "Liu, Yun Y" , "Desimone, Nathaniel L" Subject: Re: [edk2-devel] [PATCH v1 00/41] Add PrmPkg Thread-Topic: [edk2-devel] [PATCH v1 00/41] Add PrmPkg Thread-Index: AQHYPgjBXWVSfRRvXUmh0rqs149FwazWl5pA Date: Tue, 29 Mar 2022 16:28:59 +0000 Message-ID: References: <20220322161947.9319-1-mikuback@linux.microsoft.com> In-Reply-To: <20220322161947.9319-1-mikuback@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b17cc689-369f-46da-5557-08da11a13a90 x-ms-traffictypediagnostic: BYAPR11MB3623:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7R/IIedCgbnezdRHmOieM4QwD9dqt2xyFQSqNmuHOWJ0aEJB5nZMYCmaUBkyUGPGUWf9HqFFtHs8KbdHefCyM3md3jjHhcnI5UMkgCP9X61Ye41LoAzrGB9VMAV0FcFPM9ej/AfWttMhAIrIbVWu3zvAz6x3mH+WpQijlw8oZ4WU+03JuWkpbziWDE2Ix/HlJNUwx1b9Hq2SOXz3fmL83rxc8asZqw7uZ11Jg4+k+KfQflbydJ+4wQVX0xfzRy5ep9rRZYIB4/XUcNuBI3zgXH+pQMd6zHOoLmn+5pT1yenS9i6f/KlpxQFUzhLleGi/3BS9FX6cM3jZjdfN+y3JYk2ZAbtNWZtMva+KaQSRQOVLOgKE4OVSWUoTBCxz8+ovXNsSaqHoUjNKPg/K0i6eEcY/gRnPGVi+pKbXnhecUFGtVkyQQiKDm1yWd5tdzCwwLgVH4ybjRUB9QHfB4cbaY6hdDj+7RyZtK1YtUqi/YIBi6dHgGyBI7CcffxExT1u4GskdNVhjKWoAn/be3JtxBcEduaStEkw3uZv5VXfwUla6JSXYZmRvaMIxBMoTJ3xnyD3kZy+zwndEvd4/RRC7tcmtMrFXJHIMyeVTLivsj09+wj5nGQAXKCs8ig1jngFLSgU59QFRGfIzuRpeydN0XVCaJNPoYJDA7UURDmkxUY1hMoi0q0C7tcZkUZjUoiNd1Tu0lqtU9/t4NGJCUW4JIOSSt92i2loVciR3qMzm9iMcxJ7xpi+fMRy7fIZHO+Oi2HIMCjVIWy9ww96MHREfHowlTdbiX3iHzqbz60eETKKJzsiLGQY9LQjDvI2wvMtZOIv1fLhv5XgIao789ARglQacGnJ4QzxPmEwSIh/R4vNMAbmgA9XpNF1OWbYdK55A x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(4326008)(186003)(8676002)(2906002)(26005)(45080400002)(64756008)(66946007)(66556008)(66476007)(66446008)(5660300002)(8936002)(55016003)(107886003)(71200400001)(966005)(30864003)(122000001)(52536014)(76116006)(508600001)(82960400001)(316002)(7696005)(6506007)(38070700005)(19627235002)(38100700002)(53546011)(54906003)(33656002)(110136005)(83380400001)(86362001)(9686003)(17423001)(156123004)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ZUM7d3taJuplGn95ptpj9DW4qJEvsTSDWxZPsAUs1oyVpHrHx2D1Z/ySr5x+?= =?us-ascii?Q?/jM4yixgbvw9f/HaFIllKYdOjpgUhsN/c8Ug8feTdEOFPbOX0Zh6IAyIXnvP?= =?us-ascii?Q?9TyFxAdLZ34RA89IYTINspCsyCQnHkGGx8xDgX5VenNZfuCWOjVJ8U2aG+FQ?= =?us-ascii?Q?iyGFXTy99RJlROe+gWVdnmK9OVb5JWdy3aHExA3xB38+CtfkvSqKrHgH2IWA?= =?us-ascii?Q?l88oNXiRI27WffTLFUGzux8JKMajDmtoayNpUnOXQ7kmXVnmZH9lwOiRD6px?= =?us-ascii?Q?2+xDYW06+3rZXdrtkF8ADvYGp5vBt8mvt0NhD7DjFwD2vSdx14AeBD8qRFi/?= =?us-ascii?Q?Q3DnhEVB0vHt7t3et0HB4ZeSdX7z0dMmMeLdEKZuYu1P+ecmaliBE4k8pax8?= =?us-ascii?Q?gG+KP9Qeps13LNldJLDP/0ve6eDGSswUS5NpihfTbeCZ8PM4CvDU802qdwGr?= =?us-ascii?Q?wf1ufmsm/ZIzXQpsTB19IKW02WsMtBqF4xU0PLIOLTjLFoqWlaDutHf2lhiO?= =?us-ascii?Q?4YLA1veOz+uQuXW+1d80MvylgyF3vMoDo9JvIpyyhhD99umI174CmuVjlZfC?= =?us-ascii?Q?jxE1B+G8k332CQ7G/bPKYS5MOP3dO51gT3zaG3vnQS5hV1K5LcvObQNFgUdb?= =?us-ascii?Q?L7IpxOsO7nPeTOD58q5IJZGub0eADEXtxgzzzu0gMWpWSd1rxI3a1LtppTYt?= =?us-ascii?Q?/Qu98MK7tgIW7LaBH278/VQJSKIUX0RwrNTiWUcoV6SMamLHn6G08NC2tReP?= =?us-ascii?Q?wHthlG/ksxzZt8dwWwKds7wepKg/6DIp3yERary2jXTYD/cEjGSq7h9K5VLy?= =?us-ascii?Q?E+DGVF1o3vWYhajyzLDoQQ5vmY0H3O/RL5wSD+2iTB0VrpxT2H4iJjry/+DB?= =?us-ascii?Q?NoG2MUuS4J1OYGivHdAMbcG7Do5RbXoE+5WnmYjOreRui5vzH+DezG6dp/Xh?= =?us-ascii?Q?vOcNmI/rnYAhDgvbXQoVjsnBIbZMa1jcpam66ClbJ2Rwo79wjoXdYOw6eDSH?= =?us-ascii?Q?OcGQ0DORfsO1CLlt0rswv29KMkcgehgdlG2kNmyekBlmFmgL+bMcgAczXgJ8?= =?us-ascii?Q?bysDlFShkcUEqS5UXsvTgHLJKNCyyhexqxvHUXQJAQ6N50GU68jmtQcC29N2?= =?us-ascii?Q?EFO133Rs9dgAKWhvgjaNKeC/3VB+0vUPSsJjADYTWA+a8GLKXvWLyFjRlPCH?= =?us-ascii?Q?aLMilKoEA6OimBvXLN5FwISJqdD9KwKopf4iWxrYNC/oKgF8PS9PZH7uyVZH?= =?us-ascii?Q?gHhGFAFrhsYVUdmy/xmzPCHHDrmgcjixK/Cfna1aqVFozALJCqf8szGRGLJC?= =?us-ascii?Q?fo+p2240nOsusoSBEuBXs9ESSdClEbZQ2TXvY9LfkT8CbMNNKBRLGhAYocOd?= =?us-ascii?Q?GmSA4dAxpQg5nTtt92CWwNW8W8Gd4J3iG+1X1ZEuSTgY7onFdI5nDvy+2+na?= =?us-ascii?Q?+JnVNaVjLqQxJtaMR3t8OYTe6Vc76oNnz0Ycakdwvt/Ecy+S1y6TSh8m/0KP?= =?us-ascii?Q?rkDLeqW/FEMo7f927BlHDinHb03WFwHT14qSSM4LpoKBS74Dr8uB2nWKy+0M?= =?us-ascii?Q?LyeZgc5RCQcdhYxb1qn4+k6MCUfGQjv8dSjW2FAdMaLX+TEIb1ZASsL8f/P3?= =?us-ascii?Q?S8UBRFHUsEMhZgC4asbQCqWd3tIFgHw+dDQ2tHf+vK7ev5kC01K/7Y0gw4XF?= =?us-ascii?Q?1oe0IYuwKrAzb0JYh2KO0R0PYpcW1PYMuyZ0eqPCac56VWwk30mmMYAZV4ZM?= =?us-ascii?Q?4dyUFjbMNg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b17cc689-369f-46da-5557-08da11a13a90 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2022 16:28:59.5666 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AxMb0CDofO7+2uutz65l+PYJeybfDgt76KaXM4+Pz190klWyA49BWv2+eRn9dqgz1YDL4EnsTo4YaL62YHtjsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3623 Return-Path: ankit.sinha@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Ankit Sinha > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Michael > Kubacki > Sent: Tuesday, March 22, 2022 9:19 AM > To: devel@edk2.groups.io > Cc: Andrew Fish ; Gao, Kang ; > Kinney, Michael D ; Kubacki, Michael > ; Leif Lindholm ; You, > Benjamin ; Liu, Yun Y ; > Sinha, Ankit ; Desimone, Nathaniel L > > Subject: [edk2-devel] [PATCH v1 00/41] Add PrmPkg >=20 > From: Michael Kubacki >=20 > This patch series adds a new package called PrmPkg. An RFC was sent to th= e > edk2 mailing list on January 28, 2022 detailing the proposal, see > https://edk2.groups.io/g/devel/message/86181. >=20 > Platform Runtime Mechanism (PRM) is a new firmware solution that has > been developed in edk2-staging/PlatformRuntimeMechanism. >=20 > This patch series has been organized to greatly condense the history from > the edk2-staging branch but to preserve important decisions and changes i= n > history that help establish context of changes and will serve as valuable > references for future development. >=20 > Interest in PRM has increased across various vendors and we believe it is > beneficial to make the source code more widely available for the followin= g > reasons: >=20 > 1. PRM specification adoption > 2. Feature completeness > 3. Overall validation coverage > 4. Interest from the community and future collaboration >=20 > The technical details of PRM are covered in the PRM Specification in addi= tion > to the Readme.md file located in the root of PrmPkg in this patch series. >=20 > 1. PRM specification adoption >=20 > Intel and Microsoft have worked together to standardize PRM in the ACPI > Specification and the PRM Specification hosted on uefi.org. >=20 > * ACPI 6.4 Specification: > https://uefi.org/node/4149 >=20 > * PRM Specification: >=20 > https://uefi.org/sites/default/files/resources/Platform%20Runtime%20Mec > hanism%20-%20with%20legal%20notice.pdf >=20 > 2. Feature completeness >=20 > PrmPkg implements the full firmware functionality described in the PRM > Specification and there are no significant changes to functionality plann= ed at > this time. >=20 > Though we are very much interested in evolving PRM based on feedback. >=20 > 3. Overall validation coverage >=20 > PrmPkg has been integrated and tested on client and server systems in > addition to virtual platforms (OvmfPkg/QEMU). >=20 > Platform integration is simple and a demonstration of this integration fo= r > OvmfPkg is available in the following branch: > https://github.com/makubacki/edk2/tree/ovmf_prmpkg_integration >=20 > The code has been built with: > * MSFT VS2015, VS2017, and VS2019 > * GCC5 (see https://bugzilla.tianocore.org/show_bug.cgi?id=3D3802) > * iASL compiler (20200528 - https://acpica.org/node/181) >=20 > The Linux kernel currently includes the following PRM support: > * _OSC PRM bit - allows FW to know determine the OS is > PRM-capable and can redirect _DSM method from alternate > triggers (such as SMI) to PRM. > * PRM invocation via _DSM, includes PRM module and handler parsing > from ACPI PRMT table, and also the PRM operation region handler > for runtime PRM service invocation. > * An OS configuration for PRM enabling, PRM support can be > disabled during OS image build. >=20 > Note that upstream Linux does not currently support the following: > * Ability for the OS driver to call a PRM handler directly, > it has to be via ACPI _DSM. > * Run time update PRM module and handler via PE/COFF PRM image. >=20 > This commit provides additional context of the changes in Linux: > https://github.com/torvalds/linux/commit/cefc7ca46235f01d5233e3abd4b79 > 452af01d9e9 >=20 > Windows 11 (https://www.microsoft.com/software-download/windows11) > and Windows Server 2022 (https://docs.microsoft.com/en-us/windows- > hardware/drivers/download-the-wdk) > include the PRM functionality noted above in addition to PRM direct call = and > PRM runtime updates. >=20 > PRM has been tested on IA32, X64, and AARCH64 targets. >=20 > 4. Interest from the community and future collaboration >=20 > PRM has been presented at several industry conferences: >=20 > * OSFC 2020 - "PRM: SMM Goes on a Diet" > https://cfp.osfc.io/osfc2020/talk/MCJASB/ >=20 > * OCP Summit 2019 - "Case Study Alternatives for SMM Usage in > Intel Platforms" > https://www.youtube.com/watch?v=3Dmu3DRLM1dPA >=20 > In addition, Microsoft plans to publish the Windows PRM driver interface = and > a WDF sample driver that uses the interface to the Windows Driver Samples > GitHub repository (https://github.com/microsoft/Windows-driver-samples). >=20 > We believe a PrmPkg in edk2 can increase accessibility to PRM and ease > collaboration. >=20 > PrmPkg > ------ > PrmPkg contains the common functionality needed to enable PRM on any > system. It does not contain platform-specific code such as PRM modules (a= nd > by extension PRM handlers). Other than sample modules, PrmPkg will only > contain code needed to provide PRM feature functionality as defined in th= e > PRM Specification. >=20 > PrmPkg is scoped to continue to only contain platform-agnostic functional= ity > in the future. >=20 > The proposed maintainers of PrmPkg are: > * Michael Kubacki > * Nate DeSimone >=20 > The proposed reviewers of PrmPkg are: > * Ankit Sinha >=20 > Cc: Andrew Fish > Cc: Kang Gao > Cc: Michael D Kinney > Cc: Michael Kubacki > Cc: Leif Lindholm > Cc: Benjamin You > Cc: Liu Yun > Cc: Ankit Sinha > Cc: Nate DeSimone > Signed-off-by: Michael Kubacki >=20 > Liu (2): > PrmPkg: Publish PRM operation region to support PRM ACPI _DSM > invocation > PrmPkg: Export major/minor version in PRM module PE COFF header >=20 > Liu Yun Y (1): > PrmPkg: Update PRM OpRegion >=20 > Michael Kubacki (38): > PrmPkg: Add package and include headers > PrmPkg: Add PrmConfig protocol interface > PrmPkg/PrmContextBufferLib: Add initial library instance > PrmPkg/PrmConfigDxe: Add initial driver > PrmPkg: Add initial PrmSamplePrintModule > PrmPkg: Add initial PrmSampleMemoryAllocationModule > PrmPkg: Add initial PrmSampleHardwareAccessModule > PrmPkg: Add initial PrmSampleContextBufferModule > PrmPkg: Add initial package DSC file > Readme.md: Add initial content > PrmPkg: Add ALLOCATE_CONTEXT_BUFFER_IN_FW build option > PrmPkg: Enable variable growth for the PRM_MODULE_EXPORT macro > PrmPkg: Add initial PrmSsdtInstallDxe module > PrmPkg: Remove PRM Module Update Lock > PrmPkg: Remove ALLOCATE_CONTEXT_BUFFER_IN_FW build flag > PrmPkg/PrmContextBuffer.h: Add ACPI parameter support structures > PrmPkg/PrmLoaderDxe: Add ACPI parameter buffer support > PrmPkg/PrmSampleContextBufferModule: Remove OS debug print > requirement > PrmPkg/PrmSampleHardwareAccessModule: Add non-print PRM handlers > PrmPkg/SampleAcpiParameterBufferModule: Add initial module > PrmPkg/HardwareAccessModuleConfigLib: Add initial library > PrmPkg/Samples/Readme.md: Add initial file > PrmPkg: Refactor some PrmLoaderDxe functionality into libraries > PrmPkg/Application/PrmInfo: Add initial application > PrmPkg: Enforce stricter types > PrmPkg/Test/PrmPkgHostTest.dsc: Add initial file > PrmPkg/Test/UnitTest/Library: Add initial UEFI Boot Services test lib > PrmPkg/Library/DxePrmContextBufferLib: Add host-based unit tests > PrmPkg/DxePrmModuleDiscoveryLib: Add initial host-based unit tests > PrmPkg: Add PlatformGuid > Readme.md: Add iASL note and QEMU sample link > PrmPkg: Replace PcdPrmPlatformGuid with EDKII_DSC_PLATFORM_GUID > PrmPkg/Samples: Remove PrmSampleMemoryAllocationModule > PrmPkg/Samples: Remove PrmSamplePrintModule > PrmPkg: Remove the concept of OS services > Readme.md: Add a link to PRM Specification > PrmPkg: Changes for edk2 repo transition > PrmPkg: Apply uncrustify changes >=20 > PrmPkg/Application/PrmInfo/PrmInfo.c > | 732 +++++++++ > PrmPkg/Library/DxePrmContextBufferLib/DxePrmContextBufferLib.c > | 199 +++ >=20 > PrmPkg/Library/DxePrmContextBufferLib/UnitTest/DxePrmContextBufferLi > bUnitTest.c | = 649 ++++++++ > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.c > | 386 +++++ >=20 > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDisco > veryLibUnitTest.c |= 210 +++ > PrmPkg/Library/DxePrmPeCoffLib/DxePrmPeCoffLib.c > | 417 +++++ > PrmPkg/PrmConfigDxe/PrmConfigDxe.c > | 512 ++++++ > PrmPkg/PrmLoaderDxe/PrmLoaderDxe.c > | 377 +++++ > PrmPkg/PrmSsdtInstallDxe/PrmSsdtInstallDxe.c > | 110 ++ >=20 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/Library/DxeAcpiP > arameterBufferModuleConfigLib/DxeAcpiParameterBufferModuleConfigLib. > c | 127 ++ >=20 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiP > arameterBufferModule.c = | 78 + >=20 > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBuff > erModuleConfigLib/DxeContextBufferModuleConfigLib.c |= 218 > +++ >=20 > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBuff > erModule.c = | 84 + >=20 > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardware > AccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.c = | > 108 ++ >=20 > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardware > AccessModule.c = | 335 ++++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTest.c | 119= ++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestEventTimer.c | 180= +++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestImage.c | 163= ++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestMemory.c | 145= ++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestMisc.c | 198= +++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestProtocol.c | 1650 > ++++++++++++++++++++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestTpl.c | 43= + > .azurepipelines/templates/pr-gate-build-job.yml > | 2 +- > .pytool/CISettings.py > | 1 + > Maintainers.txt > | 8 + > PrmPkg/Application/PrmInfo/PrmInfo.h > | 49 + > PrmPkg/Application/PrmInfo/PrmInfo.inf > | 66 + > PrmPkg/Application/PrmInfo/PrmInfo.uni > | 11 + > PrmPkg/Application/PrmInfo/PrmInfoExtra.uni > | 12 + > PrmPkg/Application/PrmInfo/PrmInfoStrings.uni > | 132 ++ > PrmPkg/Include/Library/PrmContextBufferLib.h > | 99 ++ > PrmPkg/Include/Library/PrmModuleDiscoveryLib.h > | 60 + > PrmPkg/Include/Library/PrmPeCoffLib.h > | 111 ++ > PrmPkg/Include/Prm.h > | 46 + > PrmPkg/Include/PrmContextBuffer.h > | 171 ++ > PrmPkg/Include/PrmDataBuffer.h > | 50 + > PrmPkg/Include/PrmExportDescriptor.h > | 109 ++ > PrmPkg/Include/PrmMmio.h > | 45 + > PrmPkg/Include/PrmModule.h > | 47 + > PrmPkg/Include/PrmModuleImageContext.h > | 28 + > PrmPkg/Include/Protocol/PrmConfig.h > | 31 + > PrmPkg/Library/DxePrmContextBufferLib/DxePrmContextBufferLib.inf > | 35 + >=20 > PrmPkg/Library/DxePrmContextBufferLib/UnitTest/DxePrmContextBufferLi > bUnitTestHost.inf | = 46 + >=20 > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.in > f | = 41 + > PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h > | 39 + >=20 > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDisco > veryLibUnitTestHost.inf |= 39 + > PrmPkg/Library/DxePrmPeCoffLib/DxePrmPeCoffLib.inf > | 32 + > PrmPkg/PrmConfigDxe/PrmConfigDxe.inf > | 48 + > PrmPkg/PrmLoaderDxe/PrmAcpiTable.h > | 96 ++ > PrmPkg/PrmLoaderDxe/PrmLoaderDxe.inf > | 61 + > PrmPkg/PrmPkg.ci.yaml > | 110 ++ > PrmPkg/PrmPkg.dec > | 67 + > PrmPkg/PrmPkg.dsc > | 142 ++ > PrmPkg/PrmPkg.uni > | 10 + > PrmPkg/PrmSsdtInstallDxe/Prm.asl > | 115 ++ > PrmPkg/PrmSsdtInstallDxe/PrmSsdtInstallDxe.inf > | 52 + > PrmPkg/Readme.md > | 264 ++++ >=20 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/Library/DxeAcpiP > arameterBufferModuleConfigLib/DxeAcpiParameterBufferModuleConfigLib. > inf | 39 + >=20 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiP > arameterBufferModule.inf = | 41 + > PrmPkg/Samples/PrmSampleContextBufferModule/Include/StaticData.h > | 24 + >=20 > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBuff > erModuleConfigLib/DxeContextBufferModuleConfigLib.inf |= 39 + >=20 > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBuff > erModule.inf = | 44 + > PrmPkg/Samples/PrmSampleHardwareAccessModule/Hpet.h > | 108 ++ >=20 > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardware > AccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.inf = | > 39 + >=20 > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardware > AccessModule.inf = | 43 + > PrmPkg/Samples/Readme.md > | 146 ++ > PrmPkg/Test/PrmPkgHostTest.dsc > | 39 + >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibTest.uni | 12= + >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTest.h | 1042= ++++++++++++ >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTest.inf | 46= + >=20 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestProtocol.h | 120= ++ > 71 files changed, 11096 insertions(+), 1 deletion(-) create mode 100644 > PrmPkg/Application/PrmInfo/PrmInfo.c > create mode 100644 > PrmPkg/Library/DxePrmContextBufferLib/DxePrmContextBufferLib.c > create mode 100644 > PrmPkg/Library/DxePrmContextBufferLib/UnitTest/DxePrmContextBufferLi > bUnitTest.c > create mode 100644 > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.c > create mode 100644 > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDisco > veryLibUnitTest.c > create mode 100644 PrmPkg/Library/DxePrmPeCoffLib/DxePrmPeCoffLib.c > create mode 100644 PrmPkg/PrmConfigDxe/PrmConfigDxe.c > create mode 100644 PrmPkg/PrmLoaderDxe/PrmLoaderDxe.c > create mode 100644 PrmPkg/PrmSsdtInstallDxe/PrmSsdtInstallDxe.c > create mode 100644 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/Library/DxeAcpiP > arameterBufferModuleConfigLib/DxeAcpiParameterBufferModuleConfigLib. > c > create mode 100644 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiP > arameterBufferModule.c > create mode 100644 > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBuff > erModuleConfigLib/DxeContextBufferModuleConfigLib.c > create mode 100644 > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBuff > erModule.c > create mode 100644 > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardware > AccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.c > create mode 100644 > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardware > AccessModule.c > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTest.c > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestEventTimer.c > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestImage.c > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestMemory.c > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestMisc.c > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestProtocol.c > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestTpl.c > create mode 100644 PrmPkg/Application/PrmInfo/PrmInfo.h > create mode 100644 PrmPkg/Application/PrmInfo/PrmInfo.inf > create mode 100644 PrmPkg/Application/PrmInfo/PrmInfo.uni > create mode 100644 PrmPkg/Application/PrmInfo/PrmInfoExtra.uni > create mode 100644 PrmPkg/Application/PrmInfo/PrmInfoStrings.uni > create mode 100644 PrmPkg/Include/Library/PrmContextBufferLib.h > create mode 100644 PrmPkg/Include/Library/PrmModuleDiscoveryLib.h > create mode 100644 PrmPkg/Include/Library/PrmPeCoffLib.h > create mode 100644 PrmPkg/Include/Prm.h create mode 100644 > PrmPkg/Include/PrmContextBuffer.h create mode 100644 > PrmPkg/Include/PrmDataBuffer.h create mode 100644 > PrmPkg/Include/PrmExportDescriptor.h > create mode 100644 PrmPkg/Include/PrmMmio.h create mode 100644 > PrmPkg/Include/PrmModule.h create mode 100644 > PrmPkg/Include/PrmModuleImageContext.h > create mode 100644 PrmPkg/Include/Protocol/PrmConfig.h > create mode 100644 > PrmPkg/Library/DxePrmContextBufferLib/DxePrmContextBufferLib.inf > create mode 100644 > PrmPkg/Library/DxePrmContextBufferLib/UnitTest/DxePrmContextBufferLi > bUnitTestHost.inf > create mode 100644 > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.in > f > create mode 100644 > PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h > create mode 100644 > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDisco > veryLibUnitTestHost.inf > create mode 100644 > PrmPkg/Library/DxePrmPeCoffLib/DxePrmPeCoffLib.inf > create mode 100644 PrmPkg/PrmConfigDxe/PrmConfigDxe.inf > create mode 100644 PrmPkg/PrmLoaderDxe/PrmAcpiTable.h > create mode 100644 PrmPkg/PrmLoaderDxe/PrmLoaderDxe.inf > create mode 100644 PrmPkg/PrmPkg.ci.yaml create mode 100644 > PrmPkg/PrmPkg.dec create mode 100644 PrmPkg/PrmPkg.dsc create mode > 100644 PrmPkg/PrmPkg.uni create mode 100644 > PrmPkg/PrmSsdtInstallDxe/Prm.asl create mode 100644 > PrmPkg/PrmSsdtInstallDxe/PrmSsdtInstallDxe.inf > create mode 100644 PrmPkg/Readme.md > create mode 100644 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/Library/DxeAcpiP > arameterBufferModuleConfigLib/DxeAcpiParameterBufferModuleConfigLib. > inf > create mode 100644 > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiP > arameterBufferModule.inf > create mode 100644 > PrmPkg/Samples/PrmSampleContextBufferModule/Include/StaticData.h > create mode 100644 > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBuff > erModuleConfigLib/DxeContextBufferModuleConfigLib.inf > create mode 100644 > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBuff > erModule.inf > create mode 100644 > PrmPkg/Samples/PrmSampleHardwareAccessModule/Hpet.h > create mode 100644 > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardware > AccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.inf > create mode 100644 > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardware > AccessModule.inf > create mode 100644 PrmPkg/Samples/Readme.md create mode 100644 > PrmPkg/Test/PrmPkgHostTest.dsc create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibTest.uni > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTest.h > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTest.inf > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootS > ervicesTableLibUnitTestProtocol.h >=20 > -- > 2.28.0.windows.1 >=20 >=20 >=20 > -=3D-=3D-=3D-=3D-=3D-=3D > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#87842): https://edk2.groups.io/g/devel/message/87842 > Mute This Topic: https://groups.io/mt/89955942/1772825 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ankit.sinha@intel.com] > -=3D-=3D-=3D-=3D-=3D-=3D >=20