xref: /kvm-unit-tests/x86/run (revision fd149358c4910a68ba81aa0a7aa157a77205a43c)
191fe0599SRen, Yongjie#!/bin/bash
2928ec374SMichael S. Tsirkin
3b2a2aa5dSAndrew Jones[ -z "$STANDALONE" ] && source scripts/arch-run.bash
4b2a2aa5dSAndrew Jones
5d9a05378SBandan Dasqemubinarysearch="${QEMU:-qemu-kvm qemu-system-x86_64}"
6b895b967SBandan Das
7d9a05378SBandan Dasfor qemucmd in ${qemubinarysearch}
8b895b967SBandan Dasdo
9b895b967SBandan Das	unset QEMUFOUND
10b895b967SBandan Das	unset qemu
11d9a05378SBandan Das	if ! [ -z "${QEMUFOUND=$(${qemucmd} --help 2>/dev/null | grep "QEMU")}" ] &&
12d9a05378SBandan Das			${qemucmd} -device '?' 2>&1 | grep -F -e \"testdev\" -e \"pc-testdev\" > /dev/null;
13928ec374SMichael S. Tsirkin	then
14d9a05378SBandan Das		qemu="${qemucmd}"
15b895b967SBandan Das		break
16b895b967SBandan Das	fi
17b895b967SBandan Dasdone
18d9a05378SBandan 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 "
22a3831260SAndrew Jones	exit 2
23b895b967SBandan Daselif    [ -z "${qemu}" ]
24b895b967SBandan Dasthen
25b895b967SBandan Das	echo "No Qemu test device support found"
26a3831260SAndrew Jones	exit 2
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
4517fdf23eSAndrey Smetanincommand="${qemu} -enable-kvm $pc_testdev -vnc none -serial stdio $pci_testdev $hyperv_testdev -kernel"
46*fd149358SAndrew Jonescommand="$(timeout_cmd) $command"
4709142098SKevin Wolfecho ${command} "$@"
4892a1afcbSAndrew Jones
49b2a2aa5dSAndrew Jonesrun_qemu ${command} "$@"
50