[coreboot-gerrit] Patch set updated for coreboot: microcode: Unify rules to add microcode to CBFS once again

Alexandru Gagniuc (mr.nuke.me@gmail.com) gerrit at coreboot.org
Mon Sep 7 07:53:10 CET 2015


Alexandru Gagniuc (mr.nuke.me at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11526

-gerrit

commit 5081046c0561712badd8cd54e0a0972a855aa300
Author: Alexandru Gagniuc <mr.nuke.me at gmail.com>
Date:   Mon Sep 7 00:35:55 2015 -0700

    microcode: Unify rules to add microcode to CBFS once again
    
    Now that cbfstool supports file alignment, we can use the conveniently
    available <filename>-align handler, and remove the need to have a
    separate rule in src/Makefile.inc just for adding the microcode.
    
    We can also get rid of the layering violation of having the
    CONFIG_PLATFORM_USES_FSP1_0 symbol in a generic src/cpu/ makefile.
    Note that we still have a layering violation by the use of the
    CONFIG_CPU_MICROCODE_CBFS_LOC symbol, but this one is acceptable
    for the time being.
    
    Change-Id: Id2f8c15d250a0c75300d0a870284cac0c68a311b
    Signed-off-by: Alexandru Gagniuc <mr.nuke.me at gmail.com>
---
 Makefile.inc                                  |  1 -
 src/cpu/Makefile.inc                          | 20 +++++++-------------
 src/soc/intel/braswell/microcode/Makefile.inc | 11 -----------
 src/soc/intel/skylake/microcode/Makefile.inc  | 11 -----------
 4 files changed, 7 insertions(+), 36 deletions(-)

diff --git a/Makefile.inc b/Makefile.inc
index 1cac01b..be6021b 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -567,7 +567,6 @@ $(obj)/coreboot.pre1: $(objcbfs)/bootblock.bin $$(prebuilt-files) $(FMAPTOOL) $(
 	-B $(objcbfs)/bootblock.bin \
 	$(CBFSTOOL_PRE1_OPTS)
 	$(prebuild-files) true
-	$(call add-cpu-microcode-to-cbfs,$@.tmp)
 	mv $@.tmp $@
 else
 prebuilt-files = $(foreach file,$(cbfs-files), $(call extract_nth,1,$(file)))
diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc
index cdd353f..9f28b36 100644
--- a/src/cpu/Makefile.inc
+++ b/src/cpu/Makefile.inc
@@ -18,8 +18,6 @@ $(eval $(call create_class_compiler,cpu_microcode,x86_64))
 ## Rules for building the microcode blob in CBFS
 ################################################################################
 
-cpu_ucode_cbfs_name = cpu_microcode_blob.bin
-
 # External microcode file, or are we generating one ?
 ifeq ($(CONFIG_CPU_MICROCODE_CBFS_EXTERNAL), y)
 cpu_ucode_cbfs_file = $(call strip_quotes,$(CONFIG_CPU_MICROCODE_FILE))
@@ -31,12 +29,6 @@ cpu_ucode_cbfs_file = $(obj)/cpu_microcode_blob.bin
 cbfs_include_ucode = y
 endif
 
-ifeq ($(CONFIG_PLATFORM_USES_FSP1_0), y)
-cpu_ucode_cbfs_offset = "-b $(CONFIG_CPU_MICROCODE_CBFS_LOC)"
-else
-cpu_ucode_cbfs_offset = "-b"
-endif
-
 # In case we have more than one "source" (cough) files containing microcode, we
 # link them together in one large blob, so that we get all the microcode updates
 # in one file. This makes it easier for objcopy in the final step.
@@ -52,10 +44,12 @@ $(obj)/cpu_microcode_blob.bin: $(obj)/cpu_microcode_blob.o
 	@printf "    MICROCODE  $(subst $(obj)/,,$(@))\n"
 	$(OBJCOPY_cpu_microcode) -j .data -O binary $< $@
 
-ifeq ($(cbfs_include_ucode),y)
-# Add CPU microcode to specified rom image $(1)
-add-cpu-microcode-to-cbfs = \
-	$(CBFSTOOL) $(1) locate -f $(cpu_ucode_cbfs_file) -n $(cpu_ucode_cbfs_name) -a 16 | xargs $(CBFSTOOL) $(1) add -n $(cpu_ucode_cbfs_name) -f $(cpu_ucode_cbfs_file) -t 0x53 $(cpu_ucode_cbfs_offset)
+cbfs-files-$(cbfs_include_ucode) += cpu_microcode_blob.bin
+cpu_microcode_blob.bin-file = $(cpu_ucode_cbfs_file)
+cpu_microcode_blob.bin-type = 0x53
+
+ifneq ($(CONFIG_CPU_MICROCODE_CBFS_LOC),)
+cpu_microcode_blob.bin-position = $(CONFIG_CPU_MICROCODE_CBFS_LOC)
 else
-add-cpu-microcode-to-cbfs = true
+cpu_microcode_blob.bin-align = 16
 endif
diff --git a/src/soc/intel/braswell/microcode/Makefile.inc b/src/soc/intel/braswell/microcode/Makefile.inc
index da25b8b..3497328 100644
--- a/src/soc/intel/braswell/microcode/Makefile.inc
+++ b/src/soc/intel/braswell/microcode/Makefile.inc
@@ -1,13 +1,2 @@
 # Add CPU uCode source to list of files to build.
 cpu_microcode-y += microcode_blob.c
-
-# This section overrides the default build process for the microcode to place
-# it at a known location in the CBFS.  This only needs to be enabled if FSP is
-# being used.
-# Define the correct offset for the file in CBFS
-fsp_ucode_cbfs_base = $(CONFIG_CPU_MICROCODE_CBFS_LOC)
-
-# Override the location that was supplied by the core code.
-add-cpu-microcode-to-cbfs = \
-	$(CBFSTOOL) $(1) add -n $(cpu_ucode_cbfs_name) -f $(cpu_ucode_cbfs_file) -t microcode -b $(fsp_ucode_cbfs_base)
-
diff --git a/src/soc/intel/skylake/microcode/Makefile.inc b/src/soc/intel/skylake/microcode/Makefile.inc
index a5e8981..ba308f6 100644
--- a/src/soc/intel/skylake/microcode/Makefile.inc
+++ b/src/soc/intel/skylake/microcode/Makefile.inc
@@ -1,13 +1,2 @@
 # Add CPU uCode source to list of files to build.
 cpu_microcode-$(CONFIG_CPU_MICROCODE_CBFS_GENERATE) += microcode_blob.c
-
-# This section overrides the default build process for the microcode to place
-# it at a known location in the CBFS.  This only needs to be enabled if FSP is
-# being used.
-# Define the correct offset for the file in CBFS
-fsp_ucode_cbfs_base = $(CONFIG_CPU_MICROCODE_CBFS_LOC)
-
-# Override the location that was supplied by the core code.
-add-cpu-microcode-to-cbfs = \
-	$(CBFSTOOL) $(1) add -n $(cpu_ucode_cbfs_name) -f $(cpu_ucode_cbfs_file) -t microcode -b $(fsp_ucode_cbfs_base)
-



More information about the coreboot-gerrit mailing list