/** @file
|
Tiger Lake U RVP SMM Multi-Board ACPI Support library
|
|
Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
**/
|
|
#include <Base.h>
|
#include <Uefi.h>
|
#include <PiDxe.h>
|
#include <Library/BaseLib.h>
|
#include <Library/IoLib.h>
|
#include <Library/BoardAcpiEnableLib.h>
|
#include <Library/MultiBoardAcpiSupportLib.h>
|
#include <Library/PcdLib.h>
|
#include <Library/DebugLib.h>
|
|
#include <PlatformBoardId.h>
|
|
EFI_STATUS
|
EFIAPI
|
TglBoardEnableAcpi (
|
IN BOOLEAN EnableSci
|
);
|
|
EFI_STATUS
|
EFIAPI
|
TglBoardDisableAcpi (
|
IN BOOLEAN DisableSci
|
);
|
|
EFI_STATUS
|
EFIAPI
|
SiliconEnableAcpi (
|
IN BOOLEAN EnableSci
|
);
|
|
EFI_STATUS
|
EFIAPI
|
SiliconDisableAcpi (
|
IN BOOLEAN DisableSci
|
);
|
|
EFI_STATUS
|
EFIAPI
|
MultiBoardEnableAcpi (
|
IN BOOLEAN EnableSci
|
)
|
{
|
SiliconEnableAcpi (EnableSci);
|
return TglBoardEnableAcpi (EnableSci);
|
}
|
|
EFI_STATUS
|
EFIAPI
|
MultiBoardDisableAcpi (
|
IN BOOLEAN DisableSci
|
)
|
{
|
SiliconDisableAcpi (DisableSci);
|
return TglBoardDisableAcpi (DisableSci);
|
}
|
|
BOARD_ACPI_ENABLE_FUNC mBoardAcpiEnableFunc = {
|
MultiBoardEnableAcpi,
|
MultiBoardDisableAcpi,
|
};
|
|
/**
|
The constructor function to register mBoardAcpiEnableFunc function.
|
|
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
@param[in] SystemTable A pointer to the EFI System Table.
|
|
@retval EFI_SUCCESS This constructor always return EFI_SUCCESS.
|
It will ASSERT on errors.
|
**/
|
EFI_STATUS
|
EFIAPI
|
SmmMultiBoardAcpiSupportLibConstructor (
|
IN EFI_HANDLE ImageHandle,
|
IN EFI_SYSTEM_TABLE *SystemTable
|
)
|
{
|
DEBUG ((DEBUG_INFO, "SKU_ID: 0x%x\n", LibPcdGetSku()));
|
return RegisterBoardAcpiEnableFunc (&mBoardAcpiEnableFunc);
|
}
|
|