Reusable crates list for ArceOS.
Crate |      crates.io     | Documentation | Description |
---|---|---|---|
allocator | N/A | Various allocator algorithms in a unified interface. | |
arm_gicv2 | ARM Generic Interrupt Controller version 2 (GICv2) register definitions and basic operations. | ||
arm_pl011 | ARM Uart pl011 register definitions and basic operations. | ||
arm_pl031 | System Real Time Clock (RTC) Drivers for aarch64 based on PL031. | ||
axconfig-gen | A TOML-based configuration generation tool for ArceOS. | ||
axconfig-macros | Procedural macros for converting TOML format configurations to Rust constant definitions. | ||
axcpu | Privileged instruction and structure abstractions for various CPU architectures. | ||
axdriver_base | N/A | Common interfaces for all kinds of device drivers. | |
axdriver_block | N/A | Common traits and types for block storage drivers. | |
axdriver_display | N/A | Common traits and types for graphics device drivers. | |
axdriver_net | N/A | Common traits and types for network device (NIC) drivers. | |
axdriver_pci | N/A | Structures and functions for PCI bus operations. | |
axdriver_virtio | N/A | Wrappers of some devices in the virtio-drivers crate, that implement traits in the axdriver_base series crates. |
|
axerrno | Generic error code representation. | ||
axfs_devfs | Device filesystem used by ArceOS. | ||
axfs_ramfs | RAM filesystem used by ArceOS. | ||
axfs_vfs | Virtual filesystem interfaces used by ArceOS. | ||
axio | std::io -like I/O traits for no_std environment. |
||
axplat | This crate provides a unified abstraction layer for diverse hardware platforms. | ||
axplat-macros | Procedural macros for the axplat crate. |
||
axplat-aarch64-peripherals | ARM64 common peripheral drivers with axplat compatibility. |
||
axplat-aarch64-bsta1000b | Implementation of axplat hardware abstraction layer for Black Sesame Technology A1000b SoC. |
||
axplat-aarch64-phytium-pi | Implementation of axplat hardware abstraction layer for Phytium Pi board. |
||
axplat-aarch64-qemu-virt | Implementation of axplat hardware abstraction layer for QEMU ARM64 virtual machine. |
||
axplat-aarch64-raspi | Implementation of axplat hardware abstraction layer for Raspberry Pi 4B board. |
||
axplat-loongarch64-qemu-virt | Implementation of axplat hardware abstraction layer for QEMU LoongArch virtual machine. |
||
axplat-riscv64-qemu-virt | Implementation of axplat hardware abstraction layer for QEMU RISC-V virt board. |
||
axplat-x86-pc | Implementation of axplat hardware abstraction layer for x86 Standard PC machine. |
||
cap_access | Provide basic capability-based access control to objects. | ||
cpumask | CPU mask library in Rust. | ||
crate_interface | Provides a way to define an interface (trait) in a crate, but can implement or use it in any crate. | ||
ctor_bare | Register constructor functions for Rust at complie time under no_std. | ||
ctor_bare_macros | Macros for registering constructor functions for Rust under no_std. | ||
dw_apb_uart | Uart snps,dw-apb-uart driver in Rust for BST A1000b FADA board. | ||
flatten_objects | A container that stores numbered objects. Each object can be assigned with a unique ID. | ||
handler_table | A lock-free table of event handlers. | ||
int_ratio | The type of ratios represented by two integers. | ||
kernel_guard | RAII wrappers to create a critical section with local IRQs or preemption disabled. | ||
kspin | Spinlocks used for kernel space that can disable preemption or IRQs in the critical section. | ||
lazyinit | Initialize a static value lazily. | ||
linked_list_r4l | Linked lists that supports arbitrary removal in constant time. | ||
memory_addr | Wrappers and helper functions for physical and virtual addresses. | ||
memory_set | Data structures and operations for managing memory mappings. | ||
page_table_entry | Page table entry definition for various hardware architectures. | ||
page_table_multiarch | Generic page table structures for various hardware architectures. | ||
percpu | Define and access per-CPU data structures. | ||
percpu_macros | Macros to define and access a per-CPU data structure. | ||
riscv_goldfish | System Real Time Clock (RTC) Drivers for riscv based on goldfish. | ||
riscv_plic | RISC-V platform-level interrupt controller (PLIC) register definitions and basic operations. | ||
scheduler | N/A | Various scheduler algorithms in a unified interface. | |
slab_allocator | N/A | Slab allocator for no_std systems. Uses multiple slabs with blocks of different sizes and a linked list for blocks larger than 4096 bytes. |
|
timer_list | A list of timed events that will be triggered sequentially when the timer expires. | ||
tuple_for_each | Provides macros and methods to iterate over the fields of a tuple struct. | ||
x86_rtc | System Real Time Clock (RTC) Drivers for x86_64 based on CMOS. |