191fe0599SRen, Yongjie#!/bin/bash 2b895b967SBandan DasNOTFOUND=1 3b895b967SBandan DasTESTDEVNOTSUPP=2 4928ec374SMichael S. Tsirkin 5*d9a05378SBandan Dasqemubinarysearch="${QEMU:-qemu-kvm qemu-system-x86_64}" 6b895b967SBandan Das 7*d9a05378SBandan Dasfor qemucmd in ${qemubinarysearch} 8b895b967SBandan Dasdo 9b895b967SBandan Das unset QEMUFOUND 10b895b967SBandan Das unset qemu 11*d9a05378SBandan Das if ! [ -z "${QEMUFOUND=$(${qemucmd} --help 2>/dev/null | grep "QEMU")}" ] && 12*d9a05378SBandan Das ${qemucmd} -device '?' 2>&1 | grep -F -e \"testdev\" -e \"pc-testdev\" > /dev/null; 13928ec374SMichael S. Tsirkin then 14*d9a05378SBandan Das qemu="${qemucmd}" 15b895b967SBandan Das break 16b895b967SBandan Das fi 17b895b967SBandan Dasdone 18*d9a05378SBandan Das 19b895b967SBandan Dasif [ -z "${QEMUFOUND}" ] 20b895b967SBandan Dasthen 21b895b967SBandan Das echo "A QEMU binary was not found, You can set a custom location by using the QEMU=<path> environment variable " 22b895b967SBandan Das exit ${NOTFOUND} 23b895b967SBandan Daselif [ -z "${qemu}" ] 24b895b967SBandan Dasthen 25b895b967SBandan Das echo "No Qemu test device support found" 26b895b967SBandan Das exit ${TESTDEVNOTSUPP} 27928ec374SMichael S. Tsirkinfi 28928ec374SMichael S. Tsirkin 29ec3c77fbSRen, Yongjieif 30740001b3SRen, Yongjie ${qemu} -device '?' 2>&1 | grep -F "pci-testdev" > /dev/null; 315292dbf7SMichael S. Tsirkinthen 325292dbf7SMichael S. Tsirkin pci_testdev="-device pci-testdev" 335292dbf7SMichael S. Tsirkinelse 345292dbf7SMichael S. Tsirkin pci_testdev="" 355292dbf7SMichael S. Tsirkinfi 365292dbf7SMichael S. Tsirkin 37928ec374SMichael S. Tsirkinif 38740001b3SRen, Yongjie ${qemu} -device '?' 2>&1 | grep -F "pc-testdev" > /dev/null; 39928ec374SMichael S. Tsirkinthen 405292dbf7SMichael S. Tsirkin pc_testdev="-device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4" 41928ec374SMichael S. Tsirkinelse 425292dbf7SMichael S. Tsirkin pc_testdev="-device testdev,chardev=testlog -chardev file,id=testlog,path=msr.out" 43928ec374SMichael S. Tsirkinfi 4409142098SKevin Wolf 450b8c3946SPaolo Bonzinicommand="${qemu} -enable-kvm $pc_testdev -vnc none -serial stdio $pci_testdev -kernel" 4609142098SKevin Wolfecho ${command} "$@" 4709142098SKevin Wolf${command} "$@" 4809142098SKevin Wolfret=$? 4909142098SKevin Wolfecho Return value from qemu: $ret 5009142098SKevin Wolfexit $ret 51