summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
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