xref: /kvm-unit-tests/x86/run (revision d9a05378be77e60d9889e76a6da96e6cc04cb655)
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