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",