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