Index: rombios.h =================================================================== RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v retrieving revision 1.3 diff -u -r1.3 rombios.h --- rombios.h 3 Oct 2006 20:27:30 -0000 1.3 +++ rombios.h 1 Feb 2007 19:51:14 -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.8 diff -u -r1.8 rombios32.c --- rombios32.c 3 Oct 2006 20:27:30 -0000 1.8 +++ rombios32.c 1 Feb 2007 19:51:15 -0000 @@ -852,6 +852,11 @@ int ioapic_id, i, len; int mp_config_table_size; +#ifdef BX_QEMU + if (smp_cpus <= 1) + return; +#endif + #ifdef BX_USE_EBDA_TABLES mp_config_table = (uint8_t *)(ram_size - ACPI_DATA_SIZE - MPTABLE_MAX_SIZE); #else @@ -1276,6 +1281,7 @@ rsdp->checksum = acpi_checksum((void *)rsdp, 20); /* RSDT */ + memset(rsdt, 0, sizeof(*rsdt)); rsdt->table_offset_entry[0] = cpu_to_le32(fadt_addr); rsdt->table_offset_entry[1] = cpu_to_le32(madt_addr); acpi_build_table_header((struct acpi_table_header *)rsdt,