summaryrefslogtreecommitdiffstats
path: root/PrmPkg/Readme.md
diff options
context:
space:
mode:
authorOliver Smith-Denny <osde@microsoft.com>2025-01-07 09:13:31 -0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-01-22 19:47:20 +0000
commit81ba76f7df45b7bb18edae55375ea3b6abde4351 (patch)
tree69ca43662f011814fde7fbab986dd5d97e1b4ebe /PrmPkg/Readme.md
parent336e7e06eb91fee6f87b2559772aed948fb7bbfe (diff)
downloadedk2-81ba76f7df45b7bb18edae55375ea3b6abde4351.tar.gz
PrmPkg: Clarify Architecture Support
Remove IA32 from supported architectures, as the MSVC build actually fails due to the linker expecting a __stdcall calling convention. IA32 PRMs are not supported anyway, only 64 bit OSes support PRM, so simply drop the building of IA32 PrmPkg and clarify the README. While there, clean up some markdown errors. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
Diffstat (limited to 'PrmPkg/Readme.md')
-rw-r--r--PrmPkg/Readme.md14
1 files changed, 9 insertions, 5 deletions
diff --git a/PrmPkg/Readme.md b/PrmPkg/Readme.md
index 5933f4df29..557cb9cbef 100644
--- a/PrmPkg/Readme.md
+++ b/PrmPkg/Readme.md
@@ -53,11 +53,13 @@ To build `PrmPkg` as a standalone package:
5. Build PrmPkg \
-The PrmPkg can be built targetting the IA32/X64 and AArch64 architectures.
+The PrmPkg can be built targeting the X64 and AArch64 architectures. PRM is not supported on IA32 and ARM primarily
+because the OS support for PRM is only in 64 bit OSes. In addition, the MSVC toolchain does not support export tables
+on IA32 with the unique UEFI configuration required.
- - IA32/X64
+* X64
- ``build -p PrmPkg/PrmPkg.dsc -a IA32 -a X64``
+ ``build -p PrmPkg/PrmPkg.dsc -a X64``
> ***Note***: Due to the way PRM modules are compiled with exports, **only building on Visual Studio compiler tool
chains has been tested**.
@@ -68,11 +70,13 @@ The PrmPkg can be built targetting the IA32/X64 and AArch64 architectures.
> 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.
- - AArch64
+* AArch64
``build -p PrmPkg/PrmPkg.dsc -a AARCH64 -t GCC5``
> ***Note***: Only builds with the GCC5 toolchain have been tested.
- > ***Note***: For builds with the GCC5 toolchain, the PrmModuleExportDescriptor and any other handler entry points symbols, to be listed in the PRMT, must be explicitly preserved by enumerating these in the AARCH64 linker flags. The --require-defined linker flag must be used for each symbol to be preserved.
+ > ***Note***: For builds with the GCC5 toolchain, the PrmModuleExportDescriptor and any other handler entry points
+ symbols, to be listed in the PRMT, must be explicitly preserved by enumerating these in the AARCH64 linker flags.
+ The --require-defined linker flag must be used for each symbol to be preserved.
### PRM Platform GUID