2020-02-26 23:11:51 +01:00
|
|
|
/** @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
|
|
|
|
|
2020-02-26 23:11:52 +01:00
|
|
|
#include "ApicId.h" // APIC_ID
|
|
|
|
|
2020-02-26 23:11:51 +01:00
|
|
|
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
|
|
|
|
);
|
|
|
|
|
2020-02-26 23:11:52 +01:00
|
|
|
VOID
|
|
|
|
SmbaseInstallFirstSmiHandler (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
SmbaseRelocate (
|
|
|
|
IN APIC_ID ApicId,
|
|
|
|
IN UINTN Smbase,
|
|
|
|
IN UINT32 PenAddress
|
|
|
|
);
|
|
|
|
|
2020-02-26 23:11:51 +01:00
|
|
|
#endif // SMBASE_H_
|