Crate axstd

source ·
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

Modules

  • Inspection and manipulation of the process’s environment.
  • fsfs
    Filesystem manipulation operations.
  • Traits, helpers, and type definitions for core I/O functionality.
  • netnet
    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.