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 | 6cb8ba9 | 2008-08-17 11:03:24 -0400 | [diff] [blame] | 8 | //#define CONFIG_APPNAME "QEMU" |
| 9 | //#define CONFIG_CPUNAME8 "QEMUCPU " |
| 10 | //#define CONFIG_APPNAME6 "QEMU " |
| 11 | //#define CONFIG_APPNAME4 "QEMU" |
| 12 | #define CONFIG_APPNAME "Bochs" |
| 13 | #define CONFIG_CPUNAME8 "BOCHSCPU" |
| 14 | #define CONFIG_APPNAME6 "BOCHS " |
| 15 | #define CONFIG_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 |
| 18 | #define CONFIG_MAX_E820 32 |
Kevin O'Connor | d7e998f | 2010-02-15 22:48:28 -0500 | [diff] [blame] | 19 | // Space to reserve in f-segment for dynamic allocations |
Kevin O'Connor | 8e62a90 | 2009-02-08 17:10:48 -0500 | [diff] [blame] | 20 | #define CONFIG_MAX_BIOSTABLE 2048 |
Kevin O'Connor | 2929c35 | 2009-07-25 13:48:27 -0400 | [diff] [blame] | 21 | // Space to reserve in high-memory for tables |
| 22 | #define CONFIG_MAX_HIGHTABLE (64*1024) |
Kevin O'Connor | c892b13 | 2009-08-11 21:59:37 -0400 | [diff] [blame] | 23 | // Largest supported externaly facing drive id |
| 24 | #define CONFIG_MAX_EXTDRIVE 16 |
Kevin O'Connor | 38fcbfe | 2008-02-25 22:30:47 -0500 | [diff] [blame] | 25 | |
Kevin O'Connor | 44c631d | 2008-03-02 11:24:36 -0500 | [diff] [blame] | 26 | #define CONFIG_MODEL_ID 0xFC |
| 27 | #define CONFIG_SUBMODEL_ID 0x00 |
| 28 | #define CONFIG_BIOS_REVISION 0x01 |
| 29 | |
Kevin O'Connor | 276d4a9 | 2008-06-11 22:47:01 -0400 | [diff] [blame] | 30 | // Various memory addresses used by the code. |
Kevin O'Connor | 494dfc6 | 2009-11-20 09:22:19 -0500 | [diff] [blame] | 31 | #define BUILD_STACK_ADDR 0x7000 |
Kevin O'Connor | 9967ab7 | 2008-12-18 21:57:33 -0500 | [diff] [blame] | 32 | #define BUILD_S3RESUME_STACK_ADDR 0x1000 |
| 33 | #define BUILD_AP_BOOT_ADDR 0x10000 |
Kevin O'Connor | f416fe9 | 2009-09-24 20:51:55 -0400 | [diff] [blame] | 34 | #define BUILD_EBDA_MINIMUM 0x90000 |
| 35 | #define BUILD_LOWRAM_END 0xa0000 |
Kevin O'Connor | e773930 | 2009-07-26 19:16:09 -0400 | [diff] [blame] | 36 | #define BUILD_ROM_START 0xc0000 |
Kevin O'Connor | 9967ab7 | 2008-12-18 21:57:33 -0500 | [diff] [blame] | 37 | #define BUILD_BIOS_ADDR 0xf0000 |
| 38 | #define BUILD_BIOS_SIZE 0x10000 |
Kevin O'Connor | e773930 | 2009-07-26 19:16:09 -0400 | [diff] [blame] | 39 | // 32KB for shadow ram copying (works around emulator deficiencies) |
| 40 | #define BUILD_BIOS_TMP_ADDR 0x30000 |
Kevin O'Connor | afc02da | 2009-12-23 21:24:27 -0500 | [diff] [blame] | 41 | #define BUILD_MAX_HIGHMEM 0xe0000000 |
Isaku Yamahata | 0a8eada | 2010-06-22 17:57:49 +0900 | [diff] [blame] | 42 | |
Gerd Hoffmann | 77b8536 | 2011-07-11 09:20:32 +0200 | [diff] [blame] | 43 | #define BUILD_PCIMEM_START 0xe0000000 |
Isaku Yamahata | 0a8eada | 2010-06-22 17:57:49 +0900 | [diff] [blame] | 44 | #define BUILD_PCIMEM_SIZE (BUILD_PCIMEM_END - BUILD_PCIMEM_START) |
| 45 | #define BUILD_PCIMEM_END 0xfec00000 /* IOAPIC is mapped at */ |
Kevin O'Connor | 276d4a9 | 2008-06-11 22:47:01 -0400 | [diff] [blame] | 46 | |
Kevin O'Connor | 9967ab7 | 2008-12-18 21:57:33 -0500 | [diff] [blame] | 47 | #define BUILD_APIC_ADDR 0xfee00000 |
| 48 | #define BUILD_IOAPIC_ADDR 0xfec00000 |
Kevin O'Connor | f5c1161 | 2008-12-14 10:11:45 -0500 | [diff] [blame] | 49 | |
Kevin O'Connor | 9967ab7 | 2008-12-18 21:57:33 -0500 | [diff] [blame] | 50 | #define BUILD_SMM_INIT_ADDR 0x38000 |
| 51 | #define BUILD_SMM_ADDR 0xa8000 |
| 52 | #define BUILD_SMM_SIZE 0x8000 |
Kevin O'Connor | 276d4a9 | 2008-06-11 22:47:01 -0400 | [diff] [blame] | 53 | |
Kevin O'Connor | 32f0387 | 2011-08-03 20:45:32 -0400 | [diff] [blame^] | 54 | #define BUILD_MAX_SMBIOS_FSEG 600 |
| 55 | |
Kevin O'Connor | 1492708 | 2008-11-08 19:07:49 -0500 | [diff] [blame] | 56 | // Important real-mode segments |
Kevin O'Connor | 8c0e372 | 2009-01-02 14:19:43 -0500 | [diff] [blame] | 57 | #define SEG_IVT 0x0000 |
| 58 | #define SEG_BDA 0x0040 |
Kevin O'Connor | 9521e26 | 2008-07-04 13:04:29 -0400 | [diff] [blame] | 59 | #define SEG_BIOS 0xf000 |
Kevin O'Connor | 9521e26 | 2008-07-04 13:04:29 -0400 | [diff] [blame] | 60 | |
Kevin O'Connor | b24c574 | 2009-01-17 21:52:52 -0500 | [diff] [blame] | 61 | // Segment definitions in protected mode (see rombios32_gdt in misc.c) |
Kevin O'Connor | 3085376 | 2009-01-17 18:49:20 -0500 | [diff] [blame] | 62 | #define SEG32_MODE32_CS (1 << 3) |
| 63 | #define SEG32_MODE32_DS (2 << 3) |
| 64 | #define SEG32_MODE16_CS (3 << 3) |
| 65 | #define SEG32_MODE16_DS (4 << 3) |
| 66 | #define SEG32_MODE16BIG_CS (5 << 3) |
| 67 | #define SEG32_MODE16BIG_DS (6 << 3) |
Kevin O'Connor | 1492708 | 2008-11-08 19:07:49 -0500 | [diff] [blame] | 68 | |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 69 | // Debugging levels. If non-zero and CONFIG_DEBUG_LEVEL is greater |
| 70 | // than the specified value, then the corresponding irq handler will |
| 71 | // report every enter event. |
Kevin O'Connor | 75f49b3 | 2009-03-07 00:07:24 -0500 | [diff] [blame] | 72 | #define DEBUG_ISR_02 1 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 73 | #define DEBUG_HDL_05 1 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 74 | #define DEBUG_ISR_08 20 |
| 75 | #define DEBUG_ISR_09 9 |
| 76 | #define DEBUG_ISR_0e 9 |
| 77 | #define DEBUG_HDL_10 20 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 78 | #define DEBUG_HDL_11 2 |
| 79 | #define DEBUG_HDL_12 2 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 80 | #define DEBUG_HDL_13 10 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 81 | #define DEBUG_HDL_14 2 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 82 | #define DEBUG_HDL_15 9 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 83 | #define DEBUG_HDL_16 9 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 84 | #define DEBUG_HDL_17 2 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 85 | #define DEBUG_HDL_18 1 |
| 86 | #define DEBUG_HDL_19 1 |
| 87 | #define DEBUG_HDL_1a 9 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 88 | #define DEBUG_HDL_40 1 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 89 | #define DEBUG_ISR_70 9 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 90 | #define DEBUG_ISR_74 9 |
Kevin O'Connor | c541e1b | 2008-06-21 12:24:14 -0400 | [diff] [blame] | 91 | #define DEBUG_ISR_75 1 |
| 92 | #define DEBUG_ISR_76 10 |
Kevin O'Connor | eac894d | 2009-02-05 21:23:39 -0500 | [diff] [blame] | 93 | #define DEBUG_ISR_hwpic1 5 |
| 94 | #define DEBUG_ISR_hwpic2 5 |
Kevin O'Connor | 0c3068d | 2008-12-21 17:51:36 -0500 | [diff] [blame] | 95 | #define DEBUG_HDL_pnp 1 |
Kevin O'Connor | e54ee38 | 2009-07-26 19:33:13 -0400 | [diff] [blame] | 96 | #define DEBUG_HDL_pmm 1 |
Kevin O'Connor | 871e0a0 | 2009-12-30 12:14:53 -0500 | [diff] [blame] | 97 | #define DEBUG_HDL_pcibios32 9 |
Kevin O'Connor | c003148 | 2010-01-01 13:03:17 -0500 | [diff] [blame] | 98 | #define DEBUG_HDL_apm 9 |
Kevin O'Connor | dfefeb5 | 2009-12-13 13:04:17 -0500 | [diff] [blame] | 99 | |
| 100 | #define DEBUG_unimplemented 2 |
| 101 | #define DEBUG_invalid 3 |
Kevin O'Connor | 9803280 | 2009-12-09 20:18:31 -0500 | [diff] [blame] | 102 | #define DEBUG_thread 2 |
Kevin O'Connor | 15c1f22 | 2008-06-12 22:59:43 -0400 | [diff] [blame] | 103 | |
Kevin O'Connor | bdce35f | 2008-02-26 21:33:14 -0500 | [diff] [blame] | 104 | #endif // config.h |