Expand description
Kernel entry point
Authors: MarioS271
ModulesΒ§
- arch π
- Architecture-specific code
Each archβs top level
mod.rsshould provide a publicbootfunction to make initializing that arch easier - config π
- Compile-Time Kernel Config; configure the compiled kernelβs default params
- cpu π
- Arch-abstract CPU definitions and state (mainly contains
KSTATE::cpu) - drivers π
- Drivers; includes TTY system, GPU/display drivers and much more
- ipc π
- Inter-Process Communication: Pipes, Sockets and more
- kprint π
- Kernel Print: the [
macros!] macro, kernel serial logging, kernel log ringbuffer and more - lib π
- Shared kernel lib:
IrqMutex,FmtBuffer,AlignedStack, panic codes and more - mm π
- Memory subsystem: physical memory manager, virtual memory manager, and heap allocator.
- net π
- Networking
- sched π
- Scheduler, ELF loading and more
- state π
- Global kernel state: [
KState] aggregate and [KStateSubCategory] trait. - syscall π
- Syscalls
- vfs π
- The VFS subsystem; creates and managed VFS namespaces like
fs:/,dev:/, β¦
MacrosΒ§
- kalert
- Log a line at alert severity (action must be taken immediately).
- kcrit
- Log a line at critical severity.
- kdebug
- Log a line at debug severity; compiled out unless the
debug-loggingfeature is enabled. - kemerg
- Log a line at emergency severity (system is unusable).
- kerror
- Log a line at error severity.
- kinfo
- Log a line at info severity.
- knotice
- Log a line at notice severity.
- kwarn
- Log a line at warning severity.
StructsΒ§
- Aligned
Bytes π
ConstantsΒ§
- USER_
BINARY_ πLEN
StaticsΒ§
FunctionsΒ§
- basic_
fb_ πinit - Initializes the Basic Framebuffer
- kernel_
main π - Abstract kernel entry point, called from the per-arch entry