From 8864869a7f2148c7ac4c4fd46bddf8bcfafbd3d0 Mon Sep 17 00:00:00 2001 From: Chen Fan Date: Fri, 21 Nov 2014 22:46:49 +0000 Subject: [PATCH] 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 --- EmulatorPkg/CpuRuntimeDxe/MpService.c | 4 ++++ 1 file changed, 4 insertions(+) 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); -- 2.39.2