blob: cbe5dd792dcdd7fc9d22994df3e252d073842216 [file] [log] [blame]
#!/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
# Allow user overrides of some config.mak variables
processor=$PROCESSOR_OVERRIDE
firmware=$FIRMWARE_OVERRIDE
[ "$PROCESSOR" = "$ARCH" ] && PROCESSOR="max"
: "${processor:=$PROCESSOR}"
: "${firmware:=$FIRMWARE}"
[ "$firmware" ] && firmware="-bios $firmware"
set_qemu_accelerator || exit $?
[ "$ACCEL" = "kvm" ] && QEMU_ARCH=$HOST
acc="-accel $ACCEL$ACCEL_PROPS"
qemu=$(search_qemu_binary) || exit $?
if ! $qemu -machine '?' | grep -q 'RISC-V VirtIO board'; then
echo "$qemu doesn't support mach-virt ('-machine virt'). Exiting."
exit 2
fi
mach='-machine virt'
command="$qemu -nodefaults -nographic -serial mon:stdio"
command+=" $mach $acc $firmware -cpu $processor "
command="$(migration_cmd) $(timeout_cmd) $command"
if [ "$EFI_RUN" = "y" ]; then
ENVIRON_DEFAULT=n run_qemu_status $command "$@"
else
# We return the exit code via stdout, not via the QEMU return code
run_qemu_status $command -kernel "$@"
fi