Matthew Leach
370aae9697
libkernel: CpuOps: make interrupt flags a associated type
...
Rather than hard-coding the interrupt flags as a `usize`. Allow each CPU
architecture to define it's own interrupt flags type via an associated
type.
2026-05-10 13:57:49 -07:00
Matthew Leach
465fcb7acb
libkenrel: memory: move paging-related modules to paging module
...
Move PtePermissions to paging module which is feature-gated behind
`paging`.
Also move all AddressSpace related functionality behind the `proc_vm`
feature gate.
2026-04-16 21:22:16 +01:00
Matthew Leach
8ec17724d9
libkernel: add documentation and cargo metadata
...
Fix up missing documentaiton and add metadata to the cargo definition.
2026-04-13 11:37:57 -07:00
Matthew Leach
3f87c1f3d9
libkernel: add feature gates
...
Add feature gates for different libkernel features. Specifically:
- alloc: Memory allocation APIs.
- paging: Paging related types & functions.
- fs: Filesystem implementations.
- proc_vm: Process VM management.
- kbuf: Circular, page-backed, kernel buffer.
Also gate crate dependencies bsaed upon selected features.
2026-04-13 11:37:57 -07:00
Ashwin Naren
aa5a9c7b79
fix typos
2026-01-23 01:26:04 -08:00
Matthew Leach
ba7848fc8b
libkernel: CpuOps: add 'static trait bound
...
The CpuOps trait should never hold a reference to any other object. In
fact, it should be a singleton object which is constructed at kernel
boot and live for the entire lifetime of the system. Therefore, it's
safe to add the `'static` trait bound.
2025-12-17 20:04:31 -08:00
Matthew Leach
ca6fdd0da5
Initial Commit
...
Initial commit of arm64 bring-up code, kernel core (libkernel) and build
infrastructure.
2025-11-16 20:15:01 +00:00