ax-alloc 0.7.1

ArceOS global memory allocator
Documentation
[package]
name = "ax-alloc"
version = "0.7.1"
repository = "https://github.com/rcore-os/tgoskits"
edition.workspace = true
authors = ["Yuekai Jia <equation618@gmail.com>"]
description = "ArceOS global memory allocator"
license.workspace = true

[features]
default = ["tlsf", "ax-allocator/page-alloc-4g"]
buddy-slab = ["dep:buddy-slab-allocator", "dep:ax-percpu", "dep:ax-plat"]
buddy = ["dep:ax-allocator", "ax-allocator/buddy"]
slab = ["dep:ax-allocator", "ax-allocator/slab"]
tlsf = ["dep:ax-allocator", "ax-allocator/tlsf"]
page-alloc-4g = [
    "dep:ax-allocator",
    "tlsf",
    "ax-allocator/page-alloc-4g",
] # Support up to 4GB memory capacity (default: 256MB)
page-alloc-64g = [
    "dep:ax-allocator",
    "tlsf",
    "ax-allocator/page-alloc-64g",
] # Support up to 64GB memory capacity (default: 256MB)
tracking = ["dep:ax-percpu", "dep:axbacktrace", "tlsf"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "doc_cfg"]

[dependencies]
ax-allocator = { workspace = true, features = ["bitmap"], optional = true }
ax-errno.workspace = true
ax-kspin.workspace = true
ax-memory-addr.workspace = true
ax-percpu = { workspace = true, optional = true }
ax-plat = { workspace = true, optional = true }
axbacktrace = { workspace = true, optional = true }
buddy-slab-allocator = { workspace = true, optional = true }
cfg-if.workspace = true
log.workspace = true
strum = { version = "0.27.2", default-features = false, features = ["derive"] }