Kevin O'Connor | bdce35f | 2008-02-26 21:33:14 -0500 | [diff] [blame] | 1 | #ifndef __CONFIG_H |
| 2 | #define __CONFIG_H |
Kevin O'Connor | d9b0659 | 2008-05-06 20:00:12 -0400 | [diff] [blame] | 3 | |
Kevin O'Connor | 3dba4c2 | 2011-01-29 11:26:54 -0500 | [diff] [blame] | 4 | #include "autoconf.h" |
Kevin O'Connor | 713be89 | 2011-01-26 21:19:25 -0500 | [diff] [blame] | 5 | |
Kevin O'Connor | f076a3e | 2008-02-25 22:25:15 -0500 | [diff] [blame] | 6 | // Configuration definitions. |
| 7 | |
Kevin O'Connor | e52ad39 | 2013-02-20 23:48:22 -0500 | [diff] [blame] | 8 | //#define BUILD_APPNAME "QEMU" |
| 9 | //#define BUILD_CPUNAME8 "QEMUCPU " |
| 10 | //#define BUILD_APPNAME6 "QEMU " |
| 11 | //#define BUILD_APPNAME4 "QEMU" |
| 12 | #define BUILD_APPNAME "Bochs" |
| 13 | #define BUILD_CPUNAME8 "BOCHSCPU" |
| 14 | #define BUILD_APPNAME6 "BOCHS " |
| 15 | #define BUILD_APPNAME4 "BXPC" |
Kevin O'Connor | d9b0659 | 2008-05-06 20:00:12 -0400 | [diff] [blame] | 16 | |
Kevin O'Connor | d995b3d | 2008-11-08 13:05:27 -0500 | [diff] [blame] | 17 | // Maximum number of map entries in the e820 map |
Kevin O'Connor | e52ad39 | 2013-02-20 23:48:22 -0500 | [diff] [blame] | 18 | #define BUILD_MAX_E820 32 |
Kevin O'Connor | 2929c35 | 2009-07-25 13:48:27 -0400 | [diff] [blame] | 19 | // Space to reserve in high-memory for tables |
Gerd Hoffmann | dc88f9b | 2022-04-25 09:25:31 +0200 | [diff] [blame^] | 20 | #define BUILD_MIN_HIGHTABLE (256*1024) |
| 21 | #define BUILD_MAX_HIGHTABLE (16*1024*1024) |
Kevin O'Connor | c892b13 | 2009-08-11 21:59:37 -0400 | [diff] [blame] | 22 | // Largest supported externaly facing drive id |
Kevin O'Connor | e52ad39 | 2013-02-20 23:48:22 -0500 | [diff] [blame] | 23 | #define BUILD_MAX_EXTDRIVE 16 |
Kevin O'Connor | 7859eda | 2011-09-20 19:40:28 -0400 | [diff] [blame] | 24 | // Number of bytes the smbios may be and still live in the f-segment |
| 25 | #define BUILD_MAX_SMBIOS_FSEG 600 |
Kevin O'Connor | 9ee2e26 | 2015-08-03 10:16:39 -0400 | [diff] [blame] | 26 | // Maximum number of bytes the mptable may be and still be copied to f-segment |
| 27 | #define BUILD_MAX_MPTABLE_FSEG 600 |
Kevin O'Connor | 38fcbfe | 2008-02-25 22:30:47 -0500 | [diff] [blame] | 28 | |
Kevin O'Connor | e52ad39 | 2013-02-20 23:48:22 -0500 | [diff] [blame] | 29 | #define BUILD_MODEL_ID 0xFC |
| 30 | #define BUILD_SUBMODEL_ID 0x00 |
| 31 | #define BUILD_BIOS_REVISION 0x01 |
Kevin O'Connor | 44c631d | 2008-03-02 11:24:36 -0500 | [diff] [blame] | 32 | |
Kevin O'Connor | 276d4a9 | 2008-06-11 22:47:01 -0400 | [diff] [blame] | 33 | // Various memory addresses used by the code. |
Kevin O'Connor | 494dfc6 | 2009-11-20 09:22:19 -0500 | [diff] [blame] | 34 | #define BUILD_STACK_ADDR 0x7000 |
Kevin O'Connor | 9967ab7 | 2008-12-18 21:57:33 -0500 | [diff] [blame] | 35 | #define BUILD_S3RESUME_STACK_ADDR 0x1000 |
| 36 | #define BUILD_AP_BOOT_ADDR 0x10000 |
Kevin O'Connor | f416fe9 | 2009-09-24 20:51:55 -0400 | [diff] [blame] | 37 | #define BUILD_EBDA_MINIMUM 0x90000 |
| 38 | #define BUILD_LOWRAM_END 0xa0000 |
Kevin O'Connor | e773930 | 2009-07-26 19:16:09 -0400 | [diff] [blame] | 39 | #define BUILD_ROM_START 0xc0000 |
Kevin O'Connor | 9967ab7 | 2008-12-18 21:57:33 -0500 | [diff] [blame] | 40 | #define BUILD_BIOS_ADDR 0xf0000 |
| 41 | #define BUILD_BIOS_SIZE 0x10000 |
Kevin O'Connor | 46b8262 | 2012-05-13 12:10:30 -0400 | [diff] [blame] | 42 | #define BUILD_EXTRA_STACK_SIZE 0x800 |
Kevin O'Connor | 31bcda2 | 2014-05-28 13:33:50 -0400 | [diff] [blame] | 43 | #define BUILD_SMM_INIT_ADDR 0x30000 |
| 44 | #define BUILD_SMM_ADDR 0xa0000 |
Kevin O'Connor | 276d4a9 | 2008-06-11 22:47:01 -0400 | [diff] [blame] | 45 | |
Kevin O'Connor | 7859eda | 2011-09-20 19:40:28 -0400 | [diff] [blame] | 46 | #define BUILD_PCIMEM_START 0xe0000000 |
| 47 | #define BUILD_PCIMEM_END 0xfec00000 /* IOAPIC is mapped at */ |
Alexey Korolev | e5e5f96 | 2012-04-26 17:01:59 +1200 | [diff] [blame] | 48 | #define BUILD_PCIMEM64_START 0x8000000000ULL |
| 49 | #define BUILD_PCIMEM64_END 0x10000000000ULL |
Kevin O'Connor | 7859eda | 2011-09-20 19:40:28 -0400 | [diff] [blame] | 50 | |
| 51 | #define BUILD_IOAPIC_ADDR 0xfec00000 |
Eduardo Habkost | e39b938 | 2012-07-25 15:45:29 -0300 | [diff] [blame] | 52 | #define BUILD_IOAPIC_ID 0 |
Kevin O'Connor | 7859eda | 2011-09-20 19:40:28 -0400 | [diff] [blame] | 53 | #define BUILD_HPET_ADDRESS 0xfed00000 |
| 54 | #define BUILD_APIC_ADDR 0xfee00000 |
Kevin O'Connor | 32f0387 | 2011-08-03 20:45:32 -0400 | [diff] [blame] | 55 | |
Kevin O'Connor | d838815 | 2013-03-18 20:26:54 -0400 | [diff] [blame] | 56 | // PCI IRQS |
Kevin O'Connor | 028f348 | 2014-04-11 12:08:33 -0400 | [diff] [blame] | 57 | #define BUILD_PCI_IRQS ((1<<5) | (1<<9) | (1<<10) | (1<<11)) |
Kevin O'Connor | d838815 | 2013-03-18 20:26:54 -0400 | [diff] [blame] | 58 | |
Kevin O'Connor | 1492708 | 2008-11-08 19:07:49 -0500 | [diff] [blame] | 59 | // Important real-mode segments |
Kevin O'Connor | 8c0e372 | 2009-01-02 14:19:43 -0500 | [diff] [blame] | 60 | #define SEG_IVT 0x0000 |
| 61 | #define SEG_BDA 0x0040 |
Kevin O'Connor | 9521e26 | 2008-07-04 13:04:29 -0400 | [diff] [blame] | 62 | #define SEG_BIOS 0xf000 |
Kevin O'Connor | 9521e26 | 2008-07-04 13:04:29 -0400 | [diff] [blame] | 63 | |
Kevin O'Connor | b24c574 | 2009-01-17 21:52:52 -0500 | [diff] [blame] | 64 | // Segment definitions in protected mode (see rombios32_gdt in misc.c) |
Kevin O'Connor | 3085376 | 2009-01-17 18:49:20 -0500 | [diff] [blame] | 65 | #define SEG32_MODE32_CS (1 << 3) |
| 66 | #define SEG32_MODE32_DS (2 << 3) |
| 67 | #define SEG32_MODE16_CS (3 << 3) |
| 68 | #define SEG32_MODE16_DS (4 << 3) |
| 69 | #define SEG32_MODE16BIG_CS (5 << 3) |
| 70 | #define SEG32_MODE16BIG_DS (6 << 3) |
Kevin O'Connor | 1492708 | 2008-11-08 19:07:49 -0500 | [diff] [blame] | 71 | |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 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. |
Kevin O'Connor | 75f49b3 | 2009-03-07 00:07:24 -0500 | [diff] [blame] | 75 | #define DEBUG_ISR_02 1 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 76 | #define DEBUG_HDL_05 1 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 77 | #define DEBUG_ISR_08 20 |
| 78 | #define DEBUG_ISR_09 9 |
| 79 | #define DEBUG_ISR_0e 9 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 80 | #define DEBUG_HDL_11 2 |
| 81 | #define DEBUG_HDL_12 2 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 82 | #define DEBUG_HDL_13 10 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 83 | #define DEBUG_HDL_14 2 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 84 | #define DEBUG_HDL_15 9 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 85 | #define DEBUG_HDL_16 9 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 86 | #define DEBUG_HDL_17 2 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 87 | #define DEBUG_HDL_18 1 |
| 88 | #define DEBUG_HDL_19 1 |
| 89 | #define DEBUG_HDL_1a 9 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 90 | #define DEBUG_HDL_40 1 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 91 | #define DEBUG_ISR_70 9 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 92 | #define DEBUG_ISR_74 9 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 93 | #define DEBUG_ISR_75 1 |
| 94 | #define DEBUG_ISR_76 10 |
Kevin O'Connor | eac894d | 2009-02-05 21:23:39 -0500 | [diff] [blame] | 95 | #define DEBUG_ISR_hwpic1 5 |
| 96 | #define DEBUG_ISR_hwpic2 5 |
Kevin O'Connor | f4c511c | 2014-04-07 19:49:12 -0400 | [diff] [blame] | 97 | #define DEBUG_HDL_smi 9 |
Kevin O'Connor | 0673b78 | 2014-05-24 10:49:50 -0400 | [diff] [blame] | 98 | #define DEBUG_HDL_smp 1 |
Kevin O'Connor | 0c3068d | 2008-12-21 17:51:36 -0500 | [diff] [blame] | 99 | #define DEBUG_HDL_pnp 1 |
Kevin O'Connor | e54ee38 | 2009-07-26 19:33:13 -0400 | [diff] [blame] | 100 | #define DEBUG_HDL_pmm 1 |
Kevin O'Connor | 922aa1b | 2013-03-02 04:02:11 -0500 | [diff] [blame] | 101 | #define DEBUG_HDL_pcibios 9 |
Kevin O'Connor | c003148 | 2010-01-01 13:03:17 -0500 | [diff] [blame] | 102 | #define DEBUG_HDL_apm 9 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 103 | |
| 104 | #define DEBUG_unimplemented 2 |
| 105 | #define DEBUG_invalid 3 |
Kevin O'Connor | 9803280 | 2009-12-09 20:18:31 -0500 | [diff] [blame] | 106 | #define DEBUG_thread 2 |
Stefan Berger | b310dfa | 2015-03-23 14:22:16 -0400 | [diff] [blame] | 107 | #define DEBUG_tcg 20 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 108 | |
Kevin O'Connor | bdce35f | 2008-02-26 21:33:14 -0500 | [diff] [blame] | 109 | #endif // config.h |