Expand description
The ArceOS Standard Library
The ArceOS Standard Library is a mini-std library, with an interface similar to rust std, but calling the functions directly in ArceOS modules, instead of using libc and system calls.
These features are exactly the same as those in axfeat, they are used to provide users with the selection of features in axfeat, without import axfeat additionally:
Cargo Features
- CPU
smp
: Enable SMP (symmetric multiprocessing) support.fp_simd
: Enable floating point and SIMD support.
- Interrupts:
irq
: Enable interrupt handling support.
- Memory
alloc
: Enable dynamic memory allocation.alloc-tlsf
: Use the TLSF allocator.alloc-slab
: Use the slab allocator.alloc-buddy
: Use the buddy system allocator.paging
: Enable page table manipulation.tls
: Enable thread-local storage.
- Task management
multitask
: Enable multi-threading support.sched_fifo
: Use the FIFO cooperative scheduler.sched_rr
: Use the Round-robin preemptive scheduler.sched_cfs
: Use the Completely Fair Scheduler (CFS) preemptive scheduler.
- Upperlayer stacks
fs
: Enable file system support.myfs
: Allow users to define their custom filesystems to override the default.net
: Enable networking support.dns
: Enable DNS lookup support.display
: Enable graphics support.
- Device drivers
bus-mmio
: Use device tree to probe all MMIO devices.bus-pci
: Use PCI bus to probe all PCI devices.driver-ramdisk
: Use the RAM disk to emulate the block device.driver-ixgbe
: Enable the Intel 82599 10Gbit NIC driver.driver-bcm2835-sdhci
: Enable the BCM2835 SDHCI driver (Raspberry Pi SD card).
- Logging
log-level-off
: Disable all logging.log-level-error
,log-level-warn
,log-level-info
,log-level-debug
,log-level-trace
: Keep logging only at the specified level or higher.
Re-exports
pub use alloc::boxed;
alloc
pub use alloc::collections;
alloc
pub use alloc::format;
alloc
pub use alloc::string;
alloc
pub use alloc::vec;
alloc
pub use alloc::vec;
alloc
pub use core::arch;
pub use core::cell;
pub use core::cmp;
pub use core::hint;
pub use core::marker;
pub use core::mem;
pub use core::ops;
pub use core::ptr;
pub use core::slice;
pub use core::str;
Modules
- Inspection and manipulation of the process’s environment.
- fs
fs
Filesystem manipulation operations. - Traits, helpers, and type definitions for core I/O functionality.
- net
net
Networking primitives for TCP/UDP communication. - OS-specific functionality.
- A module for working with processes.
- Useful synchronization primitives.
- Native threads.
- Temporal quantification.
Macros
- Prints to the standard output.
- Prints to the standard output, with a newline.