Re: [RFC] Add parallel hash feature into CryptoPkg.BaseCryptLib.
Mike, Stupid question but the BaseCryptLib seems to really be DxeCryptLib[1]? So are you worried about adding the dependency to this DXE Lib? It depends on UefiRuntimeServicesTableLib. Looks like SysCall/TimerWrapper.c[2] uses gRT->GetTime(). It looks like if the time services are not available it returns 0 from time(), so there is only a quality of service implication to when it it is used but no Depex?
If we end up splitting this up for “others” to handle the MP in DXE, PEI, or MM then I think we probably need a more robust API set that abstracts breaking up the work, and combining it back tougher. Well you would need the worker functions to processes the broken up data on the APs. So I would imagine and API that splits the work and you pass in the number of APs (or APs + BSP) and you get N buffers out to process? Those buffers should describe the chunk to the worker function, and when the worker function is done the get the answer function can calculate the results from that. [1] We don’t have a Base implementation of BaseCryptLib. CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf LIBRARY_CLASS = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf LIBRARY_CLASS = BaseCryptLib|PEIM PEI_CORE CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf LIBRARY_CLASS = BaseCryptLib|DXE_RUNTIME_DRIVERCryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf LIBRARY_CLASS = BaseCryptLib|DXE_SMM_DRIVER SMM_CORE MM_STANDALONE Thanks, Andrew Fish
|
|