17 EFI_MM_MP_PROTOCOL_REVISION,
44 if (NumberOfProcessors ==
NULL) {
45 return EFI_INVALID_PARAMETER;
48 *NumberOfProcessors = gSmmCpuPrivate->SmmCoreEntryContext.
NumberOfCpus;
120 IN UINTN TimeoutInMicroseconds,
121 IN OUT VOID *ProcedureArguments OPTIONAL,
122 IN OUT MM_COMPLETION *Token,
131 TimeoutInMicroseconds,
207 IN UINTN TimeoutInMicroseconds,
208 IN OUT VOID *ProcedureArguments OPTIONAL,
209 IN OUT MM_COMPLETION *Token,
215 TimeoutInMicroseconds,
252 IN OUT VOID *ProcedureArguments OPTIONAL
290 IN MM_COMPLETION Token
294 return EFI_INVALID_PARAMETER;
298 return EFI_NOT_FOUND;
333 IN MM_COMPLETION Token
340 }
while (Status == EFI_NOT_READY);
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)
EFI_STATUS(EFIAPI * EFI_AP_PROCEDURE2)(IN VOID *ProcedureArgument)
EFI_STATUS EFIAPI SmmMpDispatchProcedure(IN CONST EFI_MM_MP_PROTOCOL *This, IN EFI_AP_PROCEDURE2 Procedure, IN UINTN CpuNumber, IN UINTN TimeoutInMicroseconds, IN OUT VOID *ProcedureArguments OPTIONAL, IN OUT MM_COMPLETION *Token, IN OUT EFI_STATUS *CPUStatus)
EFI_STATUS EFIAPI SmmMpWaitForProcedure(IN CONST EFI_MM_MP_PROTOCOL *This, IN MM_COMPLETION Token)
EFI_STATUS EFIAPI SmmMpSetStartupProcedure(IN CONST EFI_MM_MP_PROTOCOL *This, IN EFI_AP_PROCEDURE Procedure, IN OUT VOID *ProcedureArguments OPTIONAL)
EFI_STATUS EFIAPI SmmMpGetNumberOfProcessors(IN CONST EFI_MM_MP_PROTOCOL *This, OUT UINTN *NumberOfProcessors)
EFI_STATUS EFIAPI SmmMpCheckForProcedure(IN CONST EFI_MM_MP_PROTOCOL *This, IN MM_COMPLETION Token)
EFI_MM_MP_PROTOCOL mSmmMp
EFI_STATUS EFIAPI SmmMpBroadcastProcedure(IN CONST EFI_MM_MP_PROTOCOL *This, IN EFI_AP_PROCEDURE2 Procedure, IN UINTN TimeoutInMicroseconds, IN OUT VOID *ProcedureArguments OPTIONAL, IN OUT MM_COMPLETION *Token, IN OUT EFI_STATUS *CPUStatus)
EFI_STATUS InternalSmmStartupThisAp(IN EFI_AP_PROCEDURE2 Procedure, IN UINTN CpuIndex, IN OUT VOID *ProcArguments OPTIONAL, IN MM_COMPLETION *Token, IN UINTN TimeoutInMicroseconds, IN OUT EFI_STATUS *CpuStatus)
EFI_STATUS InternalSmmStartupAllAPs(IN EFI_AP_PROCEDURE2 Procedure, IN UINTN TimeoutInMicroseconds, IN OUT VOID *ProcedureArguments OPTIONAL, IN OUT MM_COMPLETION *Token, IN OUT EFI_STATUS *CPUStatus)
EFI_STATUS RegisterStartupProcedure(IN EFI_AP_PROCEDURE Procedure, IN OUT VOID *ProcedureArguments OPTIONAL)
EFI_STATUS IsApReady(IN SPIN_LOCK *Token)
BOOLEAN IsTokenInUse(IN SPIN_LOCK *Token)