Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/ash
- vbios='/home/robert/qemu/NVIDIA Quadro M2000 GPU GM206 BIOS Version 84.06.62.00.07-patched.rom'
- dvideo='0000:04:00.0'
- daudio='0000:04:00.1'
- dusbc='0000:00:14.0'
- daudio2='0000:00:1b.0'
- numthreads=6
- ARGS_passthrough="-device vfio-pci,host=$dusbc,id=usb_controller \
- -device vfio-pci,host=$daudio2,id=audiodev"
- ARGS_passthrough+=" -vga none \
- -nographic \
- -device vfio-pci,host=$dvideo,id=M2000_video,x-vga=on,multifunction=on,romfile=\"$vbios\" \
- -device vfio-pci,host=$daudio,id=M2000_audio"
- ARGS_base="\
- -name guest=win10,debug-threads=on \
- -machine q35,accel=kvm \
- -monitor stdio \
- -serial none \
- -cpu host,hv-vendor-id=whatever,kvm=off \
- -enable-kvm \
- -smp $numthreads,sockets=1,dies=1,threads=1 \
- -m 32G \
- -mem-prealloc \
- -serial none \
- -rtc clock=host,base=localtime \
- -net nic,macaddr=00:50:56:a8:09:18 \
- -drive file="/home/robert/qemu/Windows_10_21H1/drive1.qcow2",index=0,media=disk \
- -drive file="/home/robert/qemu/Windows_10_21H1/drive2_data.qcow2",index=1,media=disk \
- -usb"
- doas /usr/local/bin/vfio.sh "$dusbc" unbind
- doas /usr/local/bin/vfio.sh "$daudio2" unbind
- doas /usr/local/bin/gpu_vfio.sh "$dvideo" "$daudio" unbind
- cmd="qemu-system-x86_64 $ARGS_base"
- cmd+=" $ARGS_passthrough"
- echo "$cmd"
- eval "$cmd" &
- pid=$!
- echo "QEMU PID $pid"
- sleep 5
- echo
- hostcpu=(0 1 2 3 4 5 12 13 14 15 16 17)
- for cpu in $(seq 0 $numthreads)
- do
- p="$(ps -T | \
- grep -m1 "CPU $cpu/KVM" | \
- grep -v grep | \
- awk -F" " '{print $1}')"
- if ! [ -z "$p" ]
- then
- if [ -z "${hostcpu[cpu]}" ]
- then
- echo "cpu$cpu pinning not set"
- else
- taskset -pc ${hostcpu[cpu]} $p
- #sudo /usr/bin/renice -22 $p
- fi
- fi
- done
- grep -i huge /proc/meminfo
- while kill -s 0 $pid
- do
- sleep 2
- done
- echo "qemu is done"
- doas /usr/local/bin/gpu_vfio.sh "$dvideo" "$daudio" bind
- doas /usr/local/bin/vfio.sh "$daudio2" bind
- doas /usr/local/bin/vfio.sh "$dusbc" bind
Advertisement
Add Comment
Please, Sign In to add comment