Statistics
| Branch: | Revision:

root / pc-bios / bios-pq / 0003_smp-startup-poll.patch @ dfb5e54b

History | View | Annotate | Download (560 Bytes)

1 ca7b25e3 aliguori
From: Avi Kivity <avi@qumranet.com>
2 ca7b25e3 aliguori
3 ca7b25e3 aliguori
instead of timing out, wait until all cpus are up
4 ca7b25e3 aliguori
5 ca7b25e3 aliguori
diff --git a/bios/rombios32.c b/bios/rombios32.c
6 ca7b25e3 aliguori
index ef98a41..05ba40d 100644
7 ca7b25e3 aliguori
--- a/bios/rombios32.c
8 ca7b25e3 aliguori
+++ b/bios/rombios32.c
9 ca7b25e3 aliguori
@@ -512,7 +512,12 @@ void smp_probe(void)
10 ca7b25e3 aliguori
         sipi_vector = AP_BOOT_ADDR >> 12;
11 ca7b25e3 aliguori
         writel(APIC_BASE + APIC_ICR_LOW, 0x000C4600 | sipi_vector);
12 ca7b25e3 aliguori
 
13 ca7b25e3 aliguori
+#ifndef BX_QEMU
14 ca7b25e3 aliguori
         delay_ms(10);
15 ca7b25e3 aliguori
+#else
16 ca7b25e3 aliguori
+        while (cmos_readb(0x5f) + 1 != readw(&smp_cpus))
17 ca7b25e3 aliguori
+            ;
18 ca7b25e3 aliguori
+#endif
19 ca7b25e3 aliguori
     }
20 ca7b25e3 aliguori
     BX_INFO("Found %d cpu(s)\n", readw(&smp_cpus));
21 ca7b25e3 aliguori
 }