|  | #!/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 $? | 
|  |  | 
|  | is_pv() { | 
|  | if [ "${1: -7}" = ".pv.bin" ] || [ "${TESTNAME: -3}" = "_PV" ]; then | 
|  | return 0 | 
|  | fi | 
|  | return 1 | 
|  | } | 
|  |  | 
|  | if is_pv && [ "$ACCEL" = "tcg" ]; then | 
|  | echo "Protected Virtualization isn't supported under TCG" | 
|  | exit 2 | 
|  | fi | 
|  |  | 
|  | if is_pv && [ "$MIGRATION" = "yes" ]; then | 
|  | echo "Migration isn't supported under Protected Virtualization" | 
|  | exit 2 | 
|  | fi | 
|  |  | 
|  | M='-machine s390-ccw-virtio' | 
|  | M+=",accel=$ACCEL$ACCEL_PROPS" | 
|  |  | 
|  | if is_pv; then | 
|  | M+=",confidential-guest-support=pv0" | 
|  | fi | 
|  |  | 
|  | command="$qemu -nodefaults -nographic $M" | 
|  | if is_pv; then | 
|  | command+=" -object s390-pv-guest,id=pv0" | 
|  | fi | 
|  | command+=" -chardev stdio,id=con0 -device sclpconsole,chardev=con0" | 
|  | command+=" -kernel" | 
|  | command="$(panic_cmd) $(migration_cmd) $(timeout_cmd) $command" | 
|  |  | 
|  | # We return the exit code via stdout, not via the QEMU return code | 
|  | run_qemu_status $command "$@" |