david/ipxe
Archived
1
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/arch/i386/image
Michael Brown 5026a35fef [comboot] Restore the real-mode stack pointer on exit from a COMBOOT image
COMBOOT images use INTs to issue API calls; these end up making calls
into gPXE from real mode, and so temporarily change the real-mode
stack pointer.  When our COMBOOT code uses a longjmp() to implement
the various "exit COMBOOT image" API calls, this leaves the real-mode
stack pointer stuck with its temporary value, which causes problems if
we eventually try to exit out of gPXE back to the BIOS.

Fix by adding rmsetjmp() and rmlongjmp() calls (analogous to
sigsetjmp()/siglongjmp()); these save and restore the additional state
needed for real-mode calls to function correctly.
2009-02-17 03:38:40 +00:00
..
bootsector.c We probably shouldn't leave interrupts disabled when starting an OS. 2007-07-25 02:02:24 +01:00
bzimage.c [i386] Change [u]int32_t to [unsigned] int, rather than [unsigned] long 2008-11-19 19:15:44 +00:00
com32.c [comboot] Restore the real-mode stack pointer on exit from a COMBOOT image 2009-02-17 03:38:40 +00:00
comboot.c [comboot] Restore the real-mode stack pointer on exit from a COMBOOT image 2009-02-17 03:38:40 +00:00
elfboot.c [elf] Add execution entry point debug messages for elf/multiboot images 2008-08-22 02:12:44 +01:00
eltorito.c make eltorito_load static 2007-07-27 21:58:31 +02:00
multiboot.c [i386] Change [u]int32_t to [unsigned] int, rather than [unsigned] long 2008-11-19 19:15:44 +00:00
nbi.c [netdevice] Kill off the various guess_boot_netdev() functions 2008-11-21 20:34:42 +00:00
pxe_image.c [image] Avoid claiming zero-length images as valid 2009-02-16 00:30:48 +00:00