axtask 0.2.2-preview.3

ArceOS task management module
Documentation
[package]
name = "axtask"
version = "0.2.2-preview.3"
edition.workspace = true
authors = ["Yuekai Jia <equation618@gmail.com>"]
description = "ArceOS task management module"
license.workspace = true
homepage.workspace = true
repository = "https://github.com/arceos-org/arceos/tree/main/modules/axtask"
documentation = "https://arceos-org.github.io/arceos/axtask/index.html"
readme = "README.md"

[features]
default = []

multitask = [
    "dep:axconfig",
    "dep:axpoll",
    "dep:axsched",
    "dep:cpumask",
    "dep:crate_interface",
    "dep:event-listener",
    "dep:futures-util",
    "dep:kernel_guard",
    "dep:kspin",
    "dep:lazyinit",
    "dep:memory_addr",
    "dep:percpu",
]
task-ext = ["dep:extern-trait"]
irq = ["axhal/irq"]
tls = ["axhal/tls"]
preempt = ["irq", "percpu?/preempt", "kernel_guard/preempt"]
smp = ["kspin/smp"]

sched-fifo = ["multitask"]
sched-rr = ["multitask", "preempt"]
sched-cfs = ["multitask", "preempt"]

test = ["percpu?/sp-naive"]

[dependencies]
axconfig = { version = "0.2.2-preview.1", optional = true }
axerrno.workspace = true
axhal = { version = "0.2.2-preview.1" }
axpoll = { workspace = true, optional = true }
axsched = { version = "0.3", optional = true }
cfg-if.workspace = true
cpumask = { version = "0.1", optional = true }
crate_interface = { workspace = true, optional = true }
event-listener = { workspace = true, optional = true }
extern-trait = { version = "0.2", optional = true }
futures-util = { version = "0.3", default-features = false, optional = true, features = [
    "alloc",
    "async-await-macro",
] }
kernel_guard = { workspace = true, optional = true }
kspin = { workspace = true, optional = true }
lazyinit = { workspace = true, optional = true }
log.workspace = true
memory_addr = { workspace = true, optional = true }
percpu = { workspace = true, optional = true }

[dev-dependencies]
axhal = { version = "0.2.2-preview.1", features = ["fp-simd"] }
axtask = { path = ".", features = ["test", "multitask"] }