summaryrefslogtreecommitdiffstats
path: root/PrmPkg/Samples/Readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'PrmPkg/Samples/Readme.md')
-rw-r--r--PrmPkg/Samples/Readme.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/PrmPkg/Samples/Readme.md b/PrmPkg/Samples/Readme.md
index 590b81c349..73963da168 100644
--- a/PrmPkg/Samples/Readme.md
+++ b/PrmPkg/Samples/Readme.md
@@ -5,10 +5,12 @@ samples can also be used to verify the basic infrastructure needed in your firmw
expected by checking that the sample modules are found properly and the handlers perform their tasks as noted.
## **IMPORTANT NOTE**
+
> The sample modules have currently only been tested on the Visual Studio compiler tool chain. Sample module
build may fail on other tool chains. A future work item is to enable broader build support.
## How to Build PRM Sample Modules
+
The sample modules are built as part of the normal `PrmPkg` build so you can follow the
[package build instructions](../../Readme.md#how-to-build-prmpkg) and then find the PRM sample binaries in your
workspace build output directory. For example, if your build workspace is called "edk2" and you build
@@ -17,6 +19,7 @@ location: \
``edk2/Build/Prm/DEBUG_VS2017/X64/PrmPkg/Samples``
### Build an Individual PRM Sample Module
+
Note that the build command does provide the option to build a specific module in a package which can result in
faster build time. If you would like to just build a single PRM module that can be done by specifying the path to
the module INF file with the "-m" argument to `build`. For example, this command builds 32-bit and 64-bit binaries
@@ -33,14 +36,18 @@ It is recommended that all PRM authors write a similar set of documentation for
and interact with their PRM modules.
---
+
### Module: PRM Sample ACPI Parameter Buffer
+
>* Name: `PrmSampleAcpiParameterBufferModule`
>* GUID: `dc2a58a6-5927-4776-b995-d118a27335a2`
> * Purpose:
> * Provides an example of how to configure an ACPI parameter buffer
**Handlers:**
+
#### Handler: Check Parameter Buffer PRM Handler
+
* Name: `CheckParamBufferPrmHandler`
* GUID: `2e4f2d13-6240-4ed0-a401-c723fbdc34e8`
* Actions:
@@ -55,6 +62,7 @@ and interact with their PRM modules.
* Runtime MMIO Range(s) Required: No
### Module: PRM Sample Context Buffer
+
>* Name: `PrmSampleContextBufferModule`
>* GUID: `5a6cf42b-8bb4-472c-a233-5c4dc4033dc7`
> * Purpose:
@@ -62,7 +70,9 @@ and interact with their PRM modules.
firmware and consume the buffer contents at runtime
**Handlers:**
+
#### Handler: Check Static Data Buffer PRM Handler
+
* Name: `CheckStaticDataBufferPrmHandler`
* GUID: `e1466081-7562-430f-896b-b0e523dc335a`
* Actions:
@@ -72,6 +82,7 @@ and interact with their PRM modules.
* Context Buffer Required: Yes
* Static Data Buffer Contents:
+
```c
#define SOME_VALUE_ARRAY_MAX_VALUES 16
@@ -85,13 +96,16 @@ and interact with their PRM modules.
* Runtime MMIO Range(s) Required: No
### Module: PRM Sample Hardware Access Buffer
+
>* Name: `PrmSampleHardwareAccessModule`
>* GUID: `0ef93ed7-14ae-425b-928f-b85a6213b57e`
> * Purpose:
> * Demonstrate access of several types of hardware resources from a PRM module
**Handlers:**
+
#### Handler: MSR Access Microcode Signature PRM Handler
+
* Name: `MsrAccessMicrocodeSignaturePrmHandler`
* GUID: `2120cd3c-848b-4d8f-abbb-4b74ce64ac89`
* Actions:
@@ -104,6 +118,7 @@ and interact with their PRM modules.
* Runtime MMIO Range(s) Required: No
#### Handler: MSR Access MTRR Dump PRM Handler
+
* Name: `MsrAccessMtrrDumpPrmHandler`
* GUID: `ea0935a7-506b-4159-bbbb-48deeecb6f58`
* Actions:
@@ -116,6 +131,7 @@ and interact with their PRM modules.
* Runtime MMIO Range(s) Required: No
#### Handler: HPET MMIO Access PRM Handler
+
* Name: `MmioAccessHpetPrmHandler`
* GUID: `1bd1bda9-909a-4614-9699-25ec0c2783f7`
* Actions: