BuildSystem: Add Memtest86+ as a secondary payload
This allows memtest86+ to be added to CBFS as a 'secondary' payload on x86 systems, to be loaded by the main payload if desired. Selecting this option, which defaults to no, builds the memtest86+ payload and adds it to CBFS as `img/memtest` which can then be loaded by for example SeaBIOS or GRUB. Change-Id: Iecf876aaf588ba1df7abdf6668cb26f089bf5f42 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/13858 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) Reviewed-by: Ben Gardner <gardner.ben@gmail.com>
This commit is contained in:
parent
f7fd63066f
commit
be63a24c4c
|
@ -12,6 +12,7 @@ payloads/external/FILO/filo/
|
|||
payloads/external/GRUB2/grub2/
|
||||
payloads/external/SeaBIOS/seabios/
|
||||
payloads/external/U-Boot/u-boot/
|
||||
payloads/external/Memtest86Plus/memtest86plus/
|
||||
util/crossgcc/acpica-unix-*/
|
||||
util/crossgcc/binutils-*/
|
||||
util/crossgcc/build-*BINUTILS/
|
||||
|
|
|
@ -67,4 +67,12 @@ config COREINFO_SECONDARY_PAYLOAD
|
|||
coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
|
||||
or any other payload that can load additional payloads.
|
||||
|
||||
config MEMTEST_SECONDARY_PAYLOAD
|
||||
bool "Load Memtest86+ as a secondary payload"
|
||||
default n
|
||||
depends on ARCH_X86 && !PAYLOAD_NONE
|
||||
help
|
||||
Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
|
||||
or any other payload that can load additional payloads.
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -82,3 +82,22 @@ payloads/external/U-Boot/u-boot/u-boot-dtb.bin u-boot: $(top)/$(DOTCONFIG)
|
|||
$(MAKE) -C payloads/external/U-Boot -f Makefile.inc \
|
||||
CONFIG_UBOOT_MASTER=$(CONFIG_UBOOT_MASTER) \
|
||||
CONFIG_UBOOT_STABLE=$(CONFIG_UBOOT_STABLE)
|
||||
|
||||
cbfs-files-$(CONFIG_MEMTEST_SECONDARY_PAYLOAD) += img/memtest
|
||||
img/memtest-file := payloads/external/Memtest86Plus/memtest86plus/memtest
|
||||
img/memtest-type := payload
|
||||
|
||||
ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
|
||||
MEMTEST_SERIAL_OPTIONS=SERIAL_CONSOLE_DEFAULT=1 \
|
||||
SERIAL_TTY=$(CONFIG_UART_FOR_CONSOLE) \
|
||||
SERIAL_BAUD_RATE=$(CONFIG_TTYS0_BAUD)
|
||||
endif
|
||||
|
||||
payloads/external/Memtest86Plus/memtest86plus/memtest: $(top)/$(DOTCONFIG)
|
||||
$(MAKE) -C payloads/external/Memtest86Plus -f Makefile.inc all \
|
||||
CC="$(CC_x86_32)" \
|
||||
LD="$(LD_x86_32)" \
|
||||
OBJCOPY="$(OBJCOPY_x86_32)" \
|
||||
AS="$(AS_x86_32)" \
|
||||
$(MEMTEST_SERIAL_OPTIONS) \
|
||||
MFLAGS= MAKEFLAGS=
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
##
|
||||
## This file is part of the coreboot project.
|
||||
##
|
||||
## Copyright (C) 2016 Google Inc.
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; version 2 of the License.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
|
||||
project_name=Memtest86+
|
||||
project_dir=$(shell pwd)/memtest86plus
|
||||
project_git_repo=https://review.coreboot.org/memtest86plus
|
||||
|
||||
all: build
|
||||
|
||||
$(project_dir):
|
||||
echo " Cloning $(project_name) from Git"
|
||||
git clone $(project_git_repo) $(project_dir)
|
||||
|
||||
fetch: $(project_dir)
|
||||
cd $(project_dir); \
|
||||
test -e '.git' && \
|
||||
git fetch && \
|
||||
git checkout origin/master
|
||||
|
||||
build: fetch
|
||||
echo " MAKE $(project_name)"
|
||||
$(MAKE) -C $(project_dir) all
|
||||
|
||||
clean:
|
||||
test -d $(project_dir) && $(MAKE) -C $(project_dir) clean || exit 0
|
||||
|
||||
distclean:
|
||||
rm -rf $(project_dir)
|
||||
|
||||
.PHONY: all build fetch clean distclean
|
Loading…
Reference in New Issue