From: "Leif Lindholm" <quic_llindhol@quicinc.com>
To: <devel@edk2.groups.io>, <michael.d.kinney@intel.com>
Cc: "mikuback@linux.microsoft.com" <mikuback@linux.microsoft.com>,
Andrew Fish <afish@apple.com>, Leif Lindholm <leif@nuviainc.com>
Subject: Re: [edk2-devel] [PATCH v1 00/41] Add PrmPkg
Date: Mon, 4 Apr 2022 23:40:23 +0100 [thread overview]
Message-ID: <Yktz1w01NJBep5J9@qc-i7.hemma.eciton.net> (raw)
In-Reply-To: <CO1PR11MB4929675CC511C2F6BD6A707FD2E09@CO1PR11MB4929.namprd11.prod.outlook.com>
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
On Fri, Apr 01, 2022 at 15:24:39 +0000, Michael D Kinney wrote:
> Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
>
> > -----Original Message-----
> > From: Michael Kubacki <mikuback@linux.microsoft.com>
> > Sent: Friday, April 1, 2022 7:11 AM
> > To: devel@edk2.groups.io
> > Cc: Andrew Fish <afish@apple.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm <leif@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.kubacki@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 <mikuback@linux.microsoft.com>
> > > * Nate DeSimone <nathaniel.l.desimone@intel.com>
> > >
> > > The proposed reviewers of PrmPkg are:
> > > * Ankit Sinha <ankit.sinha@intel.com>
> > >
> > > Cc: Andrew Fish <afish@apple.com>
> > > Cc: Kang Gao <kang.gao@intel.com>
> > > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > > Cc: Michael Kubacki <michael.kubacki@microsoft.com>
> > > Cc: Leif Lindholm <leif@nuviainc.com>
> > > Cc: Benjamin You <benjamin.you@intel.com>
> > > Cc: Liu Yun <yun.y.liu@intel.com>
> > > Cc: Ankit Sinha <ankit.sinha@intel.com>
> > > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> > > Signed-off-by: Michael Kubacki <michael.kubacki@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
> > >
>
>
>
>
>
next prev parent reply other threads:[~2022-04-04 22:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <16DEC05BD9907002.3991@groups.io>
2022-04-01 14:10 ` [edk2-devel] [PATCH v1 00/41] Add PrmPkg Michael Kubacki
2022-04-01 15:24 ` Michael D Kinney
2022-04-04 22:40 ` Leif Lindholm [this message]
2022-03-22 16:19 Michael Kubacki
2022-03-29 16:28 ` [edk2-devel] " Sinha, Ankit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yktz1w01NJBep5J9@qc-i7.hemma.eciton.net \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox