SmmMultiBoardAcpiSupportLib.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /** @file
  2. Platform Hook Library instances
  3. Copyright (c) 2017, 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 <KabylakeRvp3Id.h>
  16. EFI_STATUS
  17. EFIAPI
  18. KabylakeRvp3BoardEnableAcpi (
  19. IN BOOLEAN EnableSci
  20. );
  21. EFI_STATUS
  22. EFIAPI
  23. KabylakeRvp3BoardDisableAcpi (
  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. KabylakeRvp3MultiBoardEnableAcpi (
  39. IN BOOLEAN EnableSci
  40. )
  41. {
  42. SiliconEnableAcpi (EnableSci);
  43. return KabylakeRvp3BoardEnableAcpi (EnableSci);
  44. }
  45. EFI_STATUS
  46. EFIAPI
  47. KabylakeRvp3MultiBoardDisableAcpi (
  48. IN BOOLEAN DisableSci
  49. )
  50. {
  51. SiliconDisableAcpi (DisableSci);
  52. return KabylakeRvp3BoardDisableAcpi (DisableSci);
  53. }
  54. BOARD_ACPI_ENABLE_FUNC mKabylakeRvp3BoardAcpiEnableFunc = {
  55. KabylakeRvp3MultiBoardEnableAcpi,
  56. KabylakeRvp3MultiBoardDisableAcpi,
  57. };
  58. EFI_STATUS
  59. EFIAPI
  60. SmmKabylakeRvp3MultiBoardAcpiSupportLibConstructor (
  61. VOID
  62. )
  63. {
  64. if (LibPcdGetSku () == BoardIdKabyLakeYLpddr3Rvp3) {
  65. return RegisterBoardAcpiEnableFunc (&mKabylakeRvp3BoardAcpiEnableFunc);
  66. }
  67. return EFI_SUCCESS;
  68. }