summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--payloads/external/Makefile.inc12
-rw-r--r--payloads/external/Memtest86Plus/Kconfig.secondary31
-rw-r--r--payloads/external/Memtest86Plus/Makefile35
3 files changed, 66 insertions, 12 deletions
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc
index 8222dc8918..779b3f4260 100644
--- a/payloads/external/Makefile.inc
+++ b/payloads/external/Makefile.inc
@@ -304,8 +304,14 @@ img/tint-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
# Memtest86+
+ifeq ($(CONFIG_MEMTEST86PLUS_V6),y)
+memtest_dir:=memtest86plus_v6
+else
+memtest_dir:=memtest86plus_v5
+endif
+
cbfs-files-$(CONFIG_MEMTEST_SECONDARY_PAYLOAD) += img/memtest
-img/memtest-file := payloads/external/Memtest86Plus/memtest86plus/memtest
+img/memtest-file := payloads/external/Memtest86Plus/$(memtest_dir)/memtest
img/memtest-type := payload
img/memtest-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)
@@ -315,7 +321,7 @@ ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
SERIAL_BAUD_RATE=$(CONFIG_TTYS0_BAUD)
endif
-payloads/external/Memtest86Plus/memtest86plus/memtest: $(DOTCONFIG)
+payloads/external/Memtest86Plus/$(memtest_dir)/memtest: $(DOTCONFIG)
$(MAKE) -C payloads/external/Memtest86Plus all \
CC="$(CC_x86_32)" \
LD="$(LD_x86_32)" \
@@ -325,6 +331,8 @@ payloads/external/Memtest86Plus/memtest86plus/memtest: $(DOTCONFIG)
CONFIG_MEMTEST_REVISION_ID=$(CONFIG_MEMTEST_REVISION_ID) \
CONFIG_MEMTEST_MAIN=$(CONFIG_MEMTEST_MAIN) \
CONFIG_MEMTEST_STABLE=$(CONFIG_MEMTEST_STABLE) \
+ CONFIG_MEMTEST86PLUS_V5=$(CONFIG_MEMTEST86PLUS_V5) \
+ CONFIG_MEMTEST86PLUS_V6=$(CONFIG_MEMTEST86PLUS_V6) \
$(MEMTEST_SERIAL_OPTIONS) \
MFLAGS= MAKEFLAGS=
diff --git a/payloads/external/Memtest86Plus/Kconfig.secondary b/payloads/external/Memtest86Plus/Kconfig.secondary
index 98a0d06cb9..d357399f09 100644
--- a/payloads/external/Memtest86Plus/Kconfig.secondary
+++ b/payloads/external/Memtest86Plus/Kconfig.secondary
@@ -1,8 +1,32 @@
if MEMTEST_SECONDARY_PAYLOAD
+comment "Memtest86+"
+
+choice
+ prompt "Memtest86+ 5/6"
+
+config MEMTEST86PLUS_V6
+ bool "Memtest86+ V6"
+
+config MEMTEST86PLUS_V5
+ bool "Memtest86+ V5"
+
+endchoice
+
choice
- prompt "Memtest86+ version"
- default MEMTEST_STABLE
+ prompt "Target architecture"
+ depends on MEMTEST86PLUS_V6
+
+config MEMTEST86PLUS_ARCH_64
+ bool "64 bit"
+
+config MEMTEST86PLUS_ARCH_32
+ bool "32 bit"
+
+endchoice
+
+choice
+ prompt "Memtest86+ revision"
depends on MEMTEST_SECONDARY_PAYLOAD
config MEMTEST_STABLE
@@ -19,12 +43,13 @@ config MEMTEST_MAIN
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.
+
config MEMTEST_REVISION
bool "git revision"
help
Select this option if you have a specific commit or branch
that you want to use as the revision from which to
- build Memtest86+. This makes the build
+ build Memtest86+. Using a branch version makes the build
non-reproducible, as it can fetch different code each time.
You will be able to specify the name of a branch or a commit id
diff --git a/payloads/external/Memtest86Plus/Makefile b/payloads/external/Memtest86Plus/Makefile
index fe24e2c780..8f3205831c 100644
--- a/payloads/external/Memtest86Plus/Makefile
+++ b/payloads/external/Memtest86Plus/Makefile
@@ -1,14 +1,32 @@
## SPDX-License-Identifier: GPL-2.0-only
+project_name=Memtest86+
+
+ifeq ($(CONFIG_MEMTEST86PLUS_V6),y)
+project_dir=$(CURDIR)/memtest86plus_v6
+
+ifeq ($(MEMTEST86PLUS_ARCH_64),y)
+build_dir=$(project_dir)/build64
+else
+build_dir=$(project_dir)/build32
+endif
+project_git_repo=https://github.com/memtest86plus/memtest86plus.git
TAG-$(CONFIG_MEMTEST_MAIN)=origin/main
NAME-$(CONFIG_MEMTEST_MAIN)=Main
-TAG-$(CONFIG_MEMTEST_STABLE)=0bd34c22604660e4283316331f3e7bf8a3863753
+TAG-$(CONFIG_MEMTEST_STABLE)=v6.20
NAME-$(CONFIG_MEMTEST_STABLE)=Stable
TAG-$(CONFIG_MEMTEST_REVISION)=$(CONFIG_MEMTEST_REVISION_ID)
+else
+project_dir=$(CURDIR)/memtest86plus_v5
-project_name=Memtest86+
-project_dir=$(CURDIR)/memtest86plus
+build_dir=$(project_dir)
project_git_repo=https://review.coreboot.org/memtest86plus.git
+TAG-$(CONFIG_MEMTEST_MAIN)=origin/main
+NAME-$(CONFIG_MEMTEST_MAIN)=Main
+TAG-$(CONFIG_MEMTEST_STABLE)=0bd34c22604660e4283316331f3e7bf8a3863753
+NAME-$(CONFIG_MEMTEST_STABLE)=Stable
+TAG-$(CONFIG_MEMTEST_REVISION)=$(CONFIG_MEMTEST_REVISION_ID)
+endif
all: build
@@ -25,7 +43,7 @@ ifeq ($(CONFIG_MEMTEST_REVISION),y)
endif
false
endif
- -cd $(project_dir); git show $(TAG-y) >/dev/null 2>&1 ; \
+ -cd $(project_dir) 2>/dev/null; git show $(TAG-y) >/dev/null 2>&1 ; \
if [ $$? -ne 0 ] || [ "$(TAG-y)" = "origin/main" ]; then \
echo " Fetching new commits from the $(project_name) git repo"; \
git fetch; fi
@@ -39,10 +57,13 @@ checkout: fetch
build: checkout
echo " MAKE $(project_name) $(NAME-y)"
- $(MAKE) -C $(project_dir) all
+ $(MAKE) -C $(build_dir) all
+ifeq ($(CONFIG_MEMTEST86PLUS_V6),y)
+ cp $(build_dir)/memtest.bin $(project_dir)/memtest
+endif
clean:
- test -d $(project_dir) && $(MAKE) -C $(project_dir) clean || exit 0
+ test -d $(build_dir) && $(MAKE) -C $(build_dir) clean || exit 0
distclean:
rm -rf $(project_dir)
@@ -50,4 +71,4 @@ distclean:
print-repo-info:
echo "$(project_git_repo) $(project_dir)"
-.PHONY: all build checkout clean distclean fetch print-repo-info
+.PHONY: all build checkout check_version clean distclean fetch print-repo-info