Enable Microcode in CBFS for all SandyBridge/IvyBridge systems
Change-Id: Idee4facc18e0be60906d2a2f0e99bd39de8d7247 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/1332 Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
parent
79bbbd9db3
commit
c65a36eb0f
|
@ -62,13 +62,10 @@ config SSE2
|
||||||
streaming SIMD instructions. Some parts of coreboot can be built
|
streaming SIMD instructions. Some parts of coreboot can be built
|
||||||
with more efficient code if SSE2 instructions are available.
|
with more efficient code if SSE2 instructions are available.
|
||||||
|
|
||||||
if CPU_INTEL_MODEL_206AX || CPU_INTEL_MODEL_306AX
|
|
||||||
|
|
||||||
config MICROCODE_IN_CBFS
|
config MICROCODE_IN_CBFS
|
||||||
bool "Look for microcode in CBFS"
|
bool "Look for microcode in CBFS"
|
||||||
|
default n
|
||||||
help
|
help
|
||||||
Load microcode updates from CBFS instead of compiling them in.
|
Load microcode updates from CBFS instead of compiling them in.
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif # ARCH_X86
|
endif # ARCH_X86
|
||||||
|
|
|
@ -12,6 +12,7 @@ config CPU_SPECIFIC_OPTIONS
|
||||||
select SSE2
|
select SSE2
|
||||||
select UDELAY_LAPIC
|
select UDELAY_LAPIC
|
||||||
select SMM_TSEG
|
select SMM_TSEG
|
||||||
|
select MICROCODE_IN_CBFS
|
||||||
|
|
||||||
config BOOTBLOCK_CPU_INIT
|
config BOOTBLOCK_CPU_INIT
|
||||||
string
|
string
|
||||||
|
@ -21,14 +22,11 @@ config SMM_TSEG_SIZE
|
||||||
hex
|
hex
|
||||||
default 0x800000
|
default 0x800000
|
||||||
|
|
||||||
if MICROCODE_IN_CBFS
|
|
||||||
config MICROCODE_INCLUDE_PATH
|
config MICROCODE_INCLUDE_PATH
|
||||||
string
|
string
|
||||||
default "src/cpu/intel/model_206ax"
|
default "src/cpu/intel/model_206ax"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
if CPU_INTEL_MODEL_206AX
|
if CPU_INTEL_MODEL_206AX
|
||||||
config CPU_MODEL_NAME
|
config CPU_MODEL_NAME
|
||||||
string
|
string
|
||||||
|
|
|
@ -25,12 +25,6 @@
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/romcc_io.h>
|
#include <arch/romcc_io.h>
|
||||||
|
|
||||||
#if !CONFIG_MICROCODE_IN_CBFS
|
|
||||||
static const uint32_t microcode_updates[] = {
|
|
||||||
#include "microcode_blob.h"
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <cpu/intel/microcode/microcode.c>
|
#include <cpu/intel/microcode/microcode.c>
|
||||||
#include "model_206ax.h"
|
#include "model_206ax.h"
|
||||||
|
|
||||||
|
@ -125,9 +119,5 @@ static void bootblock_cpu_init(void)
|
||||||
/* Set flex ratio and reset if needed */
|
/* Set flex ratio and reset if needed */
|
||||||
set_flex_ratio_to_tdp_nominal();
|
set_flex_ratio_to_tdp_nominal();
|
||||||
enable_rom_caching();
|
enable_rom_caching();
|
||||||
#if CONFIG_MICROCODE_IN_CBFS
|
|
||||||
intel_update_microcode_from_cbfs();
|
intel_update_microcode_from_cbfs();
|
||||||
#else
|
|
||||||
intel_update_microcode(microcode_updates);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,12 +115,6 @@ static acpi_cstate_t cstate_map[] = {
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
#if !CONFIG_MICROCODE_IN_CBFS
|
|
||||||
static const uint32_t microcode_updates[] = {
|
|
||||||
#include "microcode_blob.h"
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Convert time in seconds to POWER_LIMIT_1_TIME MSR value */
|
/* Convert time in seconds to POWER_LIMIT_1_TIME MSR value */
|
||||||
static const u8 power_limit_time_sec_to_msr[] = {
|
static const u8 power_limit_time_sec_to_msr[] = {
|
||||||
[0] = 0x00,
|
[0] = 0x00,
|
||||||
|
@ -421,11 +415,7 @@ static void model_206ax_init(device_t cpu)
|
||||||
/* Turn on caching if we haven't already */
|
/* Turn on caching if we haven't already */
|
||||||
x86_enable_cache();
|
x86_enable_cache();
|
||||||
|
|
||||||
#if CONFIG_MICROCODE_IN_CBFS
|
|
||||||
intel_update_microcode_from_cbfs();
|
intel_update_microcode_from_cbfs();
|
||||||
#else
|
|
||||||
intel_update_microcode(microcode_updates);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Clear out pending MCEs */
|
/* Clear out pending MCEs */
|
||||||
configure_mca();
|
configure_mca();
|
||||||
|
|
Loading…
Reference in New Issue