summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-09-13EFI boot header supportNathan Lee
2026-08-30add buddy allocator and remove the old freelist allocatorNathan Lee
- todo later: add other allocators (vmalloc + multi-page allocator) - todo later: initialize memory pages - the current kmalloc will not work anyways
2026-08-30add support for printk printers in the formatterNathan Lee
- todo: add support for size_t (currently, you can just cast to uintptr_t)
2026-08-30fix typos + .data section issuesNathan Lee
2026-08-28rework early kernel initNathan Lee
2026-08-28change kernel targetNathan Lee
2026-08-12move linker into arch-specific directoryNathan Lee
2026-08-12rework project structureNathan Lee
2026-08-03create BuildConfig systemNathan Lee
2026-08-03create a simple CPIO parser for initrd'sNathan Lee
2026-08-03use a shared function for callback registration, for easier GOT linkingNathan Lee
2026-07-30create stub for syscallsNathan Lee
2026-07-29create basic MMIO handler for consoleNathan Lee
2026-07-27separate module ld from objcopyNathan Lee
2026-07-26remove pci subsystem and replace it with console controllersNathan Lee
2026-07-26feat: update ELF parserNathan Lee
- added more header validity checks - create section name retrieval
2026-07-26fix: km_init fails to find memoryNathan Lee
This resolves an issue where km_init would fail to find the memory property if it was not the first node that it looked at.
2026-07-26create ringbuffer for loggingNathan Lee
2026-07-19update MakefileNathan Lee
- removed echo - changed LD to actually use ld.lld
2026-07-12create elf.hNathan Lee
The ELF parser needs more work, there are more structs to be added. memcpy was refactored from mem.h into common.h endianness conversions were standardized in types.h
2026-06-25create kzallocNathan
2026-06-25fix memory allocator logicNathan
- fixed an edge case in `kmalloc` where the broken block from a split may be too small to accomodate another `struct page`. this was fixed such that if we do not have enough room to allocate another `struct page` then `kmalloc` simply returns the entire page. - fixed empty and single-element `free_list` edge cases in `kfree`
2026-06-24update kmallocNathan Lee
2026-06-24create kmalloc and km_initNathan Lee
2026-06-19create dtb allocatorNathan Lee
the parent commit (b106df2447d23d6b3fcffa7cc87edde218d054f3) discussed the possibility of creating dtb device discovery. for that, we have replaced wdt device discovery with dtb device discovery. in the future, we will use the pci kernel module to use device discovery via a PCI controller
2026-06-17create wdt device discoveryNathan Lee
discuss: per wrv32em status, consider moving custom wdt format to dtb or pci device discovery (potentially both: we have the framework for pci.ko extension after using dtb to discover memory and pci devices)
2026-06-13create support for kernel modules (but don't implement them yet)Nathan Lee
2026-06-11initial commitNathan Lee