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. | ||
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. |
||
cap_access | Provide basic capability-based access control to objects. | ||
crate_interface | Provides a way to define an interface (trait) in a crate, but can implement or use it in any crate. | ||
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 | N/A | 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. | ||
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. |