diff options
-rw-r--r-- | EmulatorPkg/CpuRuntimeDxe/MpService.c | 4 |
1 files changed, 4 insertions, 0 deletions
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);
|