summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-17Minimally working allocator.HEADtrunkNathan Ringo
2024-09-15Start of serious allocator work.Nathan Ringo
2024-09-14Fix ICE.Nathan Ringo
2024-09-14Start of virtual memory allocator; got an ICE, though!Nathan Ringo
2024-09-14Fix parens, adds VMA init doc comment.Nathan Ringo
2024-09-14Start of a platform-independent paging interface.Nathan Ringo
2024-09-12Adds the start of a regular allocator, and some page table maintainence.Nathan Ringo
2024-09-04Remove the mistaken global bit.Nathan Ringo
2024-09-04Enables paging.Nathan Ringo
2024-09-02Split hart0_boot in half, so stacks can be switched in the middle.Nathan Ringo
2024-09-02Set up the physical memory allocators.Nathan Ringo
2024-09-02Re-adds a bad logger.Nathan Ringo
2024-09-01Move arches.nix.Nathan Ringo
2024-09-01Fix debuginfo and restore apps.Nathan Ringo
2024-09-01Move everything over to the new organization.Nathan Ringo
2024-09-01Move almost all the kernel into crates/.Nathan Ringo
2024-09-01Fix Clippy lints.Nathan Ringo
2024-09-01Simplify debug printing of the buddy allocator.Nathan Ringo
2024-09-01Remove inaccurate doc comment, allow using space from the tree metadata was ↵Nathan Ringo
stored in.
2024-09-01Implements block merging and fixes a provenance bug.Nathan Ringo
2024-09-01Implement size class splitting.Nathan Ringo
2024-09-01Fix a bitset indexing bug, change a panic to be more informative.Nathan Ringo
2024-09-01Rename crates.Nathan Ringo
2024-09-01Minor cleanup.Nathan Ringo
2024-09-01Fix UB.Nathan Ringo
2024-09-01More buddy work, but we've got UB again... This time relating to stacked ↵Nathan Ringo
borrows...
2024-08-31Almost all of buddy initialization.Nathan Ringo
2024-08-31The start of a new librarified organization.Nathan Ringo
2024-08-31Adds a static assertion.Nathan Ringo
2024-08-27The start of the buddy allocator.Nathan Ringo
2024-08-27Adds a free-list for physical memory.Nathan Ringo
2024-08-27[boards/qemu-virt] Adds a canary for stack overflow.Nathan Ringo
2024-08-26Refactor DeviceTree parsing.Nathan Ringo
2024-08-26The start of interrupt and timer support, with some DeviceTree parsing.Nathan Ringo
2024-08-25[boards/qemu-virt] Set up timer interrupts.Nathan Ringo
2024-08-25Adds a basic DeviceTree reader.Nathan Ringo
2024-08-25Sets up PMP to allow access to all of physical memory.Nathan Ringo
2024-08-25Updates dependencies.Nathan Ringo
2024-08-25nixfmtNathan Ringo
2024-08-03uncommitted changes...Nathan Ringo
2024-02-25[boards/qemu-virt] Adds a strict flush routine.Nathan Ringo
This writes to the UART, ignoring any notion of readiness. This will probably need to be reworked once a real UART driver exists that is used by this platform.
2024-02-25[console] Adds a "strict flush" routine.Nathan Ringo
When this routine is set by the platform-specific code, it is run after every log message. This is a permanently temporary measure to make it easier to debug boot problems with the kernel when bringing it up on a new platform.
2024-02-25[console] Adds the start of a console subsystem to handle kernel logs.Nathan Ringo
The idea is that this is an output-only facility that log messages from the log crate are written to. It has a small buffer, and relies on a log destination regularly reading from the buffer. In the next commit, platform-specific code will be able to provide a "strict flush" routine, which runs after every write to the buffer and drains the buffer. This is mainly to help kernel development, where it's not assured that the kernel will even get as far in boot as initializing its allocator. Eventually, there will be a console fd that userspace can request, wait on, and read from.
2024-02-24Initial commitNathan Ringo