SmmMultiBoardAcpiSupportLib.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /** @file
  2. Platform Hook Library instances
  3. Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #include <Base.h>
  7. #include <Uefi.h>
  8. #include <PiDxe.h>
  9. #include <Library/BaseLib.h>
  10. #include <Library/IoLib.h>
  11. #include <Library/BoardAcpiEnableLib.h>
  12. #include <Library/MultiBoardAcpiSupportLib.h>
  13. #include <Library/PcdLib.h>
  14. #include <Library/DebugLib.h>
  15. #include <PlatformBoardId.h>
  16. EFI_STATUS
  17. EFIAPI
  18. WhiskeylakeURvpBoardEnableAcpi (
  19. IN BOOLEAN EnableSci
  20. );
  21. EFI_STATUS
  22. EFIAPI
  23. WhiskeylakeURvpBoardDisableAcpi (
  24. IN BOOLEAN DisableSci
  25. );
  26. EFI_STATUS
  27. EFIAPI
  28. SiliconEnableAcpi (
  29. IN BOOLEAN EnableSci
  30. );
  31. EFI_STATUS
  32. EFIAPI
  33. SiliconDisableAcpi (
  34. IN BOOLEAN DisableSci
  35. );
  36. EFI_STATUS
  37. EFIAPI
  38. WhiskeylakeURvpMultiBoardEnableAcpi (
  39. IN BOOLEAN EnableSci
  40. )
  41. {
  42. SiliconEnableAcpi (EnableSci);
  43. return WhiskeylakeURvpBoardEnableAcpi (EnableSci);
  44. }
  45. EFI_STATUS
  46. EFIAPI
  47. WhiskeylakeURvpMultiBoardDisableAcpi (
  48. IN BOOLEAN DisableSci
  49. )
  50. {
  51. SiliconDisableAcpi (DisableSci);
  52. return WhiskeylakeURvpBoardDisableAcpi (DisableSci);
  53. }
  54. BOARD_ACPI_ENABLE_FUNC mWhiskeylakeURvpBoardAcpiEnableFunc = {
  55. WhiskeylakeURvpMultiBoardEnableAcpi,
  56. WhiskeylakeURvpMultiBoardDisableAcpi,
  57. };
  58. EFI_STATUS
  59. EFIAPI
  60. SmmWhiskeylakeURvpMultiBoardAcpiSupportLibConstructor (
  61. VOID
  62. )
  63. {
  64. if (LibPcdGetSku () == BoardIdWhiskeyLakeRvp) {
  65. return RegisterBoardAcpiEnableFunc (&mWhiskeylakeURvpBoardAcpiEnableFunc);
  66. }
  67. return EFI_SUCCESS;
  68. }