payloads/external: Add memtest86+ v6 as secondary payload

This adds a Kconfig option to select memtest86+ version 6 as a secondary
payload and sets that as the default.  The coreboot version 5 code may
still be selected and used if desired.

Compiling for 32 bit requires glibc from multilib installed, if the host
system is running on 64 bit, as header files, e.g. gnu/stubs-32.h, are
required from there. So introduce a new choice menu which allows to
choose between 32 and 64 bit.

By default, the stable 6.20 version is selected instead of the top of
the main branch.

TEST=Build both V5 and V6, boot them in QEMU

Signed-off-by: Martin Roth <gaumless@gmail.com>
Signed-off-by: Felix Singer <felixsinger@posteo.net>
Change-Id: Ie0eedc25fcf37b925b072ca809c019a599a20392
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69277
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
This commit is contained in:
Martin Roth
2022-11-07 11:33:58 -07:00
committed by Felix Singer
parent 08f9732815
commit 8fc6d18fc0
3 changed files with 67 additions and 13 deletions

View File

@@ -1,8 +1,32 @@
if MEMTEST_SECONDARY_PAYLOAD
comment "Memtest86+"
choice
prompt "Memtest86+ version"
default MEMTEST_STABLE
prompt "Memtest86+ 5/6"
config MEMTEST86PLUS_V6
bool "Memtest86+ V6"
config MEMTEST86PLUS_V5
bool "Memtest86+ V5"
endchoice
choice
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