2012-12-08 02:18:43 +01:00
|
|
|
# Warning: This file is included whether or not the if is here.
|
|
|
|
# The if controls how the evaluation occurs.
|
|
|
|
# (See also src/Kconfig)
|
|
|
|
if ARCH_ARMV7
|
|
|
|
|
2013-02-11 17:07:38 +01:00
|
|
|
source src/cpu/armltd/Kconfig
|
2012-12-08 02:18:43 +01:00
|
|
|
source src/cpu/samsung/Kconfig
|
2013-05-26 16:15:57 +02:00
|
|
|
source src/cpu/ti/Kconfig
|
2012-12-08 02:18:43 +01:00
|
|
|
|
|
|
|
endif # ARCH_ARM
|
|
|
|
|
2010-12-17 00:37:17 +01:00
|
|
|
if ARCH_X86
|
|
|
|
|
2009-08-12 17:39:38 +02:00
|
|
|
source src/cpu/amd/Kconfig
|
2013-06-19 12:55:08 +02:00
|
|
|
source src/cpu/dmp/Kconfig
|
2009-08-12 17:00:51 +02:00
|
|
|
source src/cpu/intel/Kconfig
|
|
|
|
source src/cpu/via/Kconfig
|
2013-05-31 09:23:26 +02:00
|
|
|
source src/cpu/qemu-x86/Kconfig
|
2009-08-12 17:00:51 +02:00
|
|
|
source src/cpu/x86/Kconfig
|
|
|
|
|
2010-08-30 19:53:13 +02:00
|
|
|
config CACHE_AS_RAM
|
2009-08-27 14:10:50 +02:00
|
|
|
bool
|
2010-04-09 22:36:29 +02:00
|
|
|
default !ROMCC
|
2009-08-27 14:10:50 +02:00
|
|
|
|
2009-08-12 17:00:51 +02:00
|
|
|
config DCACHE_RAM_BASE
|
|
|
|
hex
|
|
|
|
|
|
|
|
config DCACHE_RAM_SIZE
|
|
|
|
hex
|
|
|
|
|
2012-05-01 20:13:52 +02:00
|
|
|
# FIXME MAX_PHYSICAL_CPUS should move to AMD specific code, or better
|
|
|
|
# yet be dropped completely.
|
2009-10-06 22:48:07 +02:00
|
|
|
config MAX_PHYSICAL_CPUS
|
|
|
|
int
|
2012-06-25 23:12:58 +02:00
|
|
|
depends on CPU_AMD_MODEL_10XXX || CPU_AMD_MODEL_FXX || CPU_AMD_AGESA
|
2009-10-06 22:48:07 +02:00
|
|
|
default 1
|
|
|
|
|
2009-08-12 17:00:51 +02:00
|
|
|
config SMP
|
|
|
|
bool
|
2009-09-22 20:49:08 +02:00
|
|
|
default y if MAX_CPUS != 1
|
2009-09-24 11:03:06 +02:00
|
|
|
default n
|
2009-10-18 20:35:50 +02:00
|
|
|
help
|
|
|
|
This option is used to enable certain functions to make coreboot
|
|
|
|
work correctly on symmetric multi processor (SMP) systems.
|
2009-10-02 01:22:50 +02:00
|
|
|
|
2012-02-14 09:39:17 +01:00
|
|
|
config AP_SIPI_VECTOR
|
|
|
|
hex
|
|
|
|
default 0xfffff000
|
|
|
|
help
|
|
|
|
This must equal address of ap_sipi_vector from bootblock build.
|
2012-03-31 13:08:12 +02:00
|
|
|
|
2009-10-02 01:22:50 +02:00
|
|
|
config MMX
|
|
|
|
bool
|
2010-02-25 14:40:49 +01:00
|
|
|
help
|
|
|
|
Select MMX in your socket or model Kconfig if your CPU has MMX
|
|
|
|
streaming SIMD instructions. ROMCC can build more efficient
|
|
|
|
code if it can spill to MMX registers.
|
2009-10-02 01:22:50 +02:00
|
|
|
|
|
|
|
config SSE
|
|
|
|
bool
|
2010-02-25 14:40:49 +01:00
|
|
|
help
|
|
|
|
Select SSE in your socket or model Kconfig if your CPU has SSE
|
|
|
|
streaming SIMD instructions. ROMCC can build more efficient
|
|
|
|
code if it can spill to SSE (aka XMM) registers.
|
|
|
|
|
|
|
|
config SSE2
|
|
|
|
bool
|
2010-03-19 03:33:40 +01:00
|
|
|
default n
|
2010-02-25 14:40:49 +01:00
|
|
|
help
|
|
|
|
Select SSE2 in your socket or model Kconfig if your CPU has SSE2
|
|
|
|
streaming SIMD instructions. Some parts of coreboot can be built
|
|
|
|
with more efficient code if SSE2 instructions are available.
|
2009-10-06 22:48:07 +02:00
|
|
|
|
2012-07-20 07:11:21 +02:00
|
|
|
endif # ARCH_X86
|
|
|
|
|
|
|
|
config CPU_MICROCODE_IN_CBFS
|
|
|
|
bool
|
2012-07-11 02:02:21 +02:00
|
|
|
default n
|
2012-07-20 07:11:21 +02:00
|
|
|
|
|
|
|
choice
|
2013-02-27 20:24:11 +01:00
|
|
|
prompt "Include CPU microcode in CBFS" if ARCH_X86
|
2013-12-04 23:57:52 +01:00
|
|
|
default CPU_MICROCODE_CBFS_GENERATE if CPU_MICROCODE_IN_CBFS
|
|
|
|
default CPU_MICROCODE_CBFS_EXTERNAL if CPU_MICROCODE_IN_CBFS
|
2013-10-30 00:46:54 +01:00
|
|
|
default CPU_MICROCODE_CBFS_NONE
|
2012-07-20 07:11:21 +02:00
|
|
|
|
|
|
|
config CPU_MICROCODE_CBFS_GENERATE
|
|
|
|
bool "Generate from tree"
|
2012-06-19 06:20:20 +02:00
|
|
|
help
|
2012-07-20 07:11:21 +02:00
|
|
|
Select this option if you want microcode updates to be assembled when
|
|
|
|
building coreboot and included in the final image as a separate CBFS
|
|
|
|
file. Microcode will not be hard-coded into ramstage.
|
2012-06-19 06:20:20 +02:00
|
|
|
|
2013-04-01 13:45:44 +02:00
|
|
|
The microcode file may be removed from the ROM image at a later
|
2012-07-20 07:11:21 +02:00
|
|
|
time with cbfstool, if desired.
|
|
|
|
|
|
|
|
If unsure, select this option.
|
|
|
|
|
|
|
|
config CPU_MICROCODE_CBFS_EXTERNAL
|
|
|
|
bool "Include external microcode file"
|
|
|
|
help
|
|
|
|
Select this option if you want to include an external file containing
|
|
|
|
the CPU microcode. This will be included as a separate file in CBFS.
|
|
|
|
A word of caution: only select this option if you are sure the
|
|
|
|
microcode that you have is newer than the microcode shipping with
|
|
|
|
coreboot.
|
|
|
|
|
2013-04-01 13:45:44 +02:00
|
|
|
The microcode file may be removed from the ROM image at a later
|
2012-07-20 07:11:21 +02:00
|
|
|
time with cbfstool, if desired.
|
|
|
|
|
|
|
|
If unsure, select "Generate from tree"
|
|
|
|
|
|
|
|
config CPU_MICROCODE_CBFS_NONE
|
|
|
|
bool "Do not include microcode updates"
|
|
|
|
help
|
|
|
|
Select this option if you do not want CPU microcode included in CBFS.
|
|
|
|
Note that for some CPUs, the microcode is hard-coded into the source
|
|
|
|
tree and is not loaded from CBFS. In this case, microcode will still
|
|
|
|
be updated. There is a push to move all microcode to CBFS, but this
|
|
|
|
change is not implemented for all CPUs.
|
|
|
|
|
|
|
|
This option currently applies to:
|
|
|
|
- Intel SandyBridge/IvyBridge
|
|
|
|
- VIA Nano
|
|
|
|
|
|
|
|
Microcode may be added to the ROM image at a later time with cbfstool,
|
|
|
|
if desired.
|
|
|
|
|
|
|
|
If unsure, select "Generate from tree"
|
|
|
|
|
|
|
|
The GOOD:
|
|
|
|
Microcode updates intend to solve issues that have been discovered
|
|
|
|
after CPU production. The expected effect is that systems work as
|
|
|
|
intended with the updated microcode, but we have also seen cases where
|
|
|
|
issues were solved by not applying microcode updates.
|
|
|
|
|
|
|
|
The BAD:
|
|
|
|
Note that some operating system include these same microcode patches,
|
|
|
|
so you may need to also disable microcode updates in your operating
|
|
|
|
system for this option to have an effect.
|
|
|
|
|
|
|
|
The UGLY:
|
|
|
|
A word of CAUTION: some CPUs depend on microcode updates to function
|
|
|
|
correctly. Not updating the microcode may leave the CPU operating at
|
|
|
|
less than optimal performance, or may cause outright hangups.
|
|
|
|
There are CPUs where coreboot cannot properly initialize the CPU
|
|
|
|
without microcode updates
|
|
|
|
For example, if running with the factory microcode, some Intel
|
|
|
|
SandyBridge CPUs may hang when enabling CAR, or some VIA Nano CPUs
|
|
|
|
will hang when changing the frequency.
|
|
|
|
|
|
|
|
Make sure you have a way of flashing the ROM externally before
|
|
|
|
selecting this option.
|
|
|
|
|
|
|
|
endchoice
|
2013-02-18 17:26:01 +01:00
|
|
|
|
|
|
|
config CPU_MICROCODE_FILE
|
|
|
|
string "Path and filename of CPU microcode"
|
|
|
|
depends on CPU_MICROCODE_CBFS_EXTERNAL
|
|
|
|
default "cpu_microcode.bin"
|
|
|
|
help
|
|
|
|
The path and filename of the file containing the CPU microcode.
|
2013-10-30 00:46:54 +01:00
|
|
|
|
|
|
|
config CPU_MICROCODE_CBFS_LOC
|
|
|
|
hex "Microcode address in CBFS"
|
|
|
|
depends on CPU_MICROCODE_IN_CBFS
|
|
|
|
default 0
|
|
|
|
|
|
|
|
config CPU_MICROCODE_CBFS_LEN
|
|
|
|
hex "Microcode length in CBFS"
|
|
|
|
depends on CPU_MICROCODE_IN_CBFS
|
|
|
|
default 0xC000
|
|
|
|
help
|
|
|
|
The microcode needs a specific length to get correctly
|
|
|
|
detected and loaded by all CPUs.
|