[coreboot-gerrit] New patch to review for coreboot: Microcode: Show a useful warning when microcode bins are missing

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Thu Dec 22 18:33:35 CET 2016


Martin Roth (martinroth at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17940

-gerrit

commit 1d589da5869fa805c08e5f2f4cfc6cf52d93f067
Author: Martin Roth <martinroth at google.com>
Date:   Thu Dec 22 10:29:20 2016 -0700

    Microcode: Show a useful warning when microcode bins are missing
    
    Because the binary repo is disabled by default, we get frequent
    questions about why the build failed, relating to microcode in the
    binary repository.
    
    - Show an error saying that the file is missing instead of the typical
    make error of no rule to build the file.
    - Show a note encouraging users to try enabling the binary repo if it's
    not enabled.
    
    Change-Id: If4148c18cfb781ed2932bd2ae4a289b621afdebf
    Signed-off-by: Martin Roth <martinroth at google.com>
---
 src/cpu/Makefile.inc | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/cpu/Makefile.inc b/src/cpu/Makefile.inc
index 4ac6812..0aec4ef 100644
--- a/src/cpu/Makefile.inc
+++ b/src/cpu/Makefile.inc
@@ -37,7 +37,19 @@ endif
 # updates are wrapped in a container, like AMD's microcode update container. If
 # there is only one microcode binary (i.e. one container), then we don't have
 # this issue, and this rule will continue to work.
-$(obj)/cpu_microcode_blob.bin: $$(cpu_microcode_bins)
+$(obj)/cpu_microcode_blob.bin:
+	for bin in $(cpu_microcode_bins); do \
+		if [ ! -f "$$bin" ]; then \
+			echo "Microcode error: $$bin does not exist"; \
+			NO_MICROCODE_FILE=1; \
+		fi; \
+	done; \
+	if [ -n "$$NO_MICROCODE_FILE" ]; then \
+		if [ -z "$(CONFIG_USE_BLOBS)" ] && [ -n "$(CONFIG_CPU_MICROCODE_CBFS_GENERATE)" ]; then \
+			echo "Try enabling binary-only repository in Kconfig 'General setup' menu."; \
+		fi; \
+		false; \
+	fi
 	@printf "    MICROCODE  $(subst $(obj)/,,$(@))\n"
 	@echo $(cpu_microcode_bins)
 	cat /dev/null $+ > $@



More information about the coreboot-gerrit mailing list