[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",
]
page-alloc-64g = [
"dep:ax-allocator",
"tlsf",
"ax-allocator/page-alloc-64g",
]
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"] }