PrmPkg: Add PlatformGuid

Adds a "platform GUID" field to the PRM ACPI table. This field
is used by a platform to uniquely identify itself such that it
can be targeted by runtime PRM module updates for that platform.

Platforms using PRM are currently required to set a unique value
for gPrmPkgTokenSpaceGuid.PcdPrmPlatformGuid in their platform
DSC.

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>
This commit is contained in:
Michael Kubacki
2020-06-29 15:54:01 -07:00
committed by mergify[bot]
parent 68ee42c991
commit c040831cf9
5 changed files with 44 additions and 0 deletions

View File

@@ -74,6 +74,18 @@ The following list are the currently defined build flags (if any) that may be pa
This structure is passed as the context buffer to PRM handlers. The structure actually passed to PRM handlers is
allocated and populated by the OS where it gets all the information to populate the context buffer from other structures.
### PRM Platform GUID
**IMPORTANT**
A configuration item that requires user attention is the PRM platform GUID. Each platform that uses PRM must be
uniquely identifiable so that various instances of a PRM module can target the correct platform in PRM module updates.
To apply a unique platform GUID set the following PCD to a unique value in your platform DSC file.
``gPrmPkgTokenSpaceGuid.PcdPrmPlatformGuid``
The default value assigned in [PrmPkg.dec](PrmPkg/PrmPkg.dec) is zero. By design, this is an invalid value that will
cause an ASSERT if it is not updated.
## Overview
At a high-level, PRM can be viewed from three levels of granularity: