On 01/30/15 09:23, Sergey Isakov wrote:
> Dear sirs,
> 
> Sorry for the stupid question, I am not found an explanation.
> If an UEFI BIOS loaded additional drivers then how to stop all of them
> at OS started?
> I may propose that OnExitBootService do this but
> DxeMain.c->CoreExitBootServices () does not contain such codes.
> So user should do this?
> Why DxeMain will not call DisconnectAllControllers?

There's no need to disconnect controllers. Each driver's (and each
controller's) handler for the "exiting boot services" event should abort
pending / in-flight DMA transfers and such, but otherwise there's no
need to release memory individually. If the memory allocations used the
correct types throughout boot time, then the OS will repurpose
everything it can.

Perhaps you're thinking about filesystem drivers with write caching,
etc. IIRC, Andrew pointed out already that such drivers are unsafe
anyway. Assume you want to reboot or poweroff the machine while at the
UEFI shell prompt, or in the boot manager. There's no "controlled
shutdown" option that would be usual for an OS, you just reset the
system and that's it. The cache would be lost without ever seeing
ExitBootServices().

(Corrections / extensions welcome, clearly. :))

Laszlo


------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to