6cc9215ea5
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4115 c046a42c-6fe2-441c-8c8c-71466251a162
53 lines
1.6 KiB
Diff
53 lines
1.6 KiB
Diff
Index: rombios.h
|
|
===================================================================
|
|
RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v
|
|
retrieving revision 1.6
|
|
diff -u -d -p -r1.6 rombios.h
|
|
--- rombios.h 26 Jan 2008 09:15:27 -0000 1.6
|
|
+++ rombios.h 28 Mar 2008 10:22:04 -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
|
|
|
|
#ifndef LEGACY
|
|
# define BX_ROMBIOS32 1
|
|
Index: rombios32.c
|
|
===================================================================
|
|
RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v
|
|
retrieving revision 1.24
|
|
diff -u -d -p -r1.24 rombios32.c
|
|
--- rombios32.c 6 Mar 2008 20:18:20 -0000 1.24
|
|
+++ rombios32.c 28 Mar 2008 10:22:04 -0000
|
|
@@ -477,7 +477,12 @@ void smp_probe(void)
|
|
sipi_vector = AP_BOOT_ADDR >> 12;
|
|
writel(APIC_BASE + APIC_ICR_LOW, 0x000C4600 | sipi_vector);
|
|
|
|
+#ifndef BX_QEMU
|
|
delay_ms(10);
|
|
+#else
|
|
+ while (cmos_readb(0x5f) + 1 != readw((void *)CPU_COUNT_ADDR))
|
|
+ ;
|
|
+#endif
|
|
|
|
smp_cpus = readw((void *)CPU_COUNT_ADDR);
|
|
}
|
|
Index: rombios32start.S
|
|
===================================================================
|
|
RCS file: /cvsroot/bochs/bochs/bios/rombios32start.S,v
|
|
retrieving revision 1.4
|
|
diff -u -d -p -r1.4 rombios32start.S
|
|
--- rombios32start.S 26 Jan 2008 09:15:27 -0000 1.4
|
|
+++ rombios32start.S 28 Mar 2008 10:22:04 -0000
|
|
@@ -42,7 +42,7 @@ _start:
|
|
smp_ap_boot_code_start:
|
|
xor %ax, %ax
|
|
mov %ax, %ds
|
|
- incw CPU_COUNT_ADDR
|
|
+ lock incw CPU_COUNT_ADDR
|
|
1:
|
|
hlt
|
|
jmp 1b
|