summaryrefslogtreecommitdiff
path: root/Core/UefiCpuPkg/Library/MpInitLib/MpLib.h
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2018-02-08 16:40:19 +0800
committerGuo Mang <mang.guo@intel.com>2018-02-09 14:00:11 +0800
commit46e02d6f1c0369135c1ea5ba116cdf0ab12a76f9 (patch)
treedec18282b3f111caabe93c082ce477b28cc5e16f /Core/UefiCpuPkg/Library/MpInitLib/MpLib.h
parentc666e00bbb1f6fbd00fb2c568c2bef886f1ea4e7 (diff)
downloadedk2-platforms-46e02d6f1c0369135c1ea5ba116cdf0ab12a76f9.tar.xz
UefiCpuPkg MpInitLib: Save/restore original WakeupBuffer for DxeMpLib
Current code always allocates/frees < 1MB WakeupBuffer for DxeMpLib until ExitBootService, but the allocation may be failed at late phase of the boot. This patch is to always save/restore original WakeupBuffer for DxeMpLib. Sync from edk2 master: a6b3d753f98118ee547ae935b347f4f00fa67e7c Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'Core/UefiCpuPkg/Library/MpInitLib/MpLib.h')
-rw-r--r--Core/UefiCpuPkg/Library/MpInitLib/MpLib.h45
1 files changed, 9 insertions, 36 deletions
diff --git a/Core/UefiCpuPkg/Library/MpInitLib/MpLib.h b/Core/UefiCpuPkg/Library/MpInitLib/MpLib.h
index ea56412cbc..ff0479655d 100644
--- a/Core/UefiCpuPkg/Library/MpInitLib/MpLib.h
+++ b/Core/UefiCpuPkg/Library/MpInitLib/MpLib.h
@@ -1,7 +1,7 @@
/** @file
Common header file for MP Initialize Library.
- Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -201,7 +201,6 @@ struct _CPU_MP_DATA {
UINTN WakeupBuffer;
UINTN BackupBuffer;
UINTN BackupBufferSize;
- BOOLEAN SaveRestoreFlag;
volatile UINT32 StartCount;
volatile UINT32 FinishedCount;
@@ -310,24 +309,18 @@ SaveCpuMpData (
IN CPU_MP_DATA *CpuMpData
);
-/**
- Allocate reset vector buffer.
-
- @param[in, out] CpuMpData The pointer to CPU MP Data structure.
-**/
-VOID
-AllocateResetVector (
- IN OUT CPU_MP_DATA *CpuMpData
- );
/**
- Free AP reset vector buffer.
+ Get available system memory below 1MB by specified size.
- @param[in] CpuMpData The pointer to CPU MP Data structure.
+ @param[in] WakeupBufferSize Wakeup buffer size required
+
+ @retval other Return wakeup buffer address below 1MB.
+ @retval -1 Cannot find free memory below 1MB.
**/
-VOID
-FreeResetVector (
- IN CPU_MP_DATA *CpuMpData
+UINTN
+GetWakeupBuffer (
+ IN UINTN WakeupBufferSize
);
/**
@@ -543,26 +536,6 @@ IsMwaitSupport (
);
/**
- Get available system memory below 1MB by specified size.
-
- @param[in] CpuMpData The pointer to CPU MP Data structure.
-**/
-VOID
-BackupAndPrepareWakeupBuffer(
- IN CPU_MP_DATA *CpuMpData
- );
-
-/**
- Restore wakeup buffer data.
-
- @param[in] CpuMpData The pointer to CPU MP Data structure.
-**/
-VOID
-RestoreWakeupBuffer(
- IN CPU_MP_DATA *CpuMpData
- );
-
-/**
Enable Debug Agent to support source debugging on AP function.
**/