public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 00/41] Add PrmPkg
@ 2022-03-22 16:19 Michael Kubacki
  2022-03-22 16:19 ` [PATCH v1 01/41] PrmPkg: Add package and include headers Michael Kubacki
                   ` (40 more replies)
  0 siblings, 41 replies; 47+ messages in thread
From: Michael Kubacki @ 2022-03-22 16:19 UTC (permalink / raw)
  To: devel
  Cc: Andrew Fish, Kang Gao, Michael D Kinney, Michael Kubacki,
	Leif Lindholm, Benjamin You, Liu Yun, Ankit Sinha, Nate DeSimone

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/DxeAcpiParameterBufferModuleConfigLib.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/DxeAcpiParameterBufferModuleConfigLib.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/DxeAcpiParameterBufferModuleConfigLib.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/DxeAcpiParameterBufferModuleConfigLib.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

-- 
2.28.0.windows.1


^ permalink raw reply	[flat|nested] 47+ messages in thread
[parent not found: <16DEC05BD9907002.3991@groups.io>]

end of thread, other threads:[~2022-04-04 22:40 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-22 16:19 [PATCH v1 00/41] Add PrmPkg Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 01/41] PrmPkg: Add package and include headers Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 02/41] PrmPkg: Add PrmConfig protocol interface Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 03/41] PrmPkg/PrmContextBufferLib: Add initial library instance Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 04/41] PrmPkg/PrmConfigDxe: Add initial driver Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 05/41] PrmPkg: Add initial PrmSamplePrintModule Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 06/41] PrmPkg: Add initial PrmSampleMemoryAllocationModule Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 07/41] PrmPkg: Add initial PrmSampleHardwareAccessModule Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 08/41] PrmPkg: Add initial PrmSampleContextBufferModule Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 09/41] PrmPkg: Add initial package DSC file Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 10/41] Readme.md: Add initial content Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 11/41] PrmPkg: Add ALLOCATE_CONTEXT_BUFFER_IN_FW build option Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 12/41] PrmPkg: Enable variable growth for the PRM_MODULE_EXPORT macro Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 13/41] PrmPkg: Publish PRM operation region to support PRM ACPI _DSM invocation Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 14/41] PrmPkg: Export major/minor version in PRM module PE COFF header Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 15/41] PrmPkg: Add initial PrmSsdtInstallDxe module Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 16/41] PrmPkg: Remove PRM Module Update Lock Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 17/41] PrmPkg: Remove ALLOCATE_CONTEXT_BUFFER_IN_FW build flag Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 18/41] PrmPkg/PrmContextBuffer.h: Add ACPI parameter support structures Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 19/41] PrmPkg/PrmLoaderDxe: Add ACPI parameter buffer support Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 20/41] PrmPkg/PrmSampleContextBufferModule: Remove OS debug print requirement Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 21/41] PrmPkg/PrmSampleHardwareAccessModule: Add non-print PRM handlers Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 22/41] PrmPkg/SampleAcpiParameterBufferModule: Add initial module Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 23/41] PrmPkg/HardwareAccessModuleConfigLib: Add initial library Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 24/41] PrmPkg/Samples/Readme.md: Add initial file Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 25/41] PrmPkg: Refactor some PrmLoaderDxe functionality into libraries Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 26/41] PrmPkg/Application/PrmInfo: Add initial application Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 27/41] PrmPkg: Enforce stricter types Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 28/41] PrmPkg/Test/PrmPkgHostTest.dsc: Add initial file Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 29/41] PrmPkg/Test/UnitTest/Library: Add initial UEFI Boot Services test lib Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 30/41] PrmPkg/Library/DxePrmContextBufferLib: Add host-based unit tests Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 31/41] PrmPkg/DxePrmModuleDiscoveryLib: Add initial " Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 32/41] PrmPkg: Add PlatformGuid Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 33/41] PrmPkg: Update PRM OpRegion Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 34/41] Readme.md: Add iASL note and QEMU sample link Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 35/41] PrmPkg: Replace PcdPrmPlatformGuid with EDKII_DSC_PLATFORM_GUID Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 36/41] PrmPkg/Samples: Remove PrmSampleMemoryAllocationModule Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 37/41] PrmPkg/Samples: Remove PrmSamplePrintModule Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 38/41] PrmPkg: Remove the concept of OS services Michael Kubacki
2022-03-22 16:19 ` [PATCH v1 39/41] Readme.md: Add a link to PRM Specification Michael Kubacki
2022-03-28  8:48 ` 回复: [edk2-devel] [PATCH v1 00/41] Add PrmPkg gaoliming
2022-03-28 14:05   ` Michael Kubacki
2022-03-29 16:28 ` Sinha, Ankit
2022-03-31  0:52   ` 回复: " gaoliming
     [not found] <16DEC05BD9907002.3991@groups.io>
2022-04-01 14:10 ` Michael Kubacki
2022-04-01 15:24   ` Michael D Kinney
2022-04-04 22:40     ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox