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. |
||
| axsched | Various scheduler algorithms in a unified interface. | ||
| 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. | ||
| 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. |