reset rombios32 area
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 8 Feb 2007 22:17:34 +0000 (22:17 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 8 Feb 2007 22:17:34 +0000 (22:17 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2403 c046a42c-6fe2-441c-8c8c-71466251a162

pc-bios/bios.bin
pc-bios/bios.diff

index 14ea6a60662bcf306ebc4b058f80455178b673ec..54e0bec8017bda847af4262dc5b6566722c26e7a 100644 (file)
Binary files a/pc-bios/bios.bin and b/pc-bios/bios.bin differ
index 86c36c11d179e544f50be365ec17f1ffa506324e..660d6d3347ea04a3a00443fe167ec70c8aac80d0 100644 (file)
@@ -1,10 +1,32 @@
+Index: rombios.c
+===================================================================
+RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
+retrieving revision 1.174
+diff -u -w -r1.174 rombios.c
+--- rombios.c  17 Oct 2006 16:48:05 -0000      1.174
++++ rombios.c  8 Feb 2007 21:57:48 -0000
+@@ -9472,6 +9472,14 @@
+   mov eax, #0x00040000
+   call eax
++  ;; reset the memory (some boot loaders such as syslinux suppose 
++  ;; that the memory is set to zero)
++  mov edi, #0x00040000
++  mov ecx, #0x40000 / 4
++  xor eax, eax
++  rep 
++    stosd
++
+   ;; return to 16 bit protected mode first
+   db 0xea
+   dd rombios32_10
 Index: rombios.h
 ===================================================================
 RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v
 retrieving revision 1.3
 diff -u -w -r1.3 rombios.h
 --- rombios.h  3 Oct 2006 20:27:30 -0000       1.3
-+++ rombios.h  1 Nov 2006 19:16:34 -0000
++++ rombios.h  8 Feb 2007 21:57:48 -0000
 @@ -19,7 +19,7 @@
  //  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
  
@@ -20,7 +42,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v
 retrieving revision 1.8
 diff -u -w -r1.8 rombios32.c
 --- rombios32.c        3 Oct 2006 20:27:30 -0000       1.8
-+++ rombios32.c        1 Nov 2006 19:16:34 -0000
++++ rombios32.c        8 Feb 2007 21:57:48 -0000
 @@ -852,6 +852,11 @@
      int ioapic_id, i, len;
      int mp_config_table_size;