Index: rombios.h
===================================================================
RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v
retrieving revision 1.2
diff -u -w -r1.2 rombios.h
--- rombios.h	1 Oct 2006 16:39:18 -0000	1.2
+++ rombios.h	2 Oct 2006 18:31:41 -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
 
 #define BX_ROMBIOS32     1
 #define DEBUG_ROMBIOS    0
Index: rombios32.c
===================================================================
RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v
retrieving revision 1.6
diff -u -w -r1.6 rombios32.c
--- rombios32.c	2 Oct 2006 06:29:37 -0000	1.6
+++ rombios32.c	2 Oct 2006 18:31:41 -0000
@@ -45,6 +45,8 @@
                 : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) \
                 : "0" (index))
 
+#define wbinvd() asm volatile("wbinvd")
+
 #define CPUID_APIC (1 << 9)
 
 #define APIC_BASE    ((uint8_t *)0xfee00000)
@@ -591,6 +593,7 @@
     PCIDevice *d = &i440_pcidev;
     int v;
 
+    wbinvd();
     v = pci_config_readb(d, 0x59);
     v = (v & 0x0f) | (0x10);
     pci_config_writeb(d, 0x59, v);
@@ -645,7 +648,7 @@
     outb(0xb3, 0x01);
 
     /* raise an SMI interrupt */
-    outb(0xb2, 0x01);
+    outb(0xb2, 0x00);
 
     /* wait until SMM code executed */
     while (inb(0xb3) != 0x00);
@@ -656,6 +659,7 @@
     /* copy the SMM code */
     memcpy((void *)0xa8000, &smm_code_start,
            &smm_code_end - &smm_code_start);
+    wbinvd();
     
     /* close the SMM memory window and enable normal SMM */
     pci_config_writeb(&i440_pcidev, 0x72, 0x02 | 0x08);
@@ -848,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
