#!/bin/bash
#these copied from autovirt build
QEMU_BIN="/usr/local/bin/qemu-stealth-x86_64"
OVMF_CODE="/usr/local/share/ovmf-stealth/OVMF_CODE.fd"
OVMF_VARS="/usr/local/share/ovmf-stealth/OVMF_VARS.fd"
#these exist on pve
VNC_PATH="/var/run/qemu-server/201.vnc"
QMP_PATH="/var/run/qemu-server/201.qmp"
PIDFILE="/var/run/qemu-server/201.pid"
# Pre-flight (A750 hookscript)
/var/lib/vz/snippets/GPU-autobind.sh 000 pre-start
QEMU_ARGS=(
-nodefaults
-enable-kvm
-L /usr/share/kvm
-name SCVM
-machine q35,hpet=off
-cpu host,-hypervisor,hv_vendor_id=whatever,hv_time=off,hv_relaxed=off,hv_spinlocks=0x1fff,hv_ipi=off,hv_reset=off,hv_runtime=off,hv_stimer=off,hv_synic=off,hv_vapic=off,hv_vpindex=off,kvm_pv_eoi=off,kvm_pv_unhalt=off
-smp 14,sockets=1,cores=14
-m 32768
-rtc base=localtime,driftfix=slew
-smbios type=1,manufacturer=readcted,product="readcted",uuid=ereadcted0,serial="To Be Filled By O.E.M.",version="To Be Filled By O.E.M.",family="To Be Filled By O.E.M.",sku="To Be Filled By O.E.M."
-drive if=pflash,readonly=on,file="$OVMF_CODE",format=raw,id=pflash0
-drive if=pflash,file="$OVMF_VARS",format=raw,id=efidisk0
# VFIO devices
# GPU
-device vfio-pci,host=0000:03:00.0,id=hostpci0,x-vga=on,romfile=/usr/share/kvm/vbios.bin
-device vfio-pci,host=0000:04:00.0,id=hostpci1
# SSD
-device vfio-pci,host=0000:08:00.0,id=hostpci2
# NIC
-device vfio-pci,host=0000:00:1f.0,id=hostpci3.0
-device vfio-pci,host=0000:00:1f.4,id=hostpci3.1
-device vfio-pci,host=0000:00:1f.5,id=hostpci3.2
-device vfio-pci,host=0000:00:1f.6,id=hostpci3.3
# no VGA
-vga none
# Proxmox-style management - kinda broken - makes all vms in webui go ?
#-vnc unix:"$VNC_PATH",password=on
-monitor unix:"$QMP_PATH",server=on,wait=off
-daemonize
-pidfile "$PIDFILE"
)
exec "$QEMU_BIN" "${QEMU_ARGS[@]}"