/** @file
Tiger Lake U RVP SMM Multi-Board ACPI Support library
Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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);
}