1menu "x86 architecture" 2 depends on X86 3 4config SYS_ARCH 5 default "x86" 6 7config USE_PRIVATE_LIBGCC 8 default y 9 10config SYS_VSNPRINTF 11 default y 12 13choice 14 prompt "Mainboard vendor" 15 default VENDOR_EMULATION 16 17config VENDOR_COREBOOT 18 bool "coreboot" 19 20config VENDOR_EMULATION 21 bool "emulation" 22 23config VENDOR_GOOGLE 24 bool "Google" 25 26config VENDOR_INTEL 27 bool "Intel" 28 29endchoice 30 31# board-specific options below 32source "board/coreboot/Kconfig" 33source "board/emulation/Kconfig" 34source "board/google/Kconfig" 35source "board/intel/Kconfig" 36 37# platform-specific options below 38source "arch/x86/cpu/baytrail/Kconfig" 39source "arch/x86/cpu/coreboot/Kconfig" 40source "arch/x86/cpu/ivybridge/Kconfig" 41source "arch/x86/cpu/qemu/Kconfig" 42source "arch/x86/cpu/quark/Kconfig" 43source "arch/x86/cpu/queensbay/Kconfig" 44 45# architecture-specific options below 46 47config SYS_MALLOC_F_LEN 48 default 0x800 49 50config RAMBASE 51 hex 52 default 0x100000 53 54config XIP_ROM_SIZE 55 hex 56 depends on X86_RESET_VECTOR 57 default ROM_SIZE 58 59config CPU_ADDR_BITS 60 int 61 default 36 62 63config HPET_ADDRESS 64 hex 65 default 0xfed00000 if !HPET_ADDRESS_OVERRIDE 66 67config SMM_TSEG 68 bool 69 default n 70 71config SMM_TSEG_SIZE 72 hex 73 74config X86_RESET_VECTOR 75 bool 76 default n 77 78config SYS_X86_START16 79 hex 80 depends on X86_RESET_VECTOR 81 default 0xfffff800 82 83config BOARD_ROMSIZE_KB_512 84 bool 85config BOARD_ROMSIZE_KB_1024 86 bool 87config BOARD_ROMSIZE_KB_2048 88 bool 89config BOARD_ROMSIZE_KB_4096 90 bool 91config BOARD_ROMSIZE_KB_8192 92 bool 93config BOARD_ROMSIZE_KB_16384 94 bool 95 96choice 97 prompt "ROM chip size" 98 depends on X86_RESET_VECTOR 99 default UBOOT_ROMSIZE_KB_512 if BOARD_ROMSIZE_KB_512 100 default UBOOT_ROMSIZE_KB_1024 if BOARD_ROMSIZE_KB_1024 101 default UBOOT_ROMSIZE_KB_2048 if BOARD_ROMSIZE_KB_2048 102 default UBOOT_ROMSIZE_KB_4096 if BOARD_ROMSIZE_KB_4096 103 default UBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192 104 default UBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384 105 help 106 Select the size of the ROM chip you intend to flash U-Boot on. 107 108 The build system will take care of creating a u-boot.rom file 109 of the matching size. 110 111config UBOOT_ROMSIZE_KB_512 112 bool "512 KB" 113 help 114 Choose this option if you have a 512 KB ROM chip. 115 116config UBOOT_ROMSIZE_KB_1024 117 bool "1024 KB (1 MB)" 118 help 119 Choose this option if you have a 1024 KB (1 MB) ROM chip. 120 121config UBOOT_ROMSIZE_KB_2048 122 bool "2048 KB (2 MB)" 123 help 124 Choose this option if you have a 2048 KB (2 MB) ROM chip. 125 126config UBOOT_ROMSIZE_KB_4096 127 bool "4096 KB (4 MB)" 128 help 129 Choose this option if you have a 4096 KB (4 MB) ROM chip. 130 131config UBOOT_ROMSIZE_KB_8192 132 bool "8192 KB (8 MB)" 133 help 134 Choose this option if you have a 8192 KB (8 MB) ROM chip. 135 136config UBOOT_ROMSIZE_KB_16384 137 bool "16384 KB (16 MB)" 138 help 139 Choose this option if you have a 16384 KB (16 MB) ROM chip. 140 141endchoice 142 143# Map the config names to an integer (KB). 144config UBOOT_ROMSIZE_KB 145 int 146 default 512 if UBOOT_ROMSIZE_KB_512 147 default 1024 if UBOOT_ROMSIZE_KB_1024 148 default 2048 if UBOOT_ROMSIZE_KB_2048 149 default 4096 if UBOOT_ROMSIZE_KB_4096 150 default 8192 if UBOOT_ROMSIZE_KB_8192 151 default 16384 if UBOOT_ROMSIZE_KB_16384 152 153# Map the config names to a hex value (bytes). 154config ROM_SIZE 155 hex 156 default 0x80000 if UBOOT_ROMSIZE_KB_512 157 default 0x100000 if UBOOT_ROMSIZE_KB_1024 158 default 0x200000 if UBOOT_ROMSIZE_KB_2048 159 default 0x400000 if UBOOT_ROMSIZE_KB_4096 160 default 0x800000 if UBOOT_ROMSIZE_KB_8192 161 default 0xc00000 if UBOOT_ROMSIZE_KB_12288 162 default 0x1000000 if UBOOT_ROMSIZE_KB_16384 163 164config HAVE_INTEL_ME 165 bool "Platform requires Intel Management Engine" 166 help 167 Newer higher-end devices have an Intel Management Engine (ME) 168 which is a very large binary blob (typically 1.5MB) which is 169 required for the platform to work. This enforces a particular 170 SPI flash format. You will need to supply the me.bin file in 171 your board directory. 172 173config X86_RAMTEST 174 bool "Perform a simple RAM test after SDRAM initialisation" 175 help 176 If there is something wrong with SDRAM then the platform will 177 often crash within U-Boot or the kernel. This option enables a 178 very simple RAM test that quickly checks whether the SDRAM seems 179 to work correctly. It is not exhaustive but can save time by 180 detecting obvious failures. 181 182config MARK_GRAPHICS_MEM_WRCOMB 183 bool "Mark graphics memory as write-combining" 184 default n 185 help 186 The graphics performance may increase if the graphics 187 memory is set as write-combining cache type. This option 188 enables marking the graphics memory as write-combining. 189 190config HAVE_FSP 191 bool "Add an Firmware Support Package binary" 192 help 193 Select this option to add an Firmware Support Package binary to 194 the resulting U-Boot image. It is a binary blob which U-Boot uses 195 to set up SDRAM and other chipset specific initialization. 196 197 Note: Without this binary U-Boot will not be able to set up its 198 SDRAM so will not boot. 199 200config FSP_FILE 201 string "Firmware Support Package binary filename" 202 depends on HAVE_FSP 203 default "fsp.bin" 204 help 205 The filename of the file to use as Firmware Support Package binary 206 in the board directory. 207 208config FSP_ADDR 209 hex "Firmware Support Package binary location" 210 depends on HAVE_FSP 211 default 0xfffc0000 212 help 213 FSP is not Position Independent Code (PIC) and the whole FSP has to 214 be rebased if it is placed at a location which is different from the 215 perferred base address specified during the FSP build. Use Intel's 216 Binary Configuration Tool (BCT) to do the rebase. 217 218 The default base address of 0xfffc0000 indicates that the binary must 219 be located at offset 0xc0000 from the beginning of a 1MB flash device. 220 221config FSP_TEMP_RAM_ADDR 222 hex 223 default 0x2000000 224 help 225 Stack top address which is used in FspInit after DRAM is ready and 226 CAR is disabled. 227 228config MAX_CPUS 229 int "Maximum number of CPUs permitted" 230 default 4 231 help 232 When using multi-CPU chips it is possible for U-Boot to start up 233 more than one CPU. The stack memory used by all of these CPUs is 234 pre-allocated so at present U-Boot wants to know the maximum 235 number of CPUs that may be present. Set this to at least as high 236 as the number of CPUs in your system (it uses about 4KB of RAM for 237 each CPU). 238 239config SMP 240 bool "Enable Symmetric Multiprocessing" 241 default n 242 help 243 Enable use of more than one CPU in U-Boot and the Operating System 244 when loaded. Each CPU will be started up and information can be 245 obtained using the 'cpu' command. If this option is disabled, then 246 only one CPU will be enabled regardless of the number of CPUs 247 available. 248 249config AP_STACK_SIZE 250 hex 251 default 0x1000 252 help 253 Each additional CPU started by U-Boot requires its own stack. This 254 option sets the stack size used by each CPU and directly affects 255 the memory used by this initialisation process. Typically 4KB is 256 enough space. 257 258config TSC_CALIBRATION_BYPASS 259 bool "Bypass Time-Stamp Counter (TSC) calibration" 260 default n 261 help 262 By default U-Boot automatically calibrates Time-Stamp Counter (TSC) 263 running frequency via Model-Specific Register (MSR) and Programmable 264 Interval Timer (PIT). If the calibration does not work on your board, 265 select this option and provide a hardcoded TSC running frequency with 266 CONFIG_TSC_FREQ_IN_MHZ below. 267 268 Normally this option should be turned on in a simulation environment 269 like qemu. 270 271config TSC_FREQ_IN_MHZ 272 int "Time-Stamp Counter (TSC) running frequency in MHz" 273 depends on TSC_CALIBRATION_BYPASS 274 default 1000 275 help 276 The running frequency in MHz of Time-Stamp Counter (TSC). 277 278menu "System tables" 279 280config GENERATE_PIRQ_TABLE 281 bool "Generate a PIRQ table" 282 default n 283 help 284 Generate a PIRQ routing table for this board. The PIRQ routing table 285 is generated by U-Boot in the system memory from 0xf0000 to 0xfffff 286 at every 16-byte boundary with a PCI IRQ routing signature ("$PIR"). 287 It specifies the interrupt router information as well how all the PCI 288 devices' interrupt pins are wired to PIRQs. 289 290config GENERATE_SFI_TABLE 291 bool "Generate a SFI (Simple Firmware Interface) table" 292 help 293 The Simple Firmware Interface (SFI) provides a lightweight method 294 for platform firmware to pass information to the operating system 295 via static tables in memory. Kernel SFI support is required to 296 boot on SFI-only platforms. If you have ACPI tables then these are 297 used instead. 298 299 U-Boot writes this table in write_sfi_table() just before booting 300 the OS. 301 302 For more information, see http://simplefirmware.org 303 304endmenu 305 306config MAX_PIRQ_LINKS 307 int 308 default 8 309 help 310 This variable specifies the number of PIRQ interrupt links which are 311 routable. On most older chipsets, this is 4, PIRQA through PIRQD. 312 Some newer chipsets offer more than four links, commonly up to PIRQH. 313 314config IRQ_SLOT_COUNT 315 int 316 default 128 317 help 318 U-Boot can support up to 254 IRQ slot info in the PIRQ routing table 319 which in turns forms a table of exact 4KiB. The default value 128 320 should be enough for most boards. If this does not fit your board, 321 change it according to your needs. 322 323config PCIE_ECAM_BASE 324 hex 325 default 0xe0000000 326 help 327 This is the memory-mapped address of PCI configuration space, which 328 is only available through the Enhanced Configuration Access 329 Mechanism (ECAM) with PCI Express. It can be set up almost 330 anywhere. Before it is set up, it is possible to access PCI 331 configuration space through I/O access, but memory access is more 332 convenient. Using this, PCI can be scanned and configured. This 333 should be set to a region that does not conflict with memory 334 assigned to PCI devices - i.e. the memory and prefetch regions, as 335 passed to pci_set_region(). 336 337config BOOTSTAGE 338 default y 339 340config BOOTSTAGE_REPORT 341 default y 342 343config CMD_BOOTSTAGE 344 default y 345 346endmenu 347