Update Changelog with new Xscale platforms and vmsvga.
[qemu] / pc-bios / bios.diff
index e53b8c7..660d6d3 100644 (file)
@@ -1,43 +1,57 @@
 Index: rombios.c
 ===================================================================
 RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
-retrieving revision 1.108
-diff -u -w -r1.108 rombios.c
---- rombios.c  9 Feb 2004 16:48:50 -0000       1.108
-+++ rombios.c  16 May 2004 13:44:26 -0000
-@@ -2254,6 +2254,7 @@
-       type      = read_byte(get_SS(),buffer+1) & 0x1f;
-       removable = (read_byte(get_SS(),buffer+0) & 0x80) ? 1 : 0;
-       mode      = read_byte(get_SS(),buffer+96) ? ATA_MODE_PIO32 : ATA_MODE_PIO16;
-+      blksize   = 2048;
+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
  
-       write_byte(ebda_seg,&EbdaData->ata.devices[device].device, type);
-       write_byte(ebda_seg,&EbdaData->ata.devices[device].removable, removable);
-@@ -3781,7 +3782,17 @@
-           write_word(ebda_seg, 0x0022, mouse_driver_offset);
-           write_word(ebda_seg, 0x0024, mouse_driver_seg);
-           mouse_flags_2 = read_byte(ebda_seg, 0x0027);
-+          if (mouse_driver_offset == 0 && 
-+              mouse_driver_seg == 0) {
-+              /* remove handler */
-+              if ( (mouse_flags_2 & 0x80) != 0 ) {
-+                  mouse_flags_2 &= ~0x80;
-+                  inhibit_mouse_int_and_events(); // disable IRQ12 and packets
-+              }
-+          } else {
-+              /* install handler */
-           mouse_flags_2 |= 0x80;
-+          }
-           write_byte(ebda_seg, 0x0027, mouse_flags_2);
-           CLEAR_CF();
-           regs.u.r8.ah = 0;
-@@ -4409,7 +4420,8 @@
-   mouse_flags_2 = read_byte(ebda_seg, 0x0027);
++  ;; 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  8 Feb 2007 21:57:48 -0000
+@@ -19,7 +19,7 @@
+ //  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
+ /* define it to include QEMU specific code */
+-//#define BX_QEMU
++#define BX_QEMU
  
-   if ( (mouse_flags_2 & 0x80) != 0x80 ) {
--    BX_PANIC("int74_function:\n");
-+      //    BX_PANIC("int74_function:\n");
-+      return;
-     }
+ #ifndef LEGACY
+ #  define BX_ROMBIOS32     1
+Index: rombios32.c
+===================================================================
+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        8 Feb 2007 21:57:48 -0000
+@@ -852,6 +852,11 @@
+     int ioapic_id, i, len;
+     int mp_config_table_size;
  
-   package_count = mouse_flags_2 & 0x07;
++#ifdef BX_QEMU
++    if (smp_cpus <= 1)
++        return;
++#endif
++
+ #ifdef BX_USE_EBDA_TABLES
+     mp_config_table = (uint8_t *)(ram_size - ACPI_DATA_SIZE - MPTABLE_MAX_SIZE);
+ #else