summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-03-27 16:35:42 -0400
committerFreya Murphy <freya@freyacat.org>2025-03-27 16:35:42 -0400
commiteab3dd71ee0e80e40f624124a3a1b564112e66d6 (patch)
treea9e6181a7bf012812f1ff5e3c47cf2d8150a9c35
parentreadme (diff)
downloadcomus-eab3dd71ee0e80e40f624124a3a1b564112e66d6.tar.gz
comus-eab3dd71ee0e80e40f624124a3a1b564112e66d6.tar.bz2
comus-eab3dd71ee0e80e40f624124a3a1b564112e66d6.zip
disable kvm (breaks gdb), fix kernel to be flat binary
-rw-r--r--Makefile12
-rw-r--r--build.zig2
2 files changed, 7 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 7bf3f7a..184a633 100644
--- a/Makefile
+++ b/Makefile
@@ -12,10 +12,6 @@ QEMUOPTS = -drive file=bin/disk.img,index=0,media=disk,format=raw \
-m 4G \
-name kern
-ifeq ($(UNAME), Linux)
-QEMUOPTS += -enable-kvm -display sdl
-endif
-
qemu: bin/disk.img
$(QEMU) $(QEMUOPTS)
@@ -40,12 +36,16 @@ bin/boot.bin: build
cd bin && \
objcopy -S -O binary -j .text boot boot.bin
+bin/kernel.bin: build
+ cd bin && \
+ objcopy -S -O binary kernel kernel.bin
+
bin/user.img: build
cd bin && \
./mkblob init idle prog* shell
-bin/disk.img: build bin/boot.bin bin/user.img
+bin/disk.img: bin/kernel.bin bin/boot.bin bin/user.img
cd bin && \
./BuildImage -d usb -o disk.img -b boot.bin \
- kernel 0x10000 user.img 0x30000
+ kernel.bin 0x10000 user.img 0x30000
diff --git a/build.zig b/build.zig
index 269c992..a1b4369 100644
--- a/build.zig
+++ b/build.zig
@@ -29,6 +29,7 @@ const ld_flags = &[_][]const u8{
const boot_src = &[_][]const u8{"boot/boot.S"};
const kernel_src = &[_][]const u8{
+ "kernel/startup.S", // must be first
"kernel/cio.c",
"kernel/clock.c",
"kernel/isrs.S",
@@ -37,7 +38,6 @@ const kernel_src = &[_][]const u8{
"kernel/list.c",
"kernel/procs.c",
"kernel/sio.c",
- "kernel/startup.S",
"kernel/support.c",
"kernel/syscalls.c",
"kernel/user.c",