Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-04-14 | kernel: port init's `printf` implementation | dzwdz | |
2022-03-06 | kernel: print newlines after every boot stage | dzwdz | |
IIRC i haven't done this because the vga driver doesn't support newlines - but it doesn't support a lot of other stuff used by the shell. This doesn't make the VGA output look any worse than it already did, and it makes the serial output nicer. | |||
2021-09-20 | create a few specialized panic()s | dzwdz | |
thanks to this i can tell which ones are placeholders, and which ones should stay | |||
2021-09-19 | mark run_init as _Noreturn | dzwdz | |
2021-09-11 | replace `user_ptr` with a linux-style `__user` annotation | dzwdz | |
2021-09-05 | move most of the memory stuff to kernel/mem/ | dzwdz | |
2021-08-24 | switch to using user_ptr for pointers coming from userland | dzwdz | |
this avoid accidental dereferences, and now it's easy to tell apart which pointers are safe to directly read and which aren't. cons: - const is completely discarded | |||
2021-08-09 | print the boot heart on both VGA and serial | dzwdz | |
2021-08-09 | rename `log_` to `tty_`, `tty_` to `vga_` | dzwdz | |
2021-08-03 | a bad testing framework | dzwdz | |
2021-07-26 | rename process_new() to process_seed() | dzwdz | |
it's only meant to create the root process, the old name could've been misleading | |||
2021-07-25 | print a heart on boot | dzwdz | |
2021-07-24 | fix some warnings | dzwdz | |
2021-07-24 | save all registers on syscalls | dzwdz | |
2021-07-22 | don't map the VGA console buffer in user processes | dzwdz | |
2021-07-20 | per-process virtual memory | dzwdz | |
VGA is only mapped into the virtual memory because there are no other ways of interacting with the OS. | |||
2021-07-20 | rename pagedir_use() to pagedir_switch() | dzwdz | |
imo "use" was slightly misleading | |||
2021-07-19 | remove the unused r3_test function | dzwdz | |
2021-07-19 | very basic paging | dzwdz | |
2021-07-18 | basic executable loading | dzwdz | |
2021-07-18 | move all kernel sources to src/kernel/ | dzwdz | |
2021-07-17 | detect the highest used memory address, and only allocate pages above it | dzwdz | |
2021-07-17 | basic boot module support | dzwdz | |
This loads a file from the boot disk into memory. Currently it just gets printed, but it's going to become a real executable soon. | |||
2021-07-10 | abstract away logging | dzwdz | |
Now, the kernel only interfaces with the architecture dependent stuff via functions declared in generic.h. I'll write a linter enforcing this soon. | |||
2021-07-10 | a sensible source structure | dzwdz | |
The idea is that src/kernel/ is only allowed to interface with the hardware using whatever's defined in src/arch/generic.h. I'll probably write a small script for checking this later on. This is a giant commit so I've probably fucked something up. It boots fine on Bochs and QEMU, so at least there's that. | |||
2021-07-10 | separate the source code from object files; more modular Makefile | dzwdz | |