Good day, While I was inspecting CpuS3DataDxe and the modules depending on its PCD PcdCpuS3DataAddress, I noticed that DxeRegisterCpuFeaturesLib seemingly has an asserted dependency on the PCD being ready when it its executed. I did neither see a Depex entry, nor an event callback ensuring CpuS3DataDxe has been loaded, neither exposed by CpuS3DataDxe, nor consumed by this library. https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/RegisterCpuFeaturesLib/DxeRegisterCpuFeaturesLib.c#L211
Is there anything I'm missing that ensures the execution of CpuS3DataDxe prior to executing the dependent code? If not, should there be a dummy protocol exposed? PiSmmCpuDxeSmm also retrieves this PCD, however safely quits when it has not been set. However, this could cause unexpected behavior when the PCD is set after this code has been executed. I did not notice any dependency satisfaction actions here either. Furthermore, not directly related to this dependency issue, the DXE code obviously does not implement AllocateAcpiCpuData() entirely. Hence, the if-branch following its call, will either add another layer of firing ASSERTs, or it will plainly do nothing. Maybe it could be moved into the current AllocateAcpiCpuData() function and it be renamed accordingly? https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeaturesLib.c#L526 Thanks for your time. Best regards, Marvin. _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel