summaryrefslogtreecommitdiff
path: root/util/supermicro/Makefile.inc
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2019-09-20 12:53:09 +0200
committerNico Huber <nico.h@gmx.de>2020-01-06 10:56:09 +0000
commit9e877ec60d177565776b20e3d61f723a9552ee34 (patch)
tree8e5abc8ac1a90afaa24aa08a1d674fbd19a57694 /util/supermicro/Makefile.inc
parent9b5447b7819ac99ffc3787f2ecb0c4428eea8055 (diff)
downloadcoreboot-9e877ec60d177565776b20e3d61f723a9552ee34.tar.xz
util/supermicro: Add and use new tool smcbiosinfo
The BMC and tools interacting with it depend on metadata placed inside the ROM in order the flash the BIOS. Add a new tool smcbiosinfo, integrate it into the build system, and generate a 128byte metadata file called smcbiosinfo.bin on build. You need to provide the BoardID for every SMC mainboard through a new Kconfig symbol: SUPERMICRO_BOARDID Some fields are unknown, but it's sufficient to flash it using SMC vendor tools. Tested on Supermicro X11SSH: * Flashing using the WebUI works * Flashing using SMCIPMITool works No further validation is done on the firmware. Change-Id: Id608c2ce78614b45a2fd0b26d97d666f02223998 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/35484 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'util/supermicro/Makefile.inc')
-rw-r--r--util/supermicro/Makefile.inc21
1 files changed, 21 insertions, 0 deletions
diff --git a/util/supermicro/Makefile.inc b/util/supermicro/Makefile.inc
new file mode 100644
index 0000000000..e71cfbdb19
--- /dev/null
+++ b/util/supermicro/Makefile.inc
@@ -0,0 +1,21 @@
+ifeq ($(CONFIG_VENDOR_SUPERMICRO),y)
+ifneq ($(call strip_quotes, $(CONFIG_SUPERMICRO_BOARDID)),)
+
+SMCBIOSINFOTOOL:= $(objutil)/supermicro/smcbiosinfo
+
+$(SMCBIOSINFOTOOL): $(dir)/smcbiosinfo/smcbiosinfo.c
+ printf " HOSTCC Creating SMCBIOSINFO tool\n"
+ mkdir -p $(objutil)/supermicro
+ $(HOSTCC) $< -o $@
+
+cbfs-files-y += smcbiosinfo.bin
+
+smcbiosinfo.bin-file := $(obj)/mainboard/$(MAINBOARDDIR)/smcbiosinfo.bin
+smcbiosinfo.bin-type := raw
+smcbiosinfo.bin-compression := none
+
+$(obj)/mainboard/$(MAINBOARDDIR)/smcbiosinfo.bin: $(SMCBIOSINFOTOOL) $(build_h)
+ printf " TOOL Creating SMC BIOSINFO metadata\n"
+ $(SMCBIOSINFOTOOL) -i $(build_h) -b $(CONFIG_SUPERMICRO_BOARDID) -o $@
+endif
+endif