summaryrefslogtreecommitdiffstats
path: root/purgatory
diff options
context:
space:
mode:
authorJamey Sharp <jamey@thetovacompany.com>2008-04-22 16:21:04 -0700
committerSimon Horman <horms@verge.net.au>2008-04-24 11:03:14 +1000
commitb76efc860bce5649dcc5d3e0f791664f69123553 (patch)
tree1e494e882175c4d7dbf881794d84f236a765d242 /purgatory
parent1e1ee02f95e69890fb98d71cb512261ac9283623 (diff)
downloadkexec-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.c2
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>
/*