diff options
author | Michael Kubacki <michael.kubacki@microsoft.com> | 2020-09-09 16:47:09 -0700 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-04-05 00:42:38 +0000 |
commit | f8e68587e2d1be4b1d635f6867e7fac92c153bf4 (patch) | |
tree | ebf412e826d9e1e5af748b59a8f259e741ebb2fd /PrmPkg/Readme.md | |
parent | a9302b89a95630484e83e5525ee463312f20e85f (diff) | |
download | edk2-f8e68587e2d1be4b1d635f6867e7fac92c153bf4.tar.gz edk2-f8e68587e2d1be4b1d635f6867e7fac92c153bf4.tar.bz2 edk2-f8e68587e2d1be4b1d635f6867e7fac92c153bf4.zip |
Readme.md: Add iASL note and QEMU sample link
Adds a note that the build now depends on an ASL compiler supporting
PlatformRtMechanism by default. The minimum iASL version supported
is noted in addition to an alternative to remove the code that
requires the new OperationRegion.
Also, a link is provided to an example of how to integrate the
package into a platform using QEMU/OvmfPkg as the sample platform
and firmware.
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>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com>
Diffstat (limited to 'PrmPkg/Readme.md')
-rw-r--r-- | PrmPkg/Readme.md | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/PrmPkg/Readme.md b/PrmPkg/Readme.md index 40df8f00a0..f340eeb642 100644 --- a/PrmPkg/Readme.md +++ b/PrmPkg/Readme.md @@ -13,6 +13,14 @@ to be leveraged by platform firmware with minimal overhead to integrate PRM func formal design and is not validated at product quality. The development of this feature is shared in the edk2-staging
branch to simplify collaboration by allowing direct code contributions and early feedback throughout its development.
+> By default, the build makes use of a new ACPI OperationRegion type specifically introduced for PRM called
+`PlatformRtMechanism`. Support for this OperationRegion is planned for the next release of the ACPI specification.
+However, support for `PlatformRtMechanism` is already included in the iASL Compiler/Disassembler for early prototyping
+(i.e. this package). If you would like the default build to work and/or to use PRM handlers that are invoked
+through ACPI, iASL compiler [20200528](https://acpica.org/node/181) or greater must be used. If you are only
+interested in compiling the code and/or using direct call style PRM handlers, you can simply remove
+`PrmSsdtInstallDxe` from `PrmPkg.dsc`.
+
## How to Build PrmPkg
As noted earlier, resources in `PrmPkg` are intended to be referenced by a platform firmware so it can adopt support
for PRM. In that case, the platform firmware should add the `PrmConfigDxe` and `PrmLoaderDxe` drivers to its DSC and
@@ -60,6 +68,21 @@ To build `PrmPkg` as a standalone package: > __*Note*__: Due to the way PRM modules are compiled with exports, **only building on Visual Studio compiler tool
chains is currently supported**.
+In the future, each new terminal session can start at step #4. Within a terminal session, start at step #8.
+
+> __*Note*__: \
+> This package has been used without modification in several environments including client, server,
+> and virtual systems.
+>
+> A functional example of how to integrate this code into a platform is available here:
+> https://github.com/makubacki/edk2/tree/sample_ovmfpkg_prmpkg_integration
+>
+> That build will load the drivers and PRM sample modules provided in this package in the open source emulator
+> [QEMU](https://www.qemu.org/) by including it in the [`OvmfPkg`](https://github.com/tianocore/edk2/tree/master/OvmfPkg) build.
+>
+> You can add your own PRM modules into the build and check them with the `PrmInfo` UEFI application described
+> later in this document and dump the PRMT table in the OS to check if your PRM module is represented as expected.
+
### Build Flags
As PRM is a new feature at a proof-of-concept (POC) level of maturity, there's some changes to the normal build
available as build flags. By default, if no flags are specified, the build is done with the currently expected plan of
|