#!/usr/bin/env python3

import argparse
import subprocess
import os

parser = argparse.ArgumentParser()
parser.add_argument("--machine", default="virt")
parser.add_argument("--cpu", default="rv64")
parser.add_argument("--smp", default="1")
parser.add_argument("--ram", default="1024")
parser.add_argument("--kernel", default="build/caprese.elf")
parser.add_argument("--gdb", default="tcp::1234")
parser.add_argument("--debug", action="store_true")

args = parser.parse_args()

command = ["qemu-system-riscv64"]
command += ["-machine", args.machine]
command += ["-cpu", args.cpu]
command += ["-smp", args.smp]
command += ["-m", args.ram]
command += ["-bios", args.kernel]
command += ["-nographic"]
if args.debug:
    command += ["-gdb", args.gdb]
    command += ["-S"]

root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
subprocess.run(command, cwd=root_dir)
