intel/lynxpoint: Make inclusion of Intel ME optional

Current build configuration always wants to include an Intel Management Engine
(ME) firmware (`me.bin`) on Intel Lynx Point systems.  However, we can have a
working coreboot without it, as long as the factory delivered ME firmware is
kept untouched in the flash ROM. So let the user decide if a ME firmware will
be included in the build by introducing the Kconfig option `HAVE_ME_BIN`.

The same was done in commit 99fd30e4 (sandybridge: Make inclusion of me.bin
optional) [1] for Intel Sandy Bridge (BD82x6x).

[1] http://review.coreboot.org/3522

Change-Id: I7c6048fd0f56288769ad90acbfb67b908ac8d824
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: http://review.coreboot.org/6047
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Paul Menzel 2014-06-16 14:59:44 +02:00 committed by Patrick Georgi
parent 5218e61651
commit 0089c2418b
2 changed files with 14 additions and 0 deletions

View File

@ -100,8 +100,20 @@ config IFD_BIN_PATH
depends on !BUILD_WITH_FAKE_IFD depends on !BUILD_WITH_FAKE_IFD
default "3rdparty/mainboard/$(MAINBOARDDIR)/descriptor.bin" default "3rdparty/mainboard/$(MAINBOARDDIR)/descriptor.bin"
config HAVE_ME_BIN
bool "Add Intel Management Engine firmware"
default y
help
The Intel processor in the selected system requires a special firmware
for an integrated controller called Management Engine (ME). The ME
firmware might be provided in coreboot's 3rdparty repository. If
not and if you don't have the firmware elsewhere, you can still
build coreboot without it. In this case however, you'll have to make
sure that you don't overwrite your ME firmware on your flash ROM.
config ME_BIN_PATH config ME_BIN_PATH
string "Path to management engine firmware" string "Path to management engine firmware"
depends on HAVE_ME_BIN
default "3rdparty/mainboard/$(MAINBOARDDIR)/me.bin" default "3rdparty/mainboard/$(MAINBOARDDIR)/me.bin"
config IFD_BIN_PATH config IFD_BIN_PATH

View File

@ -85,11 +85,13 @@ endif
printf " DD Adding Intel Firmware Descriptor\n" printf " DD Adding Intel Firmware Descriptor\n"
dd if=$(IFD_BIN_PATH) \ dd if=$(IFD_BIN_PATH) \
of=$(obj)/coreboot.pre conv=notrunc >/dev/null 2>&1 of=$(obj)/coreboot.pre conv=notrunc >/dev/null 2>&1
ifeq ($(CONFIG_HAVE_ME_BIN),y)
printf " IFDTOOL me.bin -> coreboot.pre\n" printf " IFDTOOL me.bin -> coreboot.pre\n"
$(objutil)/ifdtool/ifdtool \ $(objutil)/ifdtool/ifdtool \
-i ME:$(CONFIG_ME_BIN_PATH) \ -i ME:$(CONFIG_ME_BIN_PATH) \
$(obj)/coreboot.pre $(obj)/coreboot.pre
mv $(obj)/coreboot.pre.new $(obj)/coreboot.pre mv $(obj)/coreboot.pre.new $(obj)/coreboot.pre
endif
ifeq ($(CONFIG_LOCK_MANAGEMENT_ENGINE),y) ifeq ($(CONFIG_LOCK_MANAGEMENT_ENGINE),y)
printf " IFDTOOL Locking Management Engine\n" printf " IFDTOOL Locking Management Engine\n"
$(objutil)/ifdtool/ifdtool -l $(obj)/coreboot.pre $(objutil)/ifdtool/ifdtool -l $(obj)/coreboot.pre