diff options
Diffstat (limited to 'roms/edk2/OvmfPkg/CpuHotplugSmm/Smbase.h')
-rw-r--r-- | roms/edk2/OvmfPkg/CpuHotplugSmm/Smbase.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/roms/edk2/OvmfPkg/CpuHotplugSmm/Smbase.h b/roms/edk2/OvmfPkg/CpuHotplugSmm/Smbase.h new file mode 100644 index 000000000..e73730d19 --- /dev/null +++ b/roms/edk2/OvmfPkg/CpuHotplugSmm/Smbase.h @@ -0,0 +1,46 @@ +/** @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_
|