david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/include
Michael Brown 648657b776 [block] Provide abstraction to allow system to be quiesced
When performing a SAN boot via INT 13, there is no way for the
operating system to indicate that it has finished using the INT 13 SAN
device.  We therefore have no opportunity to clean up state before the
loaded operating system's native drivers take over.  This can cause
problems when booting Windows, which tends not to be forgiving of
unexpected system state.

Windows will typically write a flag to the SAN device as the last
action before transferring control to the native drivers.  We can use
this as a heuristic to bring the system to a quiescent state (without
performing a full shutdown); this provides us an opportunity to
temporarily clean up state that could otherwise prevent a successful
Windows boot.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2017-04-26 20:15:39 +01:00
..
hci [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
ipxe [block] Provide abstraction to allow system to be quiesced 2017-04-26 20:15:39 +01:00
readline [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
sys [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
usr [block] Allow use of a non-default EFI SAN boot filename 2017-04-12 15:58:05 +01:00
valgrind [malloc] Move valgrind headers out of arch/x86 2015-03-03 14:25:51 +00:00
xen [xen] Import selected public headers 2014-07-29 15:20:49 +01:00
alloca.h alloca() can be useful in some (limited) circumstances. 2007-01-11 23:19:31 +00:00
assert.h [libc] Allow assertions to be globally enabled or disabled 2016-07-05 13:28:51 +01:00
byteswap.h [libc] Rewrite byte-swapping code 2015-03-02 16:35:37 +00:00
coff.h Initial revision 2005-03-08 18:53:11 +00:00
compiler.h [build] Avoid confusing sparse in single-argument DBG() macros 2017-03-22 08:25:04 +02:00
cpu.h Initial revision 2005-03-08 18:53:11 +00:00
ctype.h [libc] Rewrite unrelicensable portions of ctype.h 2015-03-02 16:35:37 +00:00
curses.h [libc] Add stdbool.h standard header 2017-04-10 16:12:53 +01:00
elf.h [elf] Rewrite ELF header 2015-03-02 19:42:48 +00:00
endian.h [libc] Rewrite byte-swapping code 2015-03-02 16:35:37 +00:00
errno.h [build] Allow assembler section type character to vary by architecture 2016-03-13 11:20:53 +00:00
etherboot.h [console] Move putchar() and getchar() declarations to stdio.h 2012-03-26 14:43:52 +01:00
fs.h Initial revision 2005-03-08 18:53:11 +00:00
getopt.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
i82365.h [legal] Add FILE_LICENCE macro to some GPL-v2 files 2010-12-03 23:23:35 +00:00
libgen.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
linux_api.h [af_packet] Add new AF_PACKET driver for Linux 2017-01-22 14:02:54 +00:00
mii.h [mii] Synchronise constants with current Linux include/linux/mii.h 2012-04-18 16:32:57 +01:00
nic.h [legacy] Fix building with GCC 6 2016-05-04 16:01:33 +01:00
old_tcp.h Moved old tcp.h to old_tcp.h, to avoid name clash with new (uIP-based) 2006-03-23 20:34:08 +00:00
pc_kbd.h Initial revision 2005-03-08 18:53:11 +00:00
pcmcia-opts.h Initial revision 2005-03-08 18:53:11 +00:00
pcmcia.h Dead code removal. 2007-07-14 15:42:26 +01:00
stdarg.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
stdbool.h [libc] Add stdbool.h standard header 2017-04-10 16:12:53 +01:00
stddef.h [libc] Allow container_of() to be used on volatile pointers 2016-03-18 08:18:31 +00:00
stdint.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
stdio.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
stdlib.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
string.h [libc] Allow CPU architectures to use unoptimised string functions 2016-04-19 16:30:49 +01:00
strings.h [libc] Add ffs(), ffsl(), and ffsll() 2015-03-16 15:40:53 +00:00
sys_info.h Initial revision 2005-03-08 18:53:11 +00:00
syslog.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
time.h [time] Allow system clock to be adjusted at runtime 2016-06-13 15:29:05 +01:00
unistd.h [time] Allow timer to be selected at runtime 2017-01-26 08:17:37 +00:00
wchar.h [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00