tornado-os/justfile

48 lines
1.3 KiB
Makefile

target := "riscv64imac-unknown-none-elf"
mode := "debug"
build-path := "target/" + target + "/" + mode + "/"
bootloader-elf := "../rustsbi/target/" + target + "/debug/rustsbi-qemu"
bootloader-bin := "../rustsbi/target/" + target + "/debug/rustsbi-qemu.bin"
kernel-elf := build-path + "tornado-kernel"
kernel-bin := build-path + "tornado-kernel.bin"
objdump := "riscv64-unknown-elf-objdump"
size := "rust-size"
threads := "1"
build:
@just -f "tornado-kernel/justfile" build
qemu: build
@qemu-system-riscv64 \
-machine virt \
-nographic \
-bios none \
-device loader,file={{bootloader-bin}},addr=0x80000000 \
-device loader,file={{kernel-bin}},addr=0x80200000 \
-smp threads={{threads}}
run: build qemu
asm: build
@{{objdump}} -D {{kernel-elf}} | less
size: build
@{{size}} -A -x {{kernel-elf}}
debug: build
@qemu-system-riscv64 \
-machine virt \
-nographic \
-bios none \
-device loader,file={{bootloader-bin}},addr=0x80000000 \
-device loader,file={{kernel-bin}},addr=0x80200000 \
-smp threads={{threads}} \
-gdb tcp::1234 -S
gdb:
@gdb --eval-command="file {{kernel-elf}}" --eval-command="target remote localhost:1234"