Skip to main content

Crate kernel_api

Crate kernel_api 

Source
Expand description

Popcorn2 kernel public API.

Provides a mix of utility types and functions to replace the lack of std, as well as a stable API to kernel internals.

Modules§

address_spacefull
Types to manipulate the kernel and userspace address spaces.
allocatorfull
Physical and virtual memory allocation
channelfull
An async multi-producer, single-consumer channel.
detectfull
Provides runtime system feature detection.
mapping
Memory mappings.
memory
Provides primitives for interfacing with memory.
modulesfull
Kernel modules.
num
ptr
Provides pointer wrappers for safely accessing userspace.
syncfull
Provides kernel synchronisation primitives.
syscallfull
Provides types for interacting with system calls.
threadingfull
Provides an interface to the scheduler and threading subsystem
timefull
Temporal quantification.

Macros§

dbg
Prints and returns the value of a given expression for quick and dirty debugging.
is_x86_feature_detectedx86 or x86-64
Returns a bool if the current system supports the requested feature
kernel_modulefull
Registers a kernel module with the kernel.
newtype_enum
Creates a struct newtype from an enum definition.