opengnsys_ipxe/src
Michael Brown 755d2b8f6b [efi] Ensure drivers are disconnected when ExitBootServices() is called
We hook the UEFI ExitBootServices() event and use it to trigger a call
to shutdown_boot().  This does not automatically cause drivers to be
disconnected from their devices, since device enumeration is now
handled by the UEFI core rather than by iPXE.  (Under the old and
dubiously compatible device model, iPXE used to perform its own device
enumeration and so the call to shutdown_boot() would indeed have
caused drivers to be disconnected.)

Fix by replicating parts of the dummy "EFI root device" from
efiprefix.c to efidrvprefix.c, so that the call to shutdown_boot()
will call efi_driver_disconnect_all().

Originally-fixed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-04-13 12:06:59 +01:00
..
arch [efi] Ensure drivers are disconnected when ExitBootServices() is called 2015-04-13 12:06:59 +01:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [ehci] Add support for EHCI host controllers 2015-03-18 12:35:17 +00:00
core [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-05 11:40:13 +00:00
crypto [crypto] Add SHA-512/224 algorithm 2015-04-12 17:02:11 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [virtio] Downgrade per-iobuf debug messages to DBGC2 2015-04-10 21:18:42 +01:00
hci [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-05 11:40:13 +00:00
image [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
include [crypto] Add SHA-512/224 algorithm 2015-04-12 17:02:11 +01:00
interface [linux] Rewrite headers included in all builds 2015-03-05 02:43:37 +00:00
libgcc [build] Mark __intel_new_proc_init with __libgcc rather than cdecl 2009-08-03 15:56:10 +01:00
net [netdevice] Add missing bus types to netdev_fetch_bustype() 2015-03-18 16:42:39 +00:00
tests [crypto] Add SHA-512/224 algorithm 2015-04-12 17:02:11 +01:00
usr [autoboot] Match against parent devices when matching by bus type and location 2015-03-17 02:30:06 +00:00
util [build] Fix the REQUIRE_SYMBOL mechanism 2015-03-05 00:59:38 +00:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
Makefile [usb] Add basic support for USB hubs 2015-02-03 12:19:52 +00:00
Makefile.housekeeping [build] Remove obsolete and unused portions of config.c 2015-03-04 14:49:43 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00