SiPolicyLib.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /** @file
  2. Prototype of the SiPolicyLib library.
  3. Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef _SI_POLICY_LIB_H_
  7. #define _SI_POLICY_LIB_H_
  8. #include <Ppi/SiPolicy.h>
  9. /**
  10. Print whole SI_PREMEM_POLICY_PPI and serial out.
  11. @param[in] SiPreMemPolicyPpi The RC PREMEM Policy PPI instance
  12. **/
  13. VOID
  14. EFIAPI
  15. SiPreMemPrintPolicyPpi (
  16. IN SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
  17. );
  18. /**
  19. Print whole SI_POLICY_PPI and serial out.
  20. @param[in] SiPolicyPpi The RC Policy PPI instance
  21. **/
  22. VOID
  23. EFIAPI
  24. SiPrintPolicyPpi (
  25. IN SI_POLICY_PPI *SiPolicyPpi
  26. );
  27. /**
  28. SiCreatePreMemConfigBlocks creates the config blocksg of Silicon Policy.
  29. It allocates and zero out buffer, and fills in the Intel default settings.
  30. @param[out] SiPreMemPolicyPpi The pointer to get Silicon PREMEM Policy PPI instance
  31. @retval EFI_SUCCESS The policy default is initialized.
  32. @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
  33. **/
  34. EFI_STATUS
  35. EFIAPI
  36. SiCreatePreMemConfigBlocks (
  37. OUT SI_PREMEM_POLICY_PPI **SiPreMemPolicyPpi
  38. );
  39. /**
  40. SiCreateConfigBlocks creates the config blocksg of Silicon Policy.
  41. It allocates and zero out buffer, and fills in the Intel default settings.
  42. @param[out] SiPolicyPpi The pointer to get Silicon Policy PPI instance
  43. @retval EFI_SUCCESS The policy default is initialized.
  44. @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
  45. **/
  46. EFI_STATUS
  47. EFIAPI
  48. SiCreateConfigBlocks (
  49. OUT SI_POLICY_PPI **SiPolicyPpi
  50. );
  51. /**
  52. SiPreMemInstallPolicyPpi installs SiPreMemPolicyPpi.
  53. @param[in] SiPreMemPolicyPpi The pointer to Silicon PREMEM Policy PPI instance
  54. @retval EFI_SUCCESS The policy is installed.
  55. @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
  56. **/
  57. EFI_STATUS
  58. EFIAPI
  59. SiPreMemInstallPolicyPpi (
  60. IN SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
  61. );
  62. /**
  63. SiPreMemInstallPolicyReadyPpi installs SiPreMemPolicyReadyPpi.
  64. While installed, RC assumes the Policy is ready and finalized. So please update and override
  65. any setting before calling this function.
  66. @retval EFI_SUCCESS The policy is installed.
  67. @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
  68. **/
  69. EFI_STATUS
  70. EFIAPI
  71. SiPreMemInstallPolicyReadyPpi (
  72. VOID
  73. );
  74. /**
  75. SiInstallPolicyPpi installs SiPolicyPpi.
  76. @param[in] SiPolicyPpi The pointer to Silicon Policy PPI instance
  77. @retval EFI_SUCCESS The policy is installed.
  78. @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
  79. **/
  80. EFI_STATUS
  81. EFIAPI
  82. SiInstallPolicyPpi (
  83. IN SI_POLICY_PPI *SiPolicyPpi
  84. );
  85. /**
  86. SiInstallPolicyReadyPpi installs SiPolicyReadyPpi.
  87. While installed, RC assumes the Policy is ready and finalized. So please update and override
  88. any setting before calling this function.
  89. @retval EFI_SUCCESS The policy is installed.
  90. @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
  91. **/
  92. EFI_STATUS
  93. EFIAPI
  94. SiInstallPolicyReadyPpi (
  95. VOID
  96. );
  97. /**
  98. Print out all silicon policy information.
  99. @param[in] SiPolicyPpi The pointer to Silicon Policy PPI instance
  100. **/
  101. VOID
  102. DumpSiPolicy (
  103. IN SI_POLICY_PPI *SiPolicyPpi
  104. );
  105. #endif // _SI_PREMEM_POLICY_LIB_H_