diff --git a/payloads/Kconfig b/payloads/Kconfig index 00d5d88e96..6c178d40a2 100644 --- a/payloads/Kconfig +++ b/payloads/Kconfig @@ -77,6 +77,27 @@ config MEMTEST_SECONDARY_PAYLOAD Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB, or any other payload that can load additional payloads. +choice + prompt "Memtest86+ version" + default MEMTEST_STABLE + depends on MEMTEST_SECONDARY_PAYLOAD + +config MEMTEST_STABLE + bool "Stable" + help + Stable Memtest86+ version. + + For reproducible builds, this option must be selected. +config MEMTEST_MASTER + bool "Master" + help + Newest Memtest86+ version. + + This option will fetch the newest version of the Memtest86+ code, + updating as new changes are committed. This makes the build + non-reproducible, as it can fetch different code each time. +endchoice + config NVRAMCUI_SECONDARY_PAYLOAD bool "Load nvramcui as a secondary payload" default n diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 26a561365a..5ae9f7e6f1 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -122,6 +122,8 @@ payloads/external/Memtest86Plus/memtest86plus/memtest: $(top)/$(DOTCONFIG) LD="$(LD_x86_32)" \ OBJCOPY="$(OBJCOPY_x86_32)" \ AS="$(AS_x86_32)" \ + CONFIG_MEMTEST_MASTER=$(CONFIG_MEMTEST_MASTER) \ + CONFIG_MEMTEST_STABLE=$(CONFIG_MEMTEST_STABLE) \ $(MEMTEST_SERIAL_OPTIONS) \ MFLAGS= MAKEFLAGS= diff --git a/payloads/external/Memtest86Plus/Makefile b/payloads/external/Memtest86Plus/Makefile index f77fa38a1c..90ea5e8a7a 100644 --- a/payloads/external/Memtest86Plus/Makefile +++ b/payloads/external/Memtest86Plus/Makefile @@ -13,8 +13,10 @@ ## GNU General Public License for more details. ## -TAG-y=origin/master -NAME-y=MASTER +TAG-$(CONFIG_MEMTEST_MASTER)=origin/master +NAME-$(CONFIG_MEMTEST_MASTER)=Master +TAG-$(CONFIG_MEMTEST_STABLE)=ca352c9a6bd8c1bba16ea22cbfc7028d97bacec9 +NAME-$(CONFIG_MEMTEST_STABLE)=Stable project_name=Memtest86+ project_dir=$(CURDIR)/memtest86plus @@ -33,7 +35,7 @@ fetch: $(project_dir) git fetch; fi checkout: fetch - echo " Checking out $(project_name) revision $(NAME-y)" + echo " Checking out $(project_name) revision $(NAME-y) ($(TAG-y))" cd $(project_dir); \ git checkout master; \ git branch -D coreboot 2>/dev/null; \