> +
> +    if (!GetMicrocodePatchInfoFromHob (
> +           &CpuMpData->MicrocodePatchAddress,
> +           &CpuMpData->MicrocodePatchRegionSize
> +           ))
> +    {
> +      //
> +      // The microcode patch information cache HOB does not exist, which
> means
> +      // the microcode patches data has not been loaded into memory yet
> +      //
> +      ShadowMicrocodeUpdatePatch (CpuMpData);
> +    }

1. The microcode HOB is produced by MpInitLib PEI instance.
So the above code running in PEI phase cannot get the HOB.
We could simply delete it.

The microcode HOB has multiple consumers, such as some code that
measures the microcode binaries.
So, even MpInitLib DXE instance doesn't consume this HOB any more,
the producing is still needed.



> +
> +    //
> +    // Detect and apply Microcode on BSP
> +    //
> +    MicrocodeDetect (CpuMpData, CpuMpData->BspNumber);

2. Loading microcode in BSP is good. Can you move this function call to 
together with WakeUpAp (ApInitializeSync)?
I think it could make the code more readable.




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111498): https://edk2.groups.io/g/devel/message/111498
Mute This Topic: https://groups.io/mt/102701619/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: 
https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to