#!/bin/bash

. parse-args "$@"

disk="/opt/dev/vm/${NAME-default}/disk.qcow2"

if [[ -n "${CREATE-}" ]]; then
  mkdir -p "$(dirname "$disk")"
  qemu-img create -f qcow2 "$disk" "$CREATE"
fi

USB_LINE=()
if [[ -n "${USB-}" ]]; then
  USB_LINE+=( -device "usb-host,vendorid=0x${USB%:*},productid=0x${USB#*:}" )
fi


sudo qemu-system-x86_64 \
  -enable-kvm \
  -m ${GB-12}G \
  -smp ${CPUS-4} \
  -cpu host \
  -machine q35 \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
  -drive if=pflash,format=raw,file=/usr/share/OVMF/OVMF_VARS_4M.fd \
  -drive file="$disk",format=qcow2,if=virtio,cache=writeback,aio=threads \
  -device qemu-xhci \
  "${USB_LINE[@]}" \
  -device virtio-net-pci,netdev=net0 \
  -netdev bridge,id=net0,br=${BR-br0} \
  -display ${DISPLAY_VM-gtk} \
  -serial mon:stdio