PrmPkg.dec 2.9 KB

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