From 59fd15c5a2174a6a6fc4133964e6d5b520b58663 Mon Sep 17 00:00:00 2001 From: Jeff Fan Date: Fri, 25 Sep 2015 07:12:21 +0000 Subject: [PATCH] UefiCpuPkg/CpuMpPei: Fix wrong CpuData pointer CpuData buffer should be located in allocated buffer instead of at end of WakeupBuffer. (Sync patch r18550 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan Reviewed-by: Star Zeng git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18552 6f19259b-4bc3-4df7-8a09-765794883524 --- UefiCpuPkg/CpuMpPei/CpuMpPei.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.c b/UefiCpuPkg/CpuMpPei/CpuMpPei.c index 81d5b19fc..d5bc0c9b8 100644 --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.c +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.c @@ -428,7 +428,8 @@ PrepareAPStartupVector ( PeiCpuMpData->CpuCount = 1; PeiCpuMpData->BspNumber = 0; - PeiCpuMpData->CpuData = (PEI_CPU_DATA *) (PeiCpuMpData->MpCpuExchangeInfo + 1); + PeiCpuMpData->CpuData = (PEI_CPU_DATA *) (PeiCpuMpData->BackupBuffer + + PeiCpuMpData->BackupBufferSize); PeiCpuMpData->CpuData[0].ApicId = GetInitialApicId (); PeiCpuMpData->CpuData[0].Health.Uint32 = 0; PeiCpuMpData->EndOfPeiFlag = FALSE;