#!/usr/bin/env bash

if [ -z "$KUT_STANDALONE" ]; then
	if [ ! -f config.mak ]; then
		echo "run ./configure && make first. See ./configure -h"
		exit 2
	fi
	source config.mak
	source scripts/arch-run.bash
fi

set_qemu_accelerator || exit $?

qemu=$(search_qemu_binary) ||
	exit $?

if ! $qemu -machine '?' 2>&1 | grep 'pseries' > /dev/null; then
	echo "$qemu doesn't support pSeries ('-machine pseries'). Exiting."
	exit 2
fi

M='-machine pseries'
M+=",accel=$ACCEL$ACCEL_PROPS"

if [[ "$ACCEL" == "tcg" ]] ; then
	M+=",cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken,cap-ccf-assist=off"
elif [[ "$ACCEL" == "kvm" ]] ; then
	M+=",cap-ccf-assist=off"
fi

command="$qemu -nodefaults $M -bios $FIRMWARE"
command+=" -display none -serial stdio -kernel"
command="$(migration_cmd) $(timeout_cmd) $command"

# powerpc tests currently exit with rtas-poweroff, which exits with 0.
# run_qemu treats that as a failure exit and returns 1, so we need
# to fixup the fixup below by parsing the true exit code from the output.
# The second fixup is also a FIXME, because once we add chr-testdev
# support for powerpc, we won't need the second fixup.
run_qemu_status $command "$@"
