Computation of the real mode CS value is corrected.
Real mode debugging feature is corrected.
Signed-off-by: Roman Kononov <[EMAIL PROTECTED]>
---
diff -ur kexec-tools-testing-20061214.orig/kexec/arch/i386/kexec-bzImage.c
kexec-tools-testing-20061214/kexec/arch/i386/kexec-bzImage.c
--- kexec-tools-testing-20061214.orig/kexec/arch/i386/kexec-bzImage.c
2006-12-14 01:12:03.000000000 -0600
+++ kexec-tools-testing-20061214/kexec/arch/i386/kexec-bzImage.c 2007-02-01
14:56:56.000000000 -0600
@@ -270,7 +270,7 @@
/*
* Initialize the 16bit start information.
*/
- regs16.cs = setup_base + 0x20;
+ regs16.cs = (setup_base>>4) + 0x20;
regs16.ip = 0;
regs16.ss = (elf_rel_get_addr(&info->rhdr, "stack_end") - 64*1024) >> 4;
regs16.esp = 0xFFFC;
@@ -278,7 +278,7 @@
printf("Starting the kernel in real mode\n");
regs32.eip = elf_rel_get_addr(&info->rhdr, "entry16");
}
- if (real_mode && debug) {
+ if (real_mode_entry && debug) {
unsigned long entry16_debug, pre32, first32;
uint32_t old_first32;
/* Find the location of the symbols */
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot