summaryrefslogtreecommitdiffstats
path: root/purgatory
diff options
context:
space:
mode:
authorJamey Sharp <jamey@thetovacompany.com>2008-04-22 16:21:05 -0700
committerSimon Horman <horms@verge.net.au>2008-04-24 11:20:36 +1000
commitbb127e837117314d9c6365110089cded5642d818 (patch)
tree63b73b9640398b8a1fe34ef1ff7d0b42eeb0ae6c /purgatory
parentb76efc860bce5649dcc5d3e0f791664f69123553 (diff)
downloadkexec-tools-bb127e837117314d9c6365110089cded5642d818.tar.gz
Fix copy-paste bug: entry16 does not start at entry16_debug.
The entry16 and entry16_debug functions need to compute appropriate 16-bit segments before dropping to real mode. Each is intended to use its own entry address as the segment base. However, both were using the entry address of entry16_debug, causing the code-segment reload to branch to the wrong place in the non-debug case. This bug was only visible when running kexec with --real-mode and without --debug. 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/entry32-16.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/purgatory/arch/i386/entry32-16.S b/purgatory/arch/i386/entry32-16.S
index a37fb558..aaf1273f 100644
--- a/purgatory/arch/i386/entry32-16.S
+++ b/purgatory/arch/i386/entry32-16.S
@@ -25,7 +25,7 @@
entry16:
.code32
/* Compute where I am running at */
- movl $entry16_debug, %ebx
+ movl $entry16, %ebx
/* Fixup my real mode segment */
movl %ebx, %eax