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