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 | } |