osdev4/qemu.sh
2021-09-13 15:37:15 +03:00

52 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
set -e
if [ -z "${MACH}" ]; then
MACH=rpi3b
fi
if [ -z "${PROFILE}" ]; then
PROFILE=debug
fi
if [ -z "$QEMU_BIN" ]; then
QEMU_BIN=qemu-system-aarch64
fi
ARCH=aarch64-unknown-none-${MACH}
KERNEL=target/${ARCH}/${PROFILE}/kernel
QEMU_OPTS="-chardev stdio,wait=off,id=char0,mux=on \
-mon chardev=char0"
if [ "$QEMU_DINT" = 1 ]; then
QEMU_OPTS="$QEMU_OPTS -d int"
fi
case ${MACH} in
rpi3b)
QEMU_OPTS="$QEMU_OPTS \
-serial null \
-serial chardev:char0 \
-dtb bcm2837-rpi-3-b.dtb \
-M raspi3b"
;;
virt)
KERNEL=target/${ARCH}/debug/kernel.bin
QEMU_OPTS="$QEMU_OPTS \
-serial chardev:char0 \
-M virt,virtualization=on \
-cpu cortex-a57 \
-m 256"
esac
QEMU_OPTS="$QEMU_OPTS \
-kernel ${KERNEL} \
-display none \
-device rtl8139 \
-s"
./build.sh
${QEMU_BIN} ${QEMU_OPTS}