EFI_STATUS Status;\r
UINTN ProcessorNumber;\r
\r
- Status = CpuMpServicesWhoAmI (&mMpSercicesTemplate, &ProcessorNumber);\r
+ Status = CpuMpServicesWhoAmI (&mMpServicesTemplate, &ProcessorNumber);\r
if (EFI_ERROR (Status)) {\r
return FALSE;\r
}\r
if (SingleThread) {\r
Status = GetNextBlockedNumber (&NextNumber);\r
if (!EFI_ERROR (Status)) {\r
+ gThread->MutexLock (&gMPSystem.ProcessorData[NextNumber].StateLock);\r
gMPSystem.ProcessorData[NextNumber].State = CPU_STATE_READY;\r
+ gThread->MutexUnlock (&gMPSystem.ProcessorData[NextNumber].StateLock);\r
}\r
}\r
\r
+ gThread->MutexLock (ProcessorData->StateLock);\r
ProcessorData->State = CPU_STATE_IDLE;\r
+ gThread->MutexUnlock (ProcessorData->StateLock);\r
+\r
break;\r
\r
default:\r
\r
\r
\r
-EFI_MP_SERVICES_PROTOCOL mMpSercicesTemplate = {\r
+EFI_MP_SERVICES_PROTOCOL mMpServicesTemplate = {\r
CpuMpServicesGetNumberOfProcessors,\r
CpuMpServicesGetProcessorInfo,\r
CpuMpServicesStartupAllAps,\r
if (!EFI_ERROR (Status)) {\r
NextData = &gMPSystem.ProcessorData[NextNumber];\r
\r
- gThread->MutexLock (&NextData->ProcedureLock);\r
+ gThread->MutexLock (&NextData->StateLock);\r
NextData->State = CPU_STATE_READY;\r
- gThread->MutexUnlock (&NextData->ProcedureLock);\r
+ gThread->MutexUnlock (&NextData->StateLock);\r
\r
SetApProcedure (NextData, gMPSystem.Procedure, gMPSystem.ProcedureArgument);\r
}\r
Handle = NULL;\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&Handle,\r
- &gEfiMpServiceProtocolGuid, &mMpSercicesTemplate,\r
+ &gEfiMpServiceProtocolGuid, &mMpServicesTemplate,\r
NULL\r
);\r
return Status;\r