Acked-by: Michael D Kinney <michael.d.kin...@intel.com> > -----Original Message----- > From: Michael Kubacki <mikub...@linux.microsoft.com> > Sent: Friday, April 1, 2022 7:11 AM > To: devel@edk2.groups.io > Cc: Andrew Fish <af...@apple.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Leif Lindholm <l...@nuviainc.com> > Subject: Re: [edk2-devel] [PATCH v1 00/41] Add PrmPkg > > Since this is a new package, I am waiting for a steward to approve. > > Please let me know if you have any questions. > > Thanks, > Michael > > On 3/22/2022 12:19 PM, Michael Kubacki wrote: > > From: Michael Kubacki <michael.kuba...@microsoft.com> > > > > This patch series adds a new package called PrmPkg. An RFC was sent > > to the edk2 mailing list on January 28, 2022 detailing the proposal, > > see https://edk2.groups.io/g/devel/message/86181. > > > > Platform Runtime Mechanism (PRM) is a new firmware solution that has > > been developed in edk2-staging/PlatformRuntimeMechanism. > > > > This patch series has been organized to greatly condense the history > > from the edk2-staging branch but to preserve important decisions and > > changes in history that help establish context of changes and will > > serve as valuable references for future development. > > > > Interest in PRM has increased across various vendors and we believe > > it is beneficial to make the source code more widely available for > > the following reasons: > > > > 1. PRM specification adoption > > 2. Feature completeness > > 3. Overall validation coverage > > 4. Interest from the community and future collaboration > > > > The technical details of PRM are covered in the PRM Specification > > in addition to the Readme.md file located in the root of PrmPkg > > in this patch series. > > > > 1. PRM specification adoption > > > > Intel and Microsoft have worked together to standardize PRM in the > > ACPI Specification and the PRM Specification hosted on uefi.org. > > > > * ACPI 6.4 Specification: > > https://uefi.org/node/4149 > > > > * PRM Specification: > > > > https://uefi.org/sites/default/files/resources/Platform%20Runtime%20Mechanism%20-%20with%20legal%20notice.pdf > > > > 2. Feature completeness > > > > PrmPkg implements the full firmware functionality described in the > > PRM Specification and there are no significant changes to > > functionality planned at this time. > > > > Though we are very much interested in evolving PRM based on > > feedback. > > > > 3. Overall validation coverage > > > > PrmPkg has been integrated and tested on client and server systems > > in addition to virtual platforms (OvmfPkg/QEMU). > > > > Platform integration is simple and a demonstration of this > > integration for OvmfPkg is available in the following branch: > > https://github.com/makubacki/edk2/tree/ovmf_prmpkg_integration > > > > The code has been built with: > > * MSFT VS2015, VS2017, and VS2019 > > * GCC5 (see https://bugzilla.tianocore.org/show_bug.cgi?id=3802) > > * iASL compiler (20200528 - https://acpica.org/node/181) > > > > 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. > > > > 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. > > > > This commit provides additional context of the changes in Linux: > > https://github.com/torvalds/linux/commit/cefc7ca46235f01d5233e3abd4b79452af01d9e9 > > > > 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. > > > > PRM has been tested on IA32, X64, and AARCH64 targets. > > > > 4. Interest from the community and future collaboration > > > > PRM has been presented at several industry conferences: > > > > * OSFC 2020 - "PRM: SMM Goes on a Diet" > > https://cfp.osfc.io/osfc2020/talk/MCJASB/ > > > > * OCP Summit 2019 - "Case Study Alternatives for SMM Usage in > > Intel Platforms" > > https://www.youtube.com/watch?v=mu3DRLM1dPA > > > > 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). > > > > We believe a PrmPkg in edk2 can increase accessibility to PRM and > > ease collaboration. > > > > PrmPkg > > ------ > > PrmPkg contains the common functionality needed to enable PRM on > > any system. It does not contain platform-specific code such as PRM > > modules (and by extension PRM handlers). Other than sample modules, > > PrmPkg will only contain code needed to provide PRM feature > > functionality as defined in the PRM Specification. > > > > PrmPkg is scoped to continue to only contain platform-agnostic > > functionality in the future. > > > > The proposed maintainers of PrmPkg are: > > * Michael Kubacki <mikub...@linux.microsoft.com> > > * Nate DeSimone <nathaniel.l.desim...@intel.com> > > > > The proposed reviewers of PrmPkg are: > > * Ankit Sinha <ankit.si...@intel.com> > > > > Cc: Andrew Fish <af...@apple.com> > > Cc: Kang Gao <kang....@intel.com> > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > > Cc: Michael Kubacki <michael.kuba...@microsoft.com> > > Cc: Leif Lindholm <l...@nuviainc.com> > > Cc: Benjamin You <benjamin....@intel.com> > > Cc: Liu Yun <yun.y....@intel.com> > > Cc: Ankit Sinha <ankit.si...@intel.com> > > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > > Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> > > > > Liu (2): > > PrmPkg: Publish PRM operation region to support PRM ACPI _DSM > > invocation > > PrmPkg: Export major/minor version in PRM module PE COFF header > > > > Liu Yun Y (1): > > PrmPkg: Update PRM OpRegion > > > > 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 > > > > PrmPkg/Application/PrmInfo/PrmInfo.c > | 732 +++++++++ > > PrmPkg/Library/DxePrmContextBufferLib/DxePrmContextBufferLib.c > | 199 +++ > > > > PrmPkg/Library/DxePrmContextBufferLib/UnitTest/DxePrmContextBufferLibUnitTest.c > | 649 ++++++++ > > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.c > | 386 +++++ > > > > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDiscoveryLibUnitTest.c > | 210 +++ > > PrmPkg/Library/DxePrmPeCoffLib/DxePrmPeCoffLib.c > | 417 +++++ > > PrmPkg/PrmConfigDxe/PrmConfigDxe.c > | 512 ++++++ > > PrmPkg/PrmLoaderDxe/PrmLoaderDxe.c > | 377 +++++ > > PrmPkg/PrmSsdtInstallDxe/PrmSsdtInstallDxe.c > | 110 ++ > > > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/Library/DxeAcpiParameterBufferModuleConfigLib/DxeAcpiParameterBufferModule > ConfigLib.c | 127 ++ > > > > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiParameterBufferModule.c > | 78 + > > > > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.c > | 218 +++ > > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.c > | 84 + > > > > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardwareAccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.c > | 108 ++ > > > > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardwareAccessModule.c > | 335 ++++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTest.c > | 119 ++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestEventTimer.c > | 180 +++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestImage.c > | 163 ++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestMemory.c > | 145 ++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestMisc.c > | 198 +++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestProtocol.c > | 1650 ++++++++++++++++++++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestTpl.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 + > > > > PrmPkg/Library/DxePrmContextBufferLib/UnitTest/DxePrmContextBufferLibUnitTestHost.inf > | 46 + > > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.inf > | 41 + > > PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h > | 39 + > > > > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDiscoveryLibUnitTestHost.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 ++++ > > > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/Library/DxeAcpiParameterBufferModuleConfigLib/DxeAcpiParameterBufferModule > ConfigLib.inf | 39 + > > > > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiParameterBufferModule.inf > | 41 + > > PrmPkg/Samples/PrmSampleContextBufferModule/Include/StaticData.h > | 24 + > > > > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.inf > | 39 + > > > > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.inf > | 44 + > > PrmPkg/Samples/PrmSampleHardwareAccessModule/Hpet.h > | 108 ++ > > > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardwareAccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.inf > | 39 + > > > > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardwareAccessModule.inf > | 43 + > > PrmPkg/Samples/Readme.md > | 146 ++ > > PrmPkg/Test/PrmPkgHostTest.dsc > | 39 + > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibTest.uni > | 12 + > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTest.h > | 1042 ++++++++++++ > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTest.inf > | 46 + > > > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestProtocol.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/DxePrmContextBufferLibUnitTest.c > > create mode 100644 > > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.c > > create mode 100644 > > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDiscoveryLibUnitTest.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/DxeAcpiParameterBufferModuleConfigLib/DxeAcpiParameterBufferModule > ConfigLib.c > > create mode 100644 > > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiParameterBufferModule.c > > create mode 100644 > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.c > > create mode 100644 > > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.c > > create mode 100644 > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardwareAccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.c > > create mode 100644 > > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardwareAccessModule.c > > create mode 100644 > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTest.c > > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestEventTimer.c > > create mode 100644 > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestImage.c > > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestMemory.c > > create mode 100644 > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestMisc.c > > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestProtocol.c > > create mode 100644 > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestTpl.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/DxePrmContextBufferLibUnitTestHost.inf > > create mode 100644 > > PrmPkg/Library/DxePrmModuleDiscoveryLib/DxePrmModuleDiscoveryLib.inf > > create mode 100644 > > PrmPkg/Library/DxePrmModuleDiscoveryLib/PrmModuleDiscovery.h > > create mode 100644 > > PrmPkg/Library/DxePrmModuleDiscoveryLib/UnitTest/DxePrmModuleDiscoveryLibUnitTestHost.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/DxeAcpiParameterBufferModuleConfigLib/DxeAcpiParameterBufferModule > ConfigLib.inf > > create mode 100644 > > PrmPkg/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiParameterBufferModule.inf > > create mode 100644 > > PrmPkg/Samples/PrmSampleContextBufferModule/Include/StaticData.h > > create mode 100644 > PrmPkg/Samples/PrmSampleContextBufferModule/Library/DxeContextBufferModuleConfigLib/DxeContextBufferModuleConfigLib.inf > > create mode 100644 > > PrmPkg/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.inf > > create mode 100644 PrmPkg/Samples/PrmSampleHardwareAccessModule/Hpet.h > > create mode 100644 > PrmPkg/Samples/PrmSampleHardwareAccessModule/Library/DxeHardwareAccessModuleConfigLib/DxeHardwareAccessModuleConfigLib.inf > > create mode 100644 > > PrmPkg/Samples/PrmSampleHardwareAccessModule/PrmSampleHardwareAccessModule.inf > > create mode 100644 PrmPkg/Samples/Readme.md > > create mode 100644 PrmPkg/Test/PrmPkgHostTest.dsc > > create mode 100644 > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibTest.uni > > create mode 100644 > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTest.h > > create mode 100644 > > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTest.inf > > create mode 100644 > PrmPkg/Test/UnitTest/Library/UefiBootServicesTableLibUnitTest/UefiBootServicesTableLibUnitTestProtocol.h > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#88338): https://edk2.groups.io/g/devel/message/88338 Mute This Topic: https://groups.io/mt/89955942/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-