[coreboot-gerrit] Change in coreboot[master]: southbridge/intel: Add support for generating IFDs
Denis 'GNUtoo' Carikli (Code Review)
gerrit at coreboot.org
Fri Oct 20 22:39:03 CEST 2017
Denis 'GNUtoo' Carikli has uploaded this change for review. ( https://review.coreboot.org/22128
Change subject: southbridge/intel: Add support for generating IFDs
......................................................................
southbridge/intel: Add support for generating IFDs
The Kconfig help text has been inspired by the microcode
update help text.
Change-Id: I9fc5bd7bbbfa8825aff9c627d81d84fa3003cf4f
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
---
M src/mainboard/lenovo/x200/Kconfig
R src/mainboard/lenovo/x200/ifd.set
R src/mainboard/lenovo/x200/ifd.spec
M src/southbridge/intel/common/firmware/Kconfig
M src/southbridge/intel/common/firmware/Makefile.inc
5 files changed, 30 insertions(+), 5 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/28/22128/1
diff --git a/src/mainboard/lenovo/x200/Kconfig b/src/mainboard/lenovo/x200/Kconfig
index d2fcec4..df5a457 100644
--- a/src/mainboard/lenovo/x200/Kconfig
+++ b/src/mainboard/lenovo/x200/Kconfig
@@ -21,6 +21,8 @@
select INTEL_INT15
select SUPERIO_NSC_PC87382
select DRIVERS_LENOVO_WACOM
+ select HAVE_NATIVE_IFD_GENERATION
+ select HAVE_IFD_BIN
config MAINBOARD_DIR
string
diff --git a/util/blobtool/ifd-x200.set b/src/mainboard/lenovo/x200/ifd.set
similarity index 100%
rename from util/blobtool/ifd-x200.set
rename to src/mainboard/lenovo/x200/ifd.set
diff --git a/util/blobtool/ifd-x200.spec b/src/mainboard/lenovo/x200/ifd.spec
similarity index 100%
rename from util/blobtool/ifd-x200.spec
rename to src/mainboard/lenovo/x200/ifd.spec
diff --git a/src/southbridge/intel/common/firmware/Kconfig b/src/southbridge/intel/common/firmware/Kconfig
index d97d0df..d99a22c 100644
--- a/src/southbridge/intel/common/firmware/Kconfig
+++ b/src/southbridge/intel/common/firmware/Kconfig
@@ -26,13 +26,23 @@
choice
prompt "Intel Flash Descriptor (IFD)"
- default INCLUDE_IFD_BIN if HAVE_IFD_BIN
+ default NATIVE_IFD_GENERATION if HAVE_NATIVE_IFD_GENERATION
+ default INCLUDE_IFD_BIN if !(HAVE_NATIVE_IFD_GENERATION) && HAVE_IFD_BIN
config INCLUDE_IFD_BIN
bool "Add Intel descriptor.bin file"
depends on HAVE_IFD_BIN
help
The descriptor binary
+
+config NATIVE_IFD_GENERATION
+ bool "Generate an Intel Flash Descriptor (IFD) binary"
+ depends on HAVE_NATIVE_IFD_GENERATION
+ help
+ Select this option if you want the Intel Flash Descriptor to be
+ generated when building coreboot and included in the final image file.
+
+ If unsure, select this option.
config FAKE_IFD_GENERATION
bool "Build with a fake Intel Flash Descriptor (IFD) binary"
@@ -52,6 +62,15 @@
endchoice
+##### Generated IFD #####
+config HAVE_NATIVE_IFD_GENERATION
+ bool
+ default n
+ help
+ This variable specifies whether a given board has a ifd.spec
+ file containing Intel Flash Descriptor (IFD) bit definitions.
+ It defaults to 'n' but can be selected in mainboard/*/Kconfig.
+
##### Provided IFD #####
config HAVE_IFD_BIN
diff --git a/src/southbridge/intel/common/firmware/Makefile.inc b/src/southbridge/intel/common/firmware/Makefile.inc
index 58a7e23..e0b4170 100644
--- a/src/southbridge/intel/common/firmware/Makefile.inc
+++ b/src/southbridge/intel/common/firmware/Makefile.inc
@@ -22,9 +22,10 @@
ifeq ($(CONFIG_INCLUDE_IFD_BIN),y)
INTERMEDIATE+=add_intel_firmware
-endif
-
-ifeq ($(CONFIG_BUILD_WITH_FAKE_IFD),y)
+else ifeq ($(CONFIG_NATIVE_IFD_GENERATION),y)
+INTERMEDIATE+=add_intel_firmware
+IFD_BIN_PATH := $(objgenerated)/descriptor.bin
+else ifeq ($(CONFIG_BUILD_WITH_FAKE_IFD),y)
INTERMEDIATE+=add_intel_firmware
IFD_BIN_PATH := $(objgenerated)/ifdfake.bin
IFD_SECTIONS := $(addprefix -b ,$(CONFIG_IFD_BIOS_SECTION:"%"=%)) \
@@ -38,7 +39,7 @@
endif
endif
-add_intel_firmware: $(obj)/coreboot.pre $(IFDTOOL) $(IFDFAKE)
+add_intel_firmware: $(obj)/coreboot.pre $(IFDTOOL) $(IFDFAKE) $(BLOBTOOL)
ifeq ($(CONFIG_BUILD_WITH_FAKE_IFD),y)
printf "\n** WARNING **\n"
printf "coreboot will be built with a fake Intel Firmware Descriptor (IFD).\n"
@@ -46,6 +47,9 @@
printf "flash ROM! Make sure that you only write valid flash regions.\n\n"
printf " IFDFAKE Building a fake Intel Firmware Descriptor\n"
$(IFDFAKE) $(IFD_SECTIONS) $(IFD_BIN_PATH)
+else ifeq ($(CONFIG_NATIVE_IFD_GENERATION), y)
+ $(BLOBTOOL) $(src)/mainboard/$(MAINBOARDDIR)/ifd.spec \
+ $(src)/mainboard/$(MAINBOARDDIR)/ifd.set $(IFD_BIN_PATH)
endif
printf " DD Adding Intel Firmware Descriptor\n"
dd if=$(IFD_BIN_PATH) \
--
To view, visit https://review.coreboot.org/22128
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9fc5bd7bbbfa8825aff9c627d81d84fa3003cf4f
Gerrit-Change-Number: 22128
Gerrit-PatchSet: 1
Gerrit-Owner: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20171020/f24fcd24/attachment-0001.html>
More information about the coreboot-gerrit
mailing list