[PATCH 2/9] Fix copy-paste bug: entry16 does not start at entry16_debug.

Jamey Sharp jamey at thetovacompany.com
Tue Apr 22 19:21:05 EDT 2008


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 at thetovacompany.com>
---
 purgatory/arch/i386/entry32-16.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/purgatory/arch/i386/entry32-16.S b/purgatory/arch/i386/entry32-16.S
index a37fb55..aaf1273 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
-- 
1.5.4.1




More information about the kexec mailing list