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 1077955fb5SAndrew Jonesfi 1177955fb5SAndrew Jones 1277955fb5SAndrew Jones# Allow user overrides of some config.mak variables 13bc315beaSAndrew Jonesmach=$MACHINE_OVERRIDE 14*5f77b72dSJean-Philippe Bruckerqemu_cpu=$TARGET_CPU_OVERRIDE 1577955fb5SAndrew Jonesfirmware=$FIRMWARE_OVERRIDE 1677955fb5SAndrew Jones 17bc315beaSAndrew Jones: "${mach:=virt}" 18*5f77b72dSJean-Philippe Brucker: "${qemu_cpu:=$TARGET_CPU}" 19*5f77b72dSJean-Philippe Brucker: "${qemu_cpu:=$DEFAULT_QEMU_CPU}" 2077955fb5SAndrew Jones: "${firmware:=$FIRMWARE}" 2177955fb5SAndrew Jones[ "$firmware" ] && firmware="-bios $firmware" 2277955fb5SAndrew Jones 2377955fb5SAndrew Jonesset_qemu_accelerator || exit $? 2477955fb5SAndrew Jones[ "$ACCEL" = "kvm" ] && QEMU_ARCH=$HOST 2577955fb5SAndrew Jonesacc="-accel $ACCEL$ACCEL_PROPS" 2677955fb5SAndrew Jones 2777955fb5SAndrew Jonesqemu=$(search_qemu_binary) || exit $? 28bc315beaSAndrew Jonesif [ "$mach" = 'virt' ] && ! $qemu -machine '?' | grep -q 'RISC-V VirtIO board'; then 2977955fb5SAndrew Jones echo "$qemu doesn't support mach-virt ('-machine virt'). Exiting." 3077955fb5SAndrew Jones exit 2 3177955fb5SAndrew Jonesfi 32bc315beaSAndrew Jonesmach="-machine $mach" 3377955fb5SAndrew Jones 3477955fb5SAndrew Jonescommand="$qemu -nodefaults -nographic -serial mon:stdio" 35*5f77b72dSJean-Philippe Bruckercommand+=" $mach $acc $firmware -cpu $qemu_cpu " 3677955fb5SAndrew Jonescommand="$(migration_cmd) $(timeout_cmd) $command" 3777955fb5SAndrew Jones 38a755990cSAndrew Jonesif [ "$UEFI_SHELL_RUN" = "y" ]; then 3977955fb5SAndrew Jones ENVIRON_DEFAULT=n run_qemu_status $command "$@" 4077955fb5SAndrew Joneselse 4177955fb5SAndrew Jones # We return the exit code via stdout, not via the QEMU return code 4277955fb5SAndrew Jones run_qemu_status $command -kernel "$@" 4377955fb5SAndrew Jonesfi 44