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

Reply via email to