15e61cba0SAndrew Jones#!/bin/bash 25e61cba0SAndrew Jones 35e61cba0SAndrew Jonesif [ ! -f config.mak ]; then 45e61cba0SAndrew Jones echo run ./configure first. See ./configure -h 55e61cba0SAndrew Jones exit 2 65e61cba0SAndrew Jonesfi 75e61cba0SAndrew Jonessource config.mak 85e61cba0SAndrew Jones 95e61cba0SAndrew Jonesqemu="${QEMU:-qemu-system-arm}" 105e61cba0SAndrew Jonesqpath=$(which $qemu 2>/dev/null) 115e61cba0SAndrew Jones 125e61cba0SAndrew Jonesif [ -z "$qpath" ]; then 135e61cba0SAndrew Jones echo $qemu not found. 145e61cba0SAndrew Jones exit 2 155e61cba0SAndrew Jonesfi 165e61cba0SAndrew Jones 175e61cba0SAndrew Jonesif ! $qemu -machine '?' 2>&1 | grep 'ARM Virtual Machine' > /dev/null; then 185e61cba0SAndrew Jones echo "$qpath doesn't support mach-virt ('-machine virt'). Exiting." 195e61cba0SAndrew Jones exit 2 205e61cba0SAndrew Jonesfi 215e61cba0SAndrew Jones 225e61cba0SAndrew JonesM='-machine virt' 235e61cba0SAndrew Jones 245e61cba0SAndrew Jonesif ! $qemu $M -device '?' 2>&1 | grep virtconsole > /dev/null; then 255e61cba0SAndrew Jones echo "$qpath doesn't support virtio-console for chr-testdev. Exiting." 265e61cba0SAndrew Jones exit 2 275e61cba0SAndrew Jonesfi 285e61cba0SAndrew Jones 29*b6f901ceSAndrew Jonesif $qemu $M -chardev testdev,id=id -initrd . 2>&1 \ 305e61cba0SAndrew Jones | grep backend > /dev/null; then 315e61cba0SAndrew Jones echo "$qpath doesn't support chr-testdev. Exiting." 325e61cba0SAndrew Jones exit 2 335e61cba0SAndrew Jonesfi 345e61cba0SAndrew Jones 355e61cba0SAndrew JonesM='-machine virt,accel=kvm:tcg' 365e61cba0SAndrew Joneschr_testdev='-device virtio-serial-device' 375e61cba0SAndrew Joneschr_testdev+=' -device virtconsole,chardev=ctd -chardev testdev,id=ctd' 385e61cba0SAndrew Jones 395e61cba0SAndrew Jonescommand="$qemu $M -cpu $PROCESSOR $chr_testdev" 405e61cba0SAndrew Jonescommand+=" -display none -serial stdio -kernel" 415e61cba0SAndrew Jones 425e61cba0SAndrew Jonesecho $command "$@" 435e61cba0SAndrew Jones$command "$@" 445e61cba0SAndrew Jonesret=$? 455e61cba0SAndrew Jonesecho Return value from qemu: $ret 465e61cba0SAndrew Jonesexit $ret 47