Commit 6cc9215ea512d05c249d4841441335f87e1b02c2

Authored by aurel32
1 parent 298e01b6

update from latest Bochs BIOS


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4115 c046a42c-6fe2-441c-8c8c-71466251a162
pc-bios/bios.bin
No preview for this file type
pc-bios/bios.diff
1 -Index: rombios.c  
2 -===================================================================  
3 -RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v  
4 -retrieving revision 1.174  
5 -diff -u -w -r1.174 rombios.c  
6 ---- rombios.c 17 Oct 2006 16:48:05 -0000 1.174  
7 -+++ rombios.c 8 Feb 2007 21:57:48 -0000  
8 -@@ -9472,6 +9472,14 @@  
9 - mov eax, #0x00040000  
10 - call eax  
11 -  
12 -+ ;; reset the memory (some boot loaders such as syslinux suppose  
13 -+ ;; that the memory is set to zero)  
14 -+ mov edi, #0x00040000  
15 -+ mov ecx, #0x40000 / 4  
16 -+ xor eax, eax  
17 -+ rep  
18 -+ stosd  
19 -+  
20 - ;; return to 16 bit protected mode first  
21 - db 0xea  
22 - dd rombios32_10  
23 Index: rombios.h 1 Index: rombios.h
24 =================================================================== 2 ===================================================================
25 RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v 3 RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v
26 -retrieving revision 1.3  
27 -diff -u -w -r1.3 rombios.h  
28 ---- rombios.h 3 Oct 2006 20:27:30 -0000 1.3  
29 -+++ rombios.h 8 Feb 2007 21:57:48 -0000 4 +retrieving revision 1.6
  5 +diff -u -d -p -r1.6 rombios.h
  6 +--- rombios.h 26 Jan 2008 09:15:27 -0000 1.6
  7 ++++ rombios.h 28 Mar 2008 10:22:04 -0000
30 @@ -19,7 +19,7 @@ 8 @@ -19,7 +19,7 @@
31 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 9 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
32 10
@@ -39,19 +17,36 @@ diff -u -w -r1.3 rombios.h @@ -39,19 +17,36 @@ diff -u -w -r1.3 rombios.h
39 Index: rombios32.c 17 Index: rombios32.c
40 =================================================================== 18 ===================================================================
41 RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v 19 RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v
42 -retrieving revision 1.8  
43 -diff -u -w -r1.8 rombios32.c  
44 ---- rombios32.c 3 Oct 2006 20:27:30 -0000 1.8  
45 -+++ rombios32.c 8 Feb 2007 21:57:48 -0000  
46 -@@ -852,6 +852,11 @@  
47 - int ioapic_id, i, len;  
48 - int mp_config_table_size; 20 +retrieving revision 1.24
  21 +diff -u -d -p -r1.24 rombios32.c
  22 +--- rombios32.c 6 Mar 2008 20:18:20 -0000 1.24
  23 ++++ rombios32.c 28 Mar 2008 10:22:04 -0000
  24 +@@ -477,7 +477,12 @@ void smp_probe(void)
  25 + sipi_vector = AP_BOOT_ADDR >> 12;
  26 + writel(APIC_BASE + APIC_ICR_LOW, 0x000C4600 | sipi_vector);
49 27
50 -+#ifdef BX_QEMU  
51 -+ if (smp_cpus <= 1)  
52 -+ return; 28 ++#ifndef BX_QEMU
  29 + delay_ms(10);
  30 ++#else
  31 ++ while (cmos_readb(0x5f) + 1 != readw((void *)CPU_COUNT_ADDR))
  32 ++ ;
53 +#endif 33 +#endif
54 -+  
55 - #ifdef BX_USE_EBDA_TABLES  
56 - mp_config_table = (uint8_t *)(ram_size - ACPI_DATA_SIZE - MPTABLE_MAX_SIZE);  
57 - #else 34 +
  35 + smp_cpus = readw((void *)CPU_COUNT_ADDR);
  36 + }
  37 +Index: rombios32start.S
  38 +===================================================================
  39 +RCS file: /cvsroot/bochs/bochs/bios/rombios32start.S,v
  40 +retrieving revision 1.4
  41 +diff -u -d -p -r1.4 rombios32start.S
  42 +--- rombios32start.S 26 Jan 2008 09:15:27 -0000 1.4
  43 ++++ rombios32start.S 28 Mar 2008 10:22:04 -0000
  44 +@@ -42,7 +42,7 @@ _start:
  45 + smp_ap_boot_code_start:
  46 + xor %ax, %ax
  47 + mov %ax, %ds
  48 +- incw CPU_COUNT_ADDR
  49 ++ lock incw CPU_COUNT_ADDR
  50 + 1:
  51 + hlt
  52 + jmp 1b