Skip to main content

Crate ukernel_sys

Crate ukernel_sys 

Source
Expand description

System interface types for µKernel.

This crate defines the ABI between userspace domains and the µKernel microkernel. It contains:

§Architecture

Application (Rust std or no_std)
    ↓
libposix.a (queues KernelOps into ring)
    ↓ SYS_SUBMIT
µKernel (processes ring, capability checks)

This crate defines the types at the boundary. It is no_std and has zero dependencies.

§Usage

Most applications don’t use this crate directly — they use Rust std (via the x86_64-americankernel-ukernel target) or libposix. This crate is for:

  • Building custom domain runtimes
  • Writing kernel-level drivers or subsystems
  • Understanding the µKernel syscall interface

Re-exports§

pub use kernel_op::KernelOp;
pub use submit_ring::CompleteEntry;
pub use submit_ring::SubmitEntry;
pub use submit_ring::SubmitRing;
pub use submit_ring::RING_SIZE;
pub use submit_ring::RING_VADDR;
pub use subsystem::SubsystemId;

Modules§

kernel_op
Kernel operation codes for the submission ring.
submit_ring
Submission ring for batched kernel operations.
subsystem
Subsystem identity for loadable domain types.