177955fb5SAndrew Jones#!/usr/bin/env bash 277955fb5SAndrew Jones 377955fb5SAndrew Jonesif [ -z "$KUT_STANDALONE" ]; then 477955fb5SAndrew Jones if [ ! -f config.mak ]; then 577955fb5SAndrew Jones echo "run ./configure && make first. See ./configure -h" 677955fb5SAndrew Jones exit 2 777955fb5SAndrew Jones fi 877955fb5SAndrew Jones source config.mak 977955fb5SAndrew Jones source scripts/arch-run.bash 10*db9c4e1cSAlexandru Elisei source scripts/vmm.bash 1177955fb5SAndrew Jonesfi 1277955fb5SAndrew Jones 1377955fb5SAndrew Jones# Allow user overrides of some config.mak variables 14bc315beaSAndrew Jonesmach=$MACHINE_OVERRIDE 155f77b72dSJean-Philippe Bruckerqemu_cpu=$TARGET_CPU_OVERRIDE 1677955fb5SAndrew Jonesfirmware=$FIRMWARE_OVERRIDE 1777955fb5SAndrew Jones 18bc315beaSAndrew Jones: "${mach:=virt}" 195f77b72dSJean-Philippe Brucker: "${qemu_cpu:=$TARGET_CPU}" 205f77b72dSJean-Philippe Brucker: "${qemu_cpu:=$DEFAULT_QEMU_CPU}" 2177955fb5SAndrew Jones: "${firmware:=$FIRMWARE}" 2277955fb5SAndrew Jones[ "$firmware" ] && firmware="-bios $firmware" 2377955fb5SAndrew Jones 2477955fb5SAndrew Jonesset_qemu_accelerator || exit $? 2577955fb5SAndrew Jones[ "$ACCEL" = "kvm" ] && QEMU_ARCH=$HOST 2677955fb5SAndrew Jonesacc="-accel $ACCEL$ACCEL_PROPS" 2777955fb5SAndrew Jones 2877955fb5SAndrew Jonesqemu=$(search_qemu_binary) || exit $? 29bc315beaSAndrew Jonesif [ "$mach" = 'virt' ] && ! $qemu -machine '?' | grep -q 'RISC-V VirtIO board'; then 3077955fb5SAndrew Jones echo "$qemu doesn't support mach-virt ('-machine virt'). Exiting." 3177955fb5SAndrew Jones exit 2 3277955fb5SAndrew Jonesfi 33bc315beaSAndrew Jonesmach="-machine $mach" 3477955fb5SAndrew Jones 3577955fb5SAndrew Jonescommand="$qemu -nodefaults -nographic -serial mon:stdio" 365f77b72dSJean-Philippe Bruckercommand+=" $mach $acc $firmware -cpu $qemu_cpu " 3777955fb5SAndrew Jonescommand="$(migration_cmd) $(timeout_cmd) $command" 3877955fb5SAndrew Jones 39a755990cSAndrew Jonesif [ "$UEFI_SHELL_RUN" = "y" ]; then 40*db9c4e1cSAlexandru Elisei ENVIRON_DEFAULT=n run_test_status $command "$@" 4177955fb5SAndrew Joneselse 4277955fb5SAndrew Jones # We return the exit code via stdout, not via the QEMU return code 43*db9c4e1cSAlexandru Elisei run_test_status $command -kernel "$@" 4477955fb5SAndrew Jonesfi 45