acadia/zion
Drew Galbraith bddf26b645 Revert "[Zion][Yellowstone] First pass at adding PCI ioport access."
This reverts commit b677633248.
2025-05-08 00:33:58 -07:00
..
boot Move to new limine format. 2025-01-25 23:26:01 -08:00
capability [Zion] Make sure result of ValidateCapability is used. 2024-08-17 17:14:30 -07:00
common Revert "[Zion][Yellowstone] First pass at adding PCI ioport access." 2025-05-08 00:33:58 -07:00
debug Enable bochs terminal output. 2025-05-06 22:26:00 -07:00
include Revert "[Zion][Yellowstone] First pass at adding PCI ioport access." 2025-05-08 00:33:58 -07:00
interrupt [Zion][Denali] Move to MSI for AHCI devices. 2025-05-05 23:14:01 -07:00
lib [Zion] Add extra message for when unmap fails. 2024-08-17 12:54:09 -07:00
loader Revert "[Zion][Yellowstone] First pass at adding PCI ioport access." 2025-05-08 00:33:58 -07:00
memory [Zion] Ensure memory alignment of large allocations. 2024-08-17 12:53:25 -07:00
object Revert "[Zion][Yellowstone] First pass at adding PCI ioport access." 2025-05-08 00:33:58 -07:00
scheduler [Zion] Add a thread sleep call. 2023-12-07 00:20:03 -08:00
syscall Revert "[Zion][Yellowstone] First pass at adding PCI ioport access." 2025-05-08 00:33:58 -07:00
usr [Zion] Remove dead ZMessage struct. 2023-11-02 21:57:29 -07:00
CMakeLists.txt Revert "[Zion][Yellowstone] First pass at adding PCI ioport access." 2025-05-08 00:33:58 -07:00
README.md Update READMEs and TODOs 2023-10-24 22:56:45 -07:00
TODO.md Update TODOs 2023-12-05 16:16:42 -08:00
linker.ld Barebones Kernel Commit 2023-05-17 20:20:53 -07:00
zion.cpp First pass at getting Acadia running under bochs. 2025-05-06 22:22:02 -07:00

README.md

Zion Microkernel

The Zion Microkernel is a capability based kernel. The types of objects that processes can hold a capability to exist in the object/ directory. The system calls used to interact with them are enumerated in include/zcall.h and are implemented in the syscalls/ directory.

The system uses a barebones ELF loader (loader/init_loader.h) to jump to userspace but from there userspace processes are responsible for loading child processes into memory and executing them.

Open Work

The TODO file enumerates current areas for improvement.