TianoCore EDK2 master
Loading...
Searching...
No Matches
CryptDispatchApPei.c
Go to the documentation of this file.
1
9#include "CryptParallelHash.h"
11#include <PiPei.h>
12#include <Ppi/MpServices.h>
14
19VOID
20EFIAPI
22 VOID
23 )
24{
25 EFI_STATUS Status;
26 CONST EFI_PEI_SERVICES **PeiServices;
27 EFI_PEI_MP_SERVICES_PPI *MpServicesPpi;
28
29 PeiServices = GetPeiServicesTablePointer ();
30 Status = (*PeiServices)->LocatePpi (
31 PeiServices,
32 &gEfiPeiMpServicesPpiGuid,
33 0,
34 NULL,
35 (VOID **)&MpServicesPpi
36 );
37 if (EFI_ERROR (Status)) {
38 //
39 // Failed to locate MpServices Ppi, do parallel hash by one core.
40 //
41 DEBUG ((DEBUG_ERROR, "[DispatchBlockToApPei] Failed to locate MpServices Ppi. Status = %r\n", Status));
42 return;
43 }
44
45 Status = MpServicesPpi->StartupAllAPs (
46 (CONST EFI_PEI_SERVICES **)PeiServices,
47 MpServicesPpi,
49 FALSE,
50 0,
51 NULL
52 );
53 return;
54}
CONST EFI_PEI_SERVICES **EFIAPI GetPeiServicesTablePointer(VOID)
VOID EFIAPI DispatchBlockToAp(VOID)
VOID EFIAPI ParallelHashApExecute(IN VOID *ProcedureArgument)
#define NULL
Definition: Base.h:319
#define CONST
Definition: Base.h:259
#define FALSE
Definition: Base.h:307
#define DEBUG(Expression)
Definition: DebugLib.h:434
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29