new file mode 100755
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+if [ ! -f config.mak ]; then
+ echo run ./configure first. See ./configure -h
+ exit 2
+fi
+source config.mak
+source scripts/functions.bash
+
+processor="$PROCESSOR"
+
+# Default to using KVM if available
+if [ -c /dev/kvm ]; then
+ if [ "$HOST" = "ppc64" ] && [ "$ARCH" = "ppc64" ]; then
+ usingkvm=yes
+ fi
+fi
+
+qemu="${QEMU:-qemu-system-$ARCH_NAME}"
+qpath=$(which $qemu 2>/dev/null)
+
+if [ -z "$qpath" ]; then
+ echo $qemu not found.
+ exit 2
+fi
+
+if ! $qemu -machine '?' 2>&1 | grep 'pseries' > /dev/null; then
+ echo "$qpath doesn't support pSeries ('-machine pseries'). Exiting."
+ exit 2
+fi
+
+boot_rom='powerpc/boot_rom.bin'
+if [ -f powerpc/rom/boot_rom.bin ]; then
+ boot_rom='powerpc/rom/boot_rom.bin'
+fi
+
+M='-machine pseries'
+if [ "$DRYRUN" != "yes" ]; then
+ if [ "$usingkvm" = "yes" ]; then
+ M+=',accel=kvm'
+ else
+ echo "Running with TCG"
+ M+=',accel=tcg'
+ fi
+else
+ M+=',accel=kvm:tcg'
+fi
+
+command="$qemu $M -bios $boot_rom -display none -serial stdio -kernel"
+echo $command "$@"
+
+if [ "$DRYRUN" != "yes" ]; then
+ $command "$@" | $SNOOPER
+ ret=$?
+ echo Return value from qemu: $ret
+ exit $ret
+fi
new file mode 100644
@@ -0,0 +1,19 @@
+# Define your new unittest following the convention:
+# [unittest_name]
+# file = foo.elf # Name of the "kernel" to be used
+# smp = 2 # Number of processors the VM will use during this test
+# # Use $MAX_SMP to use the maximum the host supports.
+# extra_params = -append <params...> # Additional parameters used
+# arch = powerpc/ppc64 # Only if test case is specific to one
+# groups = group1 group2 # Used to identify test cases with run_tests -g ...
+
+#
+# Test that the configured number of processors (smp = <num>), and
+# that the configured amount of memory (-m <MB>) are correctly setup
+# by the framework.
+#
+[selftest-setup]
+file = selftest.elf
+smp = 2
+extra_params = -m 256 -append 'setup smp=2 mem=256'
+groups = selftest
Now that we have all the pieces, pull them together into the run script. To run a test do ./powerpc-run powerpc/test.elf To run all tests in unittests.cfg do ./run_tests.sh Signed-off-by: Andrew Jones <drjones@redhat.com> --- powerpc/run | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ powerpc/unittests.cfg | 19 +++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100755 powerpc/run create mode 100644 powerpc/unittests.cfg