From: Chen Fan Date: Fri, 21 Nov 2014 22:46:49 +0000 (+0000) Subject: EmulatorPkg/MpService: add enabled processor check for startupThisAP X-Git-Tag: edk2-stable201903~10593 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=8864869a7f2148c7ac4c4fd46bddf8bcfafbd3d0 EmulatorPkg/MpService: add enabled processor check for startupThisAP if processor number is the one of disabled processor, startupThisAP should return invalid prameter. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen Fan Reviewed-by: Jordan Justen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16417 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/EmulatorPkg/CpuRuntimeDxe/MpService.c b/EmulatorPkg/CpuRuntimeDxe/MpService.c index f941519c29..36fa68f3e8 100644 --- a/EmulatorPkg/CpuRuntimeDxe/MpService.c +++ b/EmulatorPkg/CpuRuntimeDxe/MpService.c @@ -713,6 +713,10 @@ CpuMpServicesStartupThisAP ( return EFI_INVALID_PARAMETER; } + if ((gMPSystem.ProcessorData[ProcessorNumber].Info.StatusFlag & PROCESSOR_ENABLED_BIT) == 0) { + return EFI_INVALID_PARAMETER; + } + gThread->MutexLock(gMPSystem.ProcessorData[ProcessorNumber].StateLock); if (gMPSystem.ProcessorData[ProcessorNumber].State != CPU_STATE_IDLE) { gThread->MutexUnlock(gMPSystem.ProcessorData[ProcessorNumber].StateLock);