On 24 June 2015 at 14:51, Laszlo Ersek <ler...@redhat.com> wrote:
> On 06/24/15 13:28, Ard Biesheuvel wrote:
>> On 24 June 2015 at 13:15, Olivier Martin <olivier.mar...@arm.com> wrote:
>>> I think this patch should move to IntelFrameworkModulePkg/Universal/BdsDxe. 
>>> It is a PI specification requirement to signal gEfiEndOfDxeEventGroupGuid 
>>> at the end of the DXE phase.
>>>
>>
>> Yes, that makes sense, I guess. But assuming most of its users are
>> signalling the event at some point, this would result in the event to
>> be signalled twice.
>> Perhaps Jeff can comment here?
>
> This topic has been raised several times before (without any solution).
>
> I agree that signalling the event is a good idea.
>

So does that mean OVMF does not call it either? I tried grep'ing for
instances but I could only find the one in the ARM BDS

> I also agree that
>
> (a) either it should be done in
> "IntelFrameworkModulePkg/Universal/BdsDxe", *or*
>
> (b) since PlatformBdsLib instances *are* linked into that driver, it
> should be codified as a rule, perhaps in
>
>   IntelFrameworkModulePkg/Include/Library/PlatformBdsLib.h
>
> that function FOO of the library instance is *responsible* for signaling
> the event.
>

I'd be interested in understanding how it is called by the platforms
people actually work with. For instance, the v2.5 properties table
feature clearly relies on it, so implementing and testing that must
have occurred on an out-of-tree platform that issues this call
*somewhere*

> What I would not like to see is platforms signaling the event in wildly
> different places. (Unless, of course, that flexibility was an explicit
> design choice!) Obviously, I'm thinking that OvmfPkg and ArmVirtPkg
> should behave similarly in this context.
>

Agreed.

> So I think we need some guidance here, from the inventors of the event,
> and from the implementors of "IntelFrameworkModulePkg/Universal/BdsDxe".
>
> FWIW, how about this: when the DXE core is done dispatching, it decides
> it is time to enter BDS. (See "gEfiBdsArchProtocolGuid" in
> "IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf".) Why doesn't the
> DXE core itself signal end-of-dxe?
>

If it's a PI spec requirement to do so, then I agree it makes sense to
put it in DXE core.

> It is true that BDS might connect a number of devices, making available
> further drivers on them; but those drivers are considered 3rd party (ie.
> UEFI_DRIVER) modules, not part of the platform in the strict sense.
>

By that logic, the DXE phase only ever terminates at
ExitBootServices(), which is probably not what was intended.

-- 
Ard.

------------------------------------------------------------------------------
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

Reply via email to