2 ===================================================================
3 RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v
4 retrieving revision 1.2
5 diff -u -w -r1.2 rombios.h
6 --- rombios.h 1 Oct 2006 16:39:18 -0000 1.2
7 +++ rombios.h 2 Oct 2006 18:31:41 -0000
9 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
11 /* define it to include QEMU specific code */
15 #define BX_ROMBIOS32 1
16 #define DEBUG_ROMBIOS 0
18 ===================================================================
19 RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v
20 retrieving revision 1.6
21 diff -u -w -r1.6 rombios32.c
22 --- rombios32.c 2 Oct 2006 06:29:37 -0000 1.6
23 +++ rombios32.c 2 Oct 2006 18:31:41 -0000
25 : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) \
28 +#define wbinvd() asm volatile("wbinvd")
30 #define CPUID_APIC (1 << 9)
32 #define APIC_BASE ((uint8_t *)0xfee00000)
34 PCIDevice *d = &i440_pcidev;
38 v = pci_config_readb(d, 0x59);
39 v = (v & 0x0f) | (0x10);
40 pci_config_writeb(d, 0x59, v);
44 /* raise an SMI interrupt */
48 /* wait until SMM code executed */
49 while (inb(0xb3) != 0x00);
51 /* copy the SMM code */
52 memcpy((void *)0xa8000, &smm_code_start,
53 &smm_code_end - &smm_code_start);
56 /* close the SMM memory window and enable normal SMM */
57 pci_config_writeb(&i440_pcidev, 0x72, 0x02 | 0x08);
59 int ioapic_id, i, len;
60 int mp_config_table_size;
67 #ifdef BX_USE_EBDA_TABLES
68 mp_config_table = (uint8_t *)(ram_size - ACPI_DATA_SIZE - MPTABLE_MAX_SIZE);