]>
git.proxmox.com Git - mirror_edk2.git/blob - CryptoPkg/Library/BaseCryptLib/Hash/CryptDispatchApPei.c
9ddd23d32048c9f2b0bc1bd12ab7882a3a0c1ed6
2 Dispatch Block to Aps in Pei phase for parallelhash algorithm.
4 Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
9 #include "CryptParallelHash.h"
10 #include <Library/PeiServicesTablePointerLib.h>
12 #include <Ppi/MpServices.h>
13 #include <Library/PeiServicesLib.h>
16 Dispatch the block task to each AP in PEI phase.
26 CONST EFI_PEI_SERVICES
**PeiServices
;
27 EFI_PEI_MP_SERVICES_PPI
*MpServicesPpi
;
29 PeiServices
= GetPeiServicesTablePointer ();
30 Status
= (*PeiServices
)->LocatePpi (
32 &gEfiPeiMpServicesPpiGuid
,
35 (VOID
**)&MpServicesPpi
37 if (EFI_ERROR (Status
)) {
39 // Failed to locate MpServices Ppi, do parallel hash by one core.
41 DEBUG ((DEBUG_ERROR
, "[DispatchBlockToApPei] Failed to locate MpServices Ppi. Status = %r\n", Status
));
45 Status
= MpServicesPpi
->StartupAllAPs (
46 (CONST EFI_PEI_SERVICES
**)PeiServices
,
48 ParallelHashApExecute
,