On 06/25/15 10:27, Ard Biesheuvel wrote: > On 25 June 2015 at 10:08, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote: >> On 25 June 2015 at 09:58, Laszlo Ersek <ler...@redhat.com> wrote: >>> On 06/25/15 01:31, Yao, Jiewen wrote: >>>> Hi Ard >>>> You are right that END_OF_DXE must be signal in Bds. >>>> >>>> My thought is that this event should be signal in "platform BDS" >>>> instead of "generic BDS". >>>> >>>> The reason is that only platform know when to exit platform >>>> manufacture auth state, and platform may have some special step >>>> before that. >>>> >>>> Signing end of dxe in generic BDS may break existing platform. >>> >>> Ard, I think we have the justification we needed for going with >>> platform-specific End-of-Dxe signalling. Please update your original >>> patch with a link to Jiewen's message: >>> >>> http://thread.gmane.org/gmane.comp.bios.tianocore.devel/16088/focus=16109 >>> >>> And I'm going to ACK it like that for ArmVirtPkg. >>> >> >> OK, fair enough. >> >>> ( >>> Note, this is actually option #2 from my email >>> <http://thread.gmane.org/gmane.comp.bios.tianocore.devel/16088/focus=16095>: >>> >>>> - Or, OVMF will have to signal End-of-Dxe within the >>>> SaveS3BootScript() function (see again the patch), right before >>>> installing "gEfiDxeSmmReadyToLockProtocolGuid". Only that would >>>> place the new step (2) between existent steps (1) and (3). >>>> >>>> In parallel, ArmVirtPkg, which doesn't implement S3 or SMM, could >>>> signal End-of-Dxe wherever it wanted to. Meaning, your patch is >>>> correct (assuming it doesn't break anything in practice), *if* we >>>> prefer this option. >>> ) >>> >>> Jiewen, >>> >>>> Would you mind to let me know which platform forget to signal this, >>> >>> That's every single platform in the open source edk2 tree that uses >>> Intel BDS. >>> >>>> and can we fix it in platform BDS? >>> >>> Yes, we can do that; Ard already posted a patch with such an approach >>> for ArmVirtPkg, and I intend to do the same for OvmfPkg. Our main doubt >>> was whether it was *right* (by design) to do this separately for each >>> platform (in the respective PlatformBdsLib instance), as opposed to >>> doing it centrally in the BDS driver. >>> >>> You just lifted that doubt, so we know the way forward. >>> >> >> Indeed. FYI, I noticed that S3Save () does the right thing if it is >> invoked more than once. >> That means you may be able to get away with calling it both in >> PlatformBdsInit() (before end-of-DXE) *and* keep the original call >> site in GenericBdsLib intact, and still end up with something that >> works. It does rely on an implementation detail of AcpiS3Save though > > ... which you are probably doing already, I guess ... :-)
Not sure if I understand right, but if you mean that OVMF's platform BDS already calls S3Save directly -- that's not the case. We currently rely on the call inside the BDS driver. Thanks Laszlo ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel