]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/CpuHotplugSmm/Smbase.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / CpuHotplugSmm / Smbase.h
1 /** @file
2 SMBASE relocation for hot-plugged CPUs.
3
4 Copyright (c) 2020, Red Hat, Inc.
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7 **/
8
9 #ifndef SMBASE_H_
10 #define SMBASE_H_
11
12 #include <Uefi/UefiBaseType.h> // EFI_STATUS
13 #include <Uefi/UefiSpec.h> // EFI_BOOT_SERVICES
14
15 #include "ApicId.h" // APIC_ID
16
17 EFI_STATUS
18 SmbaseAllocatePostSmmPen (
19 OUT UINT32 *PenAddress,
20 IN CONST EFI_BOOT_SERVICES *BootServices
21 );
22
23 VOID
24 SmbaseReinstallPostSmmPen (
25 IN UINT32 PenAddress
26 );
27
28 VOID
29 SmbaseReleasePostSmmPen (
30 IN UINT32 PenAddress,
31 IN CONST EFI_BOOT_SERVICES *BootServices
32 );
33
34 VOID
35 SmbaseInstallFirstSmiHandler (
36 VOID
37 );
38
39 EFI_STATUS
40 SmbaseRelocate (
41 IN APIC_ID ApicId,
42 IN UINTN Smbase,
43 IN UINT32 PenAddress
44 );
45
46 #endif // SMBASE_H_