diff --git a/test/hello_world/Makefile.check b/test/hello_world/Makefile.check index 5633c195cace..053533fd7482 100644 --- a/test/hello_world/Makefile.check +++ b/test/hello_world/Makefile.check @@ -2,7 +2,9 @@ HELLO_WORLD_TEST := test/hello_world/hello_kernel/hello_kernel .PHONY: hello_world-tests hello_world-tests: $(HELLO_WORLD_TEST:%=%-check-smt-mambo) +hello_world-tests: $(HELLO_WORLD_TEST:%=%-check-smt-p9-mambo) hello_world-tests: $(HELLO_WORLD_TEST:%=%-check-mambo) +hello_world-tests: $(HELLO_WORLD_TEST:%=%-check-p9-mambo) hello_world-tests: $(HELLO_WORLD_TEST:%=%-check-qemu) boot-tests: hello_world-tests @@ -11,9 +13,15 @@ check: hello_world-tests $(HELLO_WORLD_TEST:%=%-check-smt-mambo): %-check-smt-mambo: % skiboot.lid $(call Q , BOOT TEST , THREADS=2 ./test/hello_world/run_mambo_hello_world.sh , $@) +$(HELLO_WORLD_TEST:%=%-check-smt-p9-mambo): %-check-smt-p9-mambo: % skiboot.lid + $(call Q , BOOT TEST , THREADS=2 ./test/hello_world/run_mambo_p9_hello_world.sh , $@) + $(HELLO_WORLD_TEST:%=%-check-mambo): %-check-mambo: % skiboot.lid $(call Q , BOOT TEST , ./test/hello_world/run_mambo_hello_world.sh, $@) +$(HELLO_WORLD_TEST:%=%-check-p9-mambo): %-check-p9-mambo: % skiboot.lid + $(call Q , BOOT TEST , ./test/hello_world/run_mambo_p9_hello_world.sh, $@) + $(HELLO_WORLD_TEST:%=%-check-qemu): %-check-qemu: % skiboot.lid $(call Q , BOOT TEST , ./test/hello_world/run_qemu_hello_world.sh, $@) diff --git a/test/hello_world/run_mambo_p9_hello_world.sh b/test/hello_world/run_mambo_p9_hello_world.sh new file mode 100755 index 000000000000..7f9c64258c37 --- /dev/null +++ b/test/hello_world/run_mambo_p9_hello_world.sh @@ -0,0 +1,62 @@ +#!/bin/bash + + +if [ -z "$MAMBO_PATH" ]; then + MAMBO_PATH=/opt/ibm/systemsim-p9/ +fi + +if [ -z "$MAMBO_BINARY" ]; then + MAMBO_BINARY="/run/p9/power9" +fi + +if [ ! -x "$MAMBO_PATH/$MAMBO_BINARY" ]; then + echo 'Could not find executable MAMBO_BINARY. Skipping hello_world test'; + exit 0; +fi + +if [ -n "$KERNEL" ]; then + echo 'Please rebuild skiboot without KERNEL set. Skipping hello_world test'; + exit 0; +fi + +if [ ! `command -v expect` ]; then + echo 'Could not find expect binary. Skipping hello_world test'; + exit 0; +fi + + +export SKIBOOT_ZIMAGE=`pwd`/test/hello_world/hello_kernel/hello_kernel + +# Currently getting some core dumps from mambo, so disable them! +OLD_ULIMIT_C=`ulimit -c` +ulimit -c 0 + +t=$(mktemp) || exit 1 + +trap "rm -f -- '$t'" EXIT + +( cd external/mambo; +cat <&1 > $t + +r=$? +if [ $r != 0 ]; then + cat $t + exit $r +fi + +ulimit -c $OLD_ULIMIT_C + +rm -f -- "$t" +trap - EXIT +exit 0;