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 <drjo...@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

diff --git a/powerpc/run b/powerpc/run
new file mode 100755
index 0000000000000..5bc826765eff8
--- /dev/null
+++ b/powerpc/run
@@ -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
diff --git a/powerpc/unittests.cfg b/powerpc/unittests.cfg
new file mode 100644
index 0000000000000..5da2c6242a1f9
--- /dev/null
+++ b/powerpc/unittests.cfg
@@ -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
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to