Add code (currently disabled) to mask run away irqs.
[seabios.git] / src / config.h
1 #ifndef __CONFIG_H
2 #define __CONFIG_H
3
4 // Configuration definitions.
5
6 /* Dont support QEMU BIOS by default.
7  * Change CONFIG_QEMU to 1 to support QEMU. */
8 #define CONFIG_QEMU 0
9
10 #if (QEMU_SUPPORT == 1)
11 #define CONFIG_APPNAME "QEMU"
12 #else
13 #define CONFIG_APPNAME "Bochs"
14 #endif
15
16 // Configure as a coreboot payload.
17 #define CONFIG_COREBOOT 0
18
19 // Control how verbose debug output is.
20 #define CONFIG_DEBUG_LEVEL 1
21
22 // Send debugging information to serial port
23 #define CONFIG_DEBUG_SERIAL 0
24
25 #define CONFIG_FLOPPY_SUPPORT 1
26 #define CONFIG_PS2_MOUSE 1
27 #define CONFIG_ATA 1
28 #define CONFIG_KBD_CALL_INT15_4F 1
29 #define CONFIG_CDROM_BOOT 1
30 #define CONFIG_CDROM_EMU 1
31 // Support generation of a PIR table in 0xf000 segment (for emulators)
32 #define CONFIG_PIRTABLE 1
33 // Support generation of ACPI PIR tables (for emulators)
34 #define CONFIG_ACPI 1
35 // Support int 1a/b1 PCI BIOS calls
36 #define CONFIG_PCIBIOS 1
37 // Support int 15/53 APM BIOS calls
38 #define CONFIG_APMBIOS 1
39
40 /* define it if the (emulated) hardware supports SMM mode */
41 #define CONFIG_USE_SMM 1
42
43 /* if true, put the MP float table and ACPI RSDT in EBDA and the MP
44    table in RAM. Unfortunately, Linux has bugs with that, so we prefer
45    to modify the BIOS in shadow RAM */
46 #define CONFIG_USE_EBDA_TABLES 0
47
48 #define CONFIG_MAX_ATA_INTERFACES 4
49 #define CONFIG_MAX_ATA_DEVICES  (CONFIG_MAX_ATA_INTERFACES*2)
50
51 #define CONFIG_ACPI_DATA_SIZE 0x00010000L
52
53 #define CONFIG_MODEL_ID      0xFC
54 #define CONFIG_SUBMODEL_ID   0x00
55 #define CONFIG_BIOS_REVISION 0x01
56
57 // Various memory addresses used by the code.
58 #define BUILD_STACK_ADDR        0xfffe
59 #define BUILD_CPU_COUNT_ADDR    0xf000
60 #define BUILD_AP_BOOT_ADDR      0x10000
61 #define BUILD_BSS_ADDR          0x40000
62  /* 64 KB used to copy the BIOS to shadow RAM */
63 #define BUILD_BIOS_TMP_ADDR     0x30000
64
65 #define BUILD_PM_IO_BASE        0xb000
66 #define BUILD_SMB_IO_BASE       0xb100
67 #define BUILD_SMI_CMD_IO_ADDR   0xb2
68
69 // Start of fixed addresses in 0xf0000 segment.
70 #define BUILD_START_FIXED       0xe050
71
72 // Debugging levels.  If non-zero and CONFIG_DEBUG_LEVEL is greater
73 // than the specified value, then the corresponding irq handler will
74 // report every enter event.
75 #define DEBUG_ISR_nmi 1
76 #define DEBUG_HDL_05 1
77 #define DEBUG_ISR_08 20
78 #define DEBUG_ISR_09 9
79 #define DEBUG_ISR_0e 9
80 #define DEBUG_HDL_10 20
81 #define DEBUG_HDL_11 1
82 #define DEBUG_HDL_12 1
83 #define DEBUG_HDL_13 10
84 #define DEBUG_HDL_14 1
85 #define DEBUG_HDL_15 9
86 #define DEBUG_HDL_16 9
87 #define DEBUG_HDL_17 1
88 #define DEBUG_HDL_18 1
89 #define DEBUG_HDL_19 1
90 #define DEBUG_HDL_1a 9
91 #define DEBUG_ISR_1c 20
92 #define DEBUG_HDL_40 1
93 #define DEBUG_ISR_70 9
94 #define DEBUG_ISR_74 9
95 #define DEBUG_ISR_75 1
96 #define DEBUG_ISR_76 10
97 #define DEBUG_ISR_hwirq 30
98
99 #endif // config.h