summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineeringinc.com>2015-10-08 16:58:58 -0500
committerAaron Durbin <adurbin@chromium.org>2015-10-16 02:41:37 +0000
commit24e6d0445c7ca209436a6c15c0b955df18052bdf (patch)
tree4dc34032a1d731d52b65524a37d3d25c18d955e8 /src/cpu
parent6a70dbc3973ff445af05f7d74f2efafd2317e6c9 (diff)
downloadcoreboot-24e6d0445c7ca209436a6c15c0b955df18052bdf.tar.xz
cpu/amd/model_10xxx: Install AMD-provided microcode files in CBFS
Change-Id: I208b012c6b612a94b3bbc8235d5a005028be8bcc Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> Reviewed-on: http://review.coreboot.org/11832 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/Kconfig8
-rw-r--r--src/cpu/Makefile.inc2
-rw-r--r--src/cpu/amd/model_10xxx/Kconfig1
-rw-r--r--src/cpu/amd/model_10xxx/Makefile.inc5
4 files changed, 15 insertions, 1 deletions
diff --git a/src/cpu/Kconfig b/src/cpu/Kconfig
index bfe00fe4e8..578bab2296 100644
--- a/src/cpu/Kconfig
+++ b/src/cpu/Kconfig
@@ -153,6 +153,14 @@ config CPU_MICROCODE_CBFS_NONE
endchoice
+config CPU_MICROCODE_MULTIPLE_FILES
+ bool
+ default n
+ depends on CPU_MICROCODE_CBFS_GENERATE
+ help
+ Select this option to install separate microcode container files into
+ CBFS instead of using the traditional monolithic microcode file format.
+
config CPU_MICROCODE_FILE
string "Path and filename of CPU microcode"
depends on CPU_MICROCODE_CBFS_EXTERNAL
diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc
index 9220a8aa44..d9390610c6 100644
--- a/src/cpu/Makefile.inc
+++ b/src/cpu/Makefile.inc
@@ -24,9 +24,11 @@ cbfs_include_ucode = y
endif
ifeq ($(CONFIG_CPU_MICROCODE_CBFS_GENERATE), y)
+ifneq ($(CONFIG_CPU_MICROCODE_MULTIPLE_FILES), y)
cpu_ucode_cbfs_file = $(obj)/cpu_microcode_blob.bin
cbfs_include_ucode = y
endif
+endif
# We just mash all microcode binaries together into one binary to rule them all.
# This approach assumes that the microcode binaries are properly padded, and
diff --git a/src/cpu/amd/model_10xxx/Kconfig b/src/cpu/amd/model_10xxx/Kconfig
index ebd282a5ca..7c47e27ca2 100644
--- a/src/cpu/amd/model_10xxx/Kconfig
+++ b/src/cpu/amd/model_10xxx/Kconfig
@@ -11,6 +11,7 @@ config CPU_AMD_MODEL_10XXX
select UDELAY_LAPIC
select HAVE_MONOTONIC_TIMER
select SUPPORT_CPU_UCODE_IN_CBFS
+ select CPU_MICROCODE_MULTIPLE_FILES
if CPU_AMD_MODEL_10XXX
diff --git a/src/cpu/amd/model_10xxx/Makefile.inc b/src/cpu/amd/model_10xxx/Makefile.inc
index 122e47430b..5a81ab8b11 100644
--- a/src/cpu/amd/model_10xxx/Makefile.inc
+++ b/src/cpu/amd/model_10xxx/Makefile.inc
@@ -8,4 +8,7 @@ ramstage-y += ram_calc.c
ramstage-y += monotonic_timer.c
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += powernow_acpi.c
-cpu_microcode_bins += 3rdparty/blobs/cpu/amd/model_10xxx/microcode.bin
+# Microcode for Family 10h, 11h, 12h, and 14h
+cbfs-files-$(CONFIG_CPU_MICROCODE_MULTIPLE_FILES) += microcode_amd.bin
+microcode_amd.bin-file := 3rdparty/blobs/cpu/amd/family_10h-family_14h/microcode_amd.bin
+microcode_amd.bin-type := microcode