Crate kernel

source ·
Expand description

The kernel crate.

This crate contains the kernel APIs that have been ported or wrapped for usage by Rust code in the kernel and is shared by all of them.

In other words, all the rest of the Rust code in the kernel (e.g. kernel modules written in Rust) depends on core and this crate.

If you need a kernel C API that is not ported or wrapped yet here, then do so first instead of bypassing this crate.

Re-exports§

Modules§

  • Implementation of the kernel’s memory allocation infrastructure.
  • Abstractions for the auxiliary bus.
  • Types for working with the block layer.
  • Clock abstractions.
  • configfs interface: Userspace-driven Kernel Object Configuration
  • Generic CPU definitions.
  • CPU frequency scaling.
  • CPU Mask abstractions.
  • Credentials management.
  • Generic devices that are part of the kernel’s driver model.
  • Generic implementation of device IDs.
  • Devres abstraction
  • Direct memory access (DMA).
  • Generic support for drivers of different buses (e.g., PCI, Platform, Amba, etc.).
  • DRM subsystem abstractions.
  • Kernel errors.
  • Abstractions for the faux bus.
  • Firmware abstraction
  • Kernel file systems.
  • Extensions to the pin-init crate.
  • Memory-mapped IO.
  • ioctl() number definitions.
  • Logic for static keys.
  • KUnit-based macros for Rust unit tests.
  • A linked list implementation.
  • Miscdevice support.
  • Memory management.
  • Networking.
  • Device Tree / Open Firmware abstractions.
  • Operating performance points.
  • Kernel page allocation and management.
  • Abstractions for the PCI bus.
  • Pid namespaces.
  • Abstractions for the platform bus.
  • The kernel prelude.
  • Printing facilities.
  • Red-black trees.
  • Revocable objects.
  • Linux Security Modules (LSM).
  • Seq file bindings.
  • Commonly used sizes.
  • String representations.
  • Synchronisation primitives.
  • Tasks (threads and processes).
  • Time related primitives.
  • Logic for tracepoints.
  • Traits for transmuting types.
  • Kernel types.
  • Slices to user space memory regions.
  • Work queues.
  • XArray abstraction.

Macros§

Structs§

Traits§