qemu/pc-bios/bios-pq/0003_smp-startup-poll.patch
aliguori ca7b25e3ab Update to the latest Bochs BIOS
Update the PC BIOS to the latest version, split out the patches into 
patch series, and update the README to point to the new location of the 
Bochs BIOS source tree.

Also update the gitignore to allow the patch queue directory to be used.



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6077 c046a42c-6fe2-441c-8c8c-71466251a162
2008-12-17 21:35:49 +00:00

22 lines
560 B
Diff

From: Avi Kivity <avi@qumranet.com>
instead of timing out, wait until all cpus are up
diff --git a/bios/rombios32.c b/bios/rombios32.c
index ef98a41..05ba40d 100644
--- a/bios/rombios32.c
+++ b/bios/rombios32.c
@@ -512,7 +512,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(&smp_cpus))
+ ;
+#endif
}
BX_INFO("Found %d cpu(s)\n", readw(&smp_cpus));
}