/** @file | |
SMBASE relocation for hot-plugged CPUs. | |
Copyright (c) 2020, Red Hat, Inc. | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef SMBASE_H_ | |
#define SMBASE_H_ | |
#include <Uefi/UefiBaseType.h> // EFI_STATUS | |
#include <Uefi/UefiSpec.h> // EFI_BOOT_SERVICES | |
#include "ApicId.h" // APIC_ID | |
EFI_STATUS | |
SmbaseAllocatePostSmmPen ( | |
OUT UINT32 *PenAddress, | |
IN CONST EFI_BOOT_SERVICES *BootServices | |
); | |
VOID | |
SmbaseReinstallPostSmmPen ( | |
IN UINT32 PenAddress | |
); | |
VOID | |
SmbaseReleasePostSmmPen ( | |
IN UINT32 PenAddress, | |
IN CONST EFI_BOOT_SERVICES *BootServices | |
); | |
VOID | |
SmbaseInstallFirstSmiHandler ( | |
VOID | |
); | |
EFI_STATUS | |
SmbaseRelocate ( | |
IN APIC_ID ApicId, | |
IN UINTN Smbase, | |
IN UINT32 PenAddress | |
); | |
#endif // SMBASE_H_ |