Crate libax

source ·
Expand description

ArceOS user program library, with an interface similar to rust std, but calling the functions directly in ArceOS modules, instead of using libc and system calls.

Cargo Features

  • CPU
    • smp: Enable SMP (symmetric multiprocessing) support.
    • fp_simd: Enable floating point and SIMD support.
  • Memory
    • alloc: Enable dynamic memory allocation.
    • paging: Enable page table manipulation.
  • Interrupts:
  • Task management
    • multitask: Enable multi-threading support.
    • sched_fifo: Use the FIFO cooperative scheduler.
    • sched_rr: Use the Round-robin preemptive scheduler.
  • Device and upperlayer stack
    • fs: Enable file system support.
    • net: Enable networking support.
    • display: Enable graphics support.
    • bus-mmio: Use device tree to probe all MMIO devices.
    • bus-pci: Use PCI bus to probe all PCI devices.
  • 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.
  • Platform
    • platform-pc-x86: Specify for use on the corresponding platform.
    • platform-qemu-virt-riscv: Specify for use on the corresponding platform.
    • platform-qemu-virt-aarch64: Specify for use on the corresponding platform.
  • Other
    • cbindings: Generate C bindings, to support C applications.

Re-exports

  • pub use alloc::boxed;
  • pub use alloc::format;
  • pub use alloc::string;
  • pub use alloc::vec;
  • pub use alloc::vec;
    Non-no_global_oom_handling

Modules

  • cbindingscbindings
    Exported C bindings, to call ArceOS funtions from C code.
  • displaydisplay
    Graphics manipulation operations.
  • 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.
  • Random number generator.
  • Useful synchronization primitives.
  • Native threads.
  • Temporal quantification.

Macros

  • Logs a message at the debug level.
  • Logs a message at the error level.
  • Logs a message at the info level.
  • Prints to the standard output.
  • Prints to the standard output, with a newline.
  • Logs a message at the trace level.
  • Logs a message at the warn level.