arceos-rust-interface 1.0.0

Arceos ABI definitions
[package]
authors = [
  "eternalcomet <mydragonos@outlook.com>",
]
categories.workspace = true
description = "Arceos ABI definitions"
edition = "2024"
keywords.workspace = true
license.workspace = true
name = "arceos-rust-interface"
repository.workspace = true
version = "1.0.0"

[lib]
crate-type = ["staticlib"]

[features]
default = [
  "fp-simd",
  "tls",
  "defplat",
  "fd",
]

# Multicore
smp = ["ax-feat/smp", "ax-kspin/smp"]

# Floating point/SIMD
fp-simd = ["ax-feat/fp-simd"]

# Interrupts
ipi = ["ax-api/ipi", "ax-feat/ipi"]
irq = ["ax-api/irq", "ax-feat/irq"]

# Custom or default platforms
defplat = ["ax-feat/defplat"]
myplat = ["ax-feat/myplat"]

# Memory
alloc = ["ax-api/alloc", "ax-feat/alloc", "ax-io/alloc"]
alloc-buddy = ["ax-feat/alloc-buddy"]
alloc-slab = ["ax-feat/alloc-slab"]
alloc-tlsf = ["ax-feat/alloc-tlsf"]
dma = ["ax-api/dma", "ax-feat/dma"]
page-alloc-4g = ["ax-feat/page-alloc-4g"] # Support up to 4G memory capacity
page-alloc-64g = ["ax-feat/page-alloc-64g"] # Support up to 64G memory capacity
paging = ["ax-feat/paging"]
tls = ["ax-feat/tls"]

# Multi-threading and scheduler
multitask = ["ax-api/multitask", "ax-feat/multitask", "irq"]
sched-cfs = ["ax-feat/sched-cfs"]
sched-fifo = ["ax-feat/sched-fifo"]
sched-rr = ["ax-feat/sched-rr"]

# File system
fd = ["ax-posix-api/fd"]
fs = ["ax-api/fs", "ax-posix-api/fs", "ax-feat/fs"]

# Networking
dns = []
net = ["ax-api/net", "ax-posix-api/net", "ax-posix-api/poll", "ax-feat/net"]

# Display
display = ["ax-api/display", "ax-feat/display"]

# Real Time Clock (RTC) Driver.
rtc = ["ax-feat/rtc"]

# Device drivers
bus-mmio = ["ax-feat/bus-mmio"]
bus-pci = ["ax-feat/bus-pci"]
driver-bcm2835-sdhci = ["ax-feat/driver-bcm2835-sdhci"]
driver-fxmac = ["ax-feat/driver-fxmac"]
driver-ixgbe = ["ax-feat/driver-ixgbe"]
driver-ramdisk = ["ax-feat/driver-ramdisk"]

# Logging
log-level-debug = []
log-level-error = []
log-level-info = []
log-level-off = []
log-level-trace = []
log-level-warn = []

[dependencies]
ax-api = {workspace = true, features = ["alloc"]}
ax-errno = {workspace = true}
ax-feat = {workspace = true}
ax-io = {workspace = true}
ax-kspin = {workspace = true}
ax-posix-api = {workspace = true, features = ["use-hermit-types"]}
ax-runtime = {workspace = true}
log = {workspace = true}
rand = {version = "0.9.2", default-features = false, features = ["small_rng"]}