diff options
author | Jamey Sharp <jamey@thetovacompany.com> | 2008-04-22 16:21:04 -0700 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2008-04-24 11:03:14 +1000 |
commit | b76efc860bce5649dcc5d3e0f791664f69123553 (patch) | |
tree | 1e494e882175c4d7dbf881794d84f236a765d242 /purgatory | |
parent | 1e1ee02f95e69890fb98d71cb512261ac9283623 (diff) | |
download | kexec-tools-b76efc860bce5649dcc5d3e0f791664f69123553.tar.gz |
Fix undefined symbol errors on readw/writew: arch/io.h, not sys/io.h.
The undefined symbols naturally weren't relocated by kexec's linker, so
each compiled `call` instruction branched into the middle of itself. The
CPU proceeded to interpret the un-relocated address as instructions,
resulting in an undefined opcode fault. Since at this point no IDT is
loaded, that turned into a triple-fault and reboot.
The bug was only visible when running kexec with --console-vga.
Signed-off-by: Jamey Sharp <jamey@thetovacompany.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'purgatory')
-rw-r--r-- | purgatory/arch/i386/console-x86.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/purgatory/arch/i386/console-x86.c b/purgatory/arch/i386/console-x86.c index 68f5daf9..97735736 100644 --- a/purgatory/arch/i386/console-x86.c +++ b/purgatory/arch/i386/console-x86.c @@ -1,5 +1,5 @@ #include <stdint.h> -#include <sys/io.h> +#include <arch/io.h> #include <purgatory.h> /* |