ron minnich has uploaded this change for review.

View Change

Fix linuxcheck payload and start to fix bayou payload

The payloads have issues building. Bayou build doesn't work at all,
and doesn't even properly create an elf file; if you select bayou,
the cbfs will have no fallback/payload file at all.

linuxcheck, which I have found very useful, is not included in the
list.

The payloads/Kconfig file tries to include a non-existent
payloads/bayou/Kconfig.

I'm going to try to clean this up, bit by bit.
This first CL makes linuxcheck a first class payload; removes reference
to non-existant files; correctly sets the payload name for linuxcheck
and bayou; and makes sure linuxcheck builds.

Tested on qemu by enabling the linuxcheck payload and seeing it work.

We really need to start building these payloads on jenkins for, say,
qemu-q35. They're seriously bit-rotted. I don't even know the last time
bayou worked.

Change-Id: Ie5031ff78bf83d8c1cb3a5dd50d1e6b1bc3da424
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
---
M payloads/Kconfig
M payloads/Makefile.inc
M payloads/linuxcheck/Makefile
3 files changed, 16 insertions(+), 4 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/81/37481/1
diff --git a/payloads/Kconfig b/payloads/Kconfig
index 46cfaf5..ecf27f4 100644
--- a/payloads/Kconfig
+++ b/payloads/Kconfig
@@ -47,17 +47,25 @@
Select this option if you want to set bayou as your primary
payload.

+config PAYLOAD_LINUXCHECK
+ bool "Linuxcheck"
+ depends on ARCH_X86
+ help
+ Select this option if you want to set linuxcheck as your primary
+ payload. linuxcheck does some basic checking to make sure a Linux
+ kernel will at least boot enough to give you panic output.
+
source "payloads/external/*/Kconfig.name"

endchoice

source "payloads/external/*/Kconfig"

-source "payloads/bayou/Kconfig"
-
config PAYLOAD_FILE
string "Payload path and filename"
- depends on PAYLOAD_ELF || PAYLOAD_FIT
+ depends on PAYLOAD_ELF || PAYLOAD_FIT || PAYLOAD_BAYOU || PAYLOAD_LINUXCHECK
+ default "payloads/bayou/build/bayou.elf" if PAYLOAD_BAYOU
+ default "payloads/linuxcheck/linuxcheck.elf" if PAYLOAD_LINUXCHECK
default "payload.elf" if PAYLOAD_ELF
default "uImage" if PAYLOAD_FIT
help
diff --git a/payloads/Makefile.inc b/payloads/Makefile.inc
index 83d3910..563cbbd 100644
--- a/payloads/Makefile.inc
+++ b/payloads/Makefile.inc
@@ -24,6 +24,7 @@
img/nvramcui-compression := $(CBFS_SECONDARY_PAYLOAD_COMPRESS_FLAG)

PAYLOADS_LIST=\
+payloads/bayou \
payloads/coreinfo \
payloads/nvramcui \
payloads/libpayload \
@@ -38,6 +39,9 @@
payloads/external/LinuxBoot \
payloads/external/Yabits \

+payloads/bayou/build/bayou.elf bayou:
+ $(MAKE) -C payloads/bayou
+
payloads/coreinfo/build/coreinfo.elf coreinfo:
$(MAKE) -C payloads/coreinfo defaultbuild

diff --git a/payloads/linuxcheck/Makefile b/payloads/linuxcheck/Makefile
index 838c90d..a32dde8 100644
--- a/payloads/linuxcheck/Makefile
+++ b/payloads/linuxcheck/Makefile
@@ -19,7 +19,7 @@
include $(XCOMPILE)
LPGCC = CC="$(GCC_CC_x86_32)" "$(LIBPAYLOAD_DIR)/bin/lpgcc"
%.elf: %.c Makefile
- $(LPGCC) $(CFLAGS) -o $*.elf $*.c $(TARGETARCH).c
+ $(LPGCC) $(CFLAGS) -o $*.elf linuxcheck.c i386.c
else
# If libpayload is not found, first build libpayload,
# then do the make, this time it'll find libpayload

To view, visit change 37481. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie5031ff78bf83d8c1cb3a5dd50d1e6b1bc3da424
Gerrit-Change-Number: 37481
Gerrit-PatchSet: 1
Gerrit-Owner: ron minnich <rminnich@gmail.com>
Gerrit-MessageType: newchange