Commit d171fabf authored by Nicola Corna's avatar Nicola Corna Committed by Youness Alaoui
Browse files

sb/intel/common/firmware: Use the -S flag of me_cleaner

The -S flag of me_cleaner, in addition to the standard code removal,
sets the the AltMeDisable bit (ME 6.x-10.x) or the HAP bit (ME 11.x),
which asks Intel ME to stop the execution after the hardware

This should bring some advantages:
 * The state of Intel ME can be easily obtained by reading the Current
    Operation Mode register to trigger specific adjustments in the
    raminit (as already done in bd82x6x)
 * Intel ME falls into a more defined state, instead of being in a
    generic "Image Failure"
 * Hopefully, less code is run by Intel ME, as the execution should
    stop before even trying to load additional modules

Tested on:
 * Nehalem, Sandy Bridge and Ivy Bridge (Nicola Corna)
 * Broadwell, Skylake and Kabylake (Youness Alaoui)

If needed, the -S flag can be removed or integrated with other
board-specific options by overriding CONFIG_ME_CLEANER_ARGS.

Change-Id: I2c12d09124dcc39924d1dc4eaf53a2dc1f69a2ac
Signed-off-by: default avatarNicola Corna <>

Tested-by: default avatarbuild bot (Jenkins) <>
Reviewed-by: default avatarYouness Alaoui <>
parent fe4f6ae5
......@@ -103,6 +103,11 @@ config USE_ME_CLEANER
comment "Please test the modified ME/TXE firmware and coreboot in two steps"
depends on USE_ME_CLEANER
depends on USE_ME_CLEANER
default "-S"
bool "Add gigabit ethernet firmware"
depends on HAVE_IFD_BIN
......@@ -63,7 +63,8 @@ ifeq ($(CONFIG_CHECK_ME),y)
printf " ME_CLEANER coreboot.pre\n"
util/me_cleaner/ $(obj)/coreboot.pre > \
util/me_cleaner/ $(obj)/coreboot.pre \
$(patsubst "%,%,$(patsubst %",%,$(CONFIG_ME_CLEANER_ARGS))) > \
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment