]>
Commit | Line | Data |
---|---|---|
d2998af2 MK |
1 | ## @file PrmPkg.dec\r |
2 | # This package provides support for the Platform Runtime Mechanism (PRM).\r | |
3 | #\r | |
4 | # The following key elements of PRM are maintained in this package:\r | |
5 | #\r | |
6 | # 1. PRM interfaces - Comprised of interfaces shared with the operating system such as ACPI table structures\r | |
7 | # in addition to internal firmware interfaces such as protocols and library interfaces.\r | |
8 | #\r | |
9 | # 2. PRM generic drivers - EDK II drivers that implement generic functionality such that a platform can quickly\r | |
10 | # and reliably adopt PRM.\r | |
11 | #\r | |
12 | # 3. PRM module - An independently updatable PE/COFF binary that conforms to the unique requirements of a PRM module.\r | |
13 | # PRM modules expose functions for operating system invocation referred to as PRM handlers.\r | |
14 | #\r | |
15 | # 4. PRM handler - A function in a PRM module. The function is identified through PRM interfaces in the OS by a GUID.\r | |
16 | #\r | |
17 | # Copyright (c) Microsoft Corporation<BR>\r | |
18 | ## SPDX-License-Identifier: BSD-2-Clause-Patent\r | |
19 | ##\r | |
20 | \r | |
21 | [Defines]\r | |
22 | DEC_SPECIFICATION = 0x00010005\r | |
23 | PACKAGE_NAME = PrmPkg\r | |
24 | PACKAGE_UNI_FILE = PrmPkg.uni\r | |
25 | PACKAGE_GUID = 3D22F66E-9090-46CE-B260-1836070AFA5E\r | |
26 | PACKAGE_VERSION = 0.1\r | |
27 | \r | |
28 | [Includes]\r | |
29 | Include\r | |
30 | \r | |
31 | [Guids]\r | |
32 | gPrmPkgTokenSpaceGuid = { 0x46f56acc, 0x600b, 0x450f, { 0xa5, 0x9c, 0x3a, 0x1a, 0x4a, 0xd4, 0x35, 0x3e }}\r | |
4348c72a | 33 | gPrmHiiGuid = { 0xee4cd885, 0xd104, 0x4056, { 0x84, 0xba, 0x46, 0x18, 0x82, 0xa7, 0x2a, 0x18 }}\r |
d2998af2 MK |
34 | \r |
35 | [LibraryClasses]\r | |
36 | ## @libraryclass Provides a general abstraction for PRM context buffer management\r | |
37 | #\r | |
38 | PrmContextBufferLib|Include/Library/PrmContextBufferLib.h\r | |
39 | \r | |
6b7dde7c MK |
40 | ## @libraryclass Provides functionality to discover PRM modules installed by platform firmware\r |
41 | #\r | |
42 | PrmModuleDiscoveryLib|Include/Library/PrmModuleDiscoveryLib.h\r | |
43 | \r | |
44 | ## @libraryclass Provides additional PE/COFF functionality needed to support the Platform Runtime Mechanism (PRM) loader driver.\r | |
45 | #\r | |
46 | PrmPeCoffLib|Include/Library/PrmPeCoffLib.h\r | |
47 | \r | |
d2998af2 MK |
48 | [Protocols]\r |
49 | ## PRM Configuration Protocol\r | |
50 | #\r | |
51 | gPrmConfigProtocolGuid = { 0x4e5b4fea, 0x936a, 0x45bc, { 0xac, 0x6a, 0x2f, 0x8f, 0x14, 0xa6, 0xc2, 0x9e }}\r | |
52 | \r | |
53 | [PcdsFixedAtBuild]\r | |
54 | ## Flash base address of a PRM firmware volume\r | |
55 | gPrmPkgTokenSpaceGuid.PcdFlashFvPrmBase|0x00000000|UINT32|0x00000001\r | |
56 | \r | |
57 | ## Size in bytes of a PRM firmware volume\r | |
58 | gPrmPkgTokenSpaceGuid.PcdFlashFvPrmSize|0x00000000|UINT32|0x00000002\r | |
4348c72a MK |
59 | \r |
60 | ## Print PRM handler execution time in PrmInfo\r | |
61 | #\r | |
62 | # Provides an option to disable usage of a timer library to record PRM handler\r | |
63 | # execution time. In most cases, the platform should provide a valid TimerLib\r | |
64 | # instance that can be used when the application is built with that package to\r | |
65 | # report PRM handler execution time in the application. If such a TimerLib\r | |
66 | # instance is not available, set this PCD to FALSE in the package DSC file.\r | |
67 | gPrmPkgTokenSpaceGuid.PcdPrmInfoPrintHandlerExecutionTime|TRUE|BOOLEAN|0x00000003\r |