diff options
author | Guo Mang <mang.guo@intel.com> | 2018-02-08 16:40:19 +0800 |
---|---|---|
committer | Guo Mang <mang.guo@intel.com> | 2018-02-09 14:00:11 +0800 |
commit | 46e02d6f1c0369135c1ea5ba116cdf0ab12a76f9 (patch) | |
tree | dec18282b3f111caabe93c082ce477b28cc5e16f /Core/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c | |
parent | c666e00bbb1f6fbd00fb2c568c2bef886f1ea4e7 (diff) | |
download | edk2-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/PeiMpLib.c')
-rw-r--r-- | Core/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c | 38 |
1 files changed, 1 insertions, 37 deletions
diff --git a/Core/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c b/Core/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c index 9ee5aca57b..7ce5f723b1 100644 --- a/Core/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c +++ b/Core/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c @@ -1,7 +1,7 @@ /** @file
MP initialize support functions for PEI phase.
- 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
@@ -188,42 +188,6 @@ GetWakeupBuffer ( }
/**
- Allocate reset vector buffer.
-
- @param[in, out] CpuMpData The pointer to CPU MP Data structure.
-**/
-VOID
-AllocateResetVector (
- IN OUT CPU_MP_DATA *CpuMpData
- )
-{
- UINTN ApResetVectorSize;
-
- if (CpuMpData->WakeupBuffer == (UINTN) -1) {
- ApResetVectorSize = CpuMpData->AddressMap.RendezvousFunnelSize +
- sizeof (MP_CPU_EXCHANGE_INFO);
-
- CpuMpData->WakeupBuffer = GetWakeupBuffer (ApResetVectorSize);
- CpuMpData->MpCpuExchangeInfo = (MP_CPU_EXCHANGE_INFO *) (UINTN)
- (CpuMpData->WakeupBuffer + CpuMpData->AddressMap.RendezvousFunnelSize);
- }
- BackupAndPrepareWakeupBuffer (CpuMpData);
-}
-
-/**
- Free AP reset vector buffer.
-
- @param[in] CpuMpData The pointer to CPU MP Data structure.
-**/
-VOID
-FreeResetVector (
- IN CPU_MP_DATA *CpuMpData
- )
-{
- RestoreWakeupBuffer (CpuMpData);
-}
-
-/**
Checks APs status and updates APs status if needed.
**/
|