forked from arceos-org/arceos
-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathCargo.toml
More file actions
107 lines (88 loc) · 3.34 KB
/
Copy pathCargo.toml
File metadata and controls
107 lines (88 loc) · 3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
[package]
name = "axfeat"
version.workspace = true
edition.workspace = true
authors = ["Yuekai Jia <equation618@gmail.com>"]
description = "Top-level feature selection for ArceOS"
license.workspace = true
homepage.workspace = true
repository = "https://github.com/arceos-org/arceos/tree/main/api/axfeat"
documentation = "https://arceos-org.github.io/arceos/axfeat/index.html"
[features]
default = []
# Multicore
smp = ["axhal/smp", "axruntime/smp", "axtask?/smp", "kspin/smp"]
# Floating point/SIMD
fp-simd = ["axhal/fp-simd"]
# Interrupts
irq = ["axhal/irq", "axruntime/irq", "axtask?/irq"]
ipi = ["irq", "dep:axipi", "axhal/ipi", "axruntime/ipi"]
# Custom or default platforms
myplat = ["axhal/myplat"]
defplat = ["axhal/defplat"]
# Memory
alloc = ["axalloc", "axruntime/alloc"]
alloc-tlsf = ["axalloc/tlsf"]
alloc-slab = ["axalloc/slab"]
alloc-buddy = ["axalloc/buddy"]
page-alloc-64g = ["axalloc/page-alloc-64g"] # up to 64G memory capacity
page-alloc-4g = ["axalloc/page-alloc-4g"] # up to 4G memory capacity
paging = ["alloc", "axhal/paging", "axruntime/paging"]
tls = ["alloc", "axhal/tls", "axruntime/tls", "axtask?/tls"]
dma = ["alloc", "paging"]
fs-times = ["axfs-ng/times"]
# Multi-threading and scheduler
multitask = ["alloc", "axtask/multitask", "axsync/multitask", "axruntime/multitask"]
sched-fifo = ["axtask/sched-fifo"]
sched-rr = ["axtask/sched-rr", "irq"]
sched-cfs = ["axtask/sched-cfs", "irq"]
# File system
fs = ["alloc", "paging", "dep:axfs-ng", "axruntime/fs"] # TODO: try to remove "paging"
fat = ["axfs-ng/fat"]
ext4 = ["axfs-ng/ext4"]
# Networking
net = ["alloc", "paging", "dep:axnet", "axruntime/net"]
vsock = ["net", "axnet/vsock", "axruntime/vsock"]
# Display
display = ["alloc", "paging", "dep:axdisplay", "axruntime/display"]
# Input
input = ["alloc", "paging", "dep:axdisplay", "axruntime/input"]
# Real Time Clock (RTC) Driver.
rtc = ["axhal/rtc", "axruntime/rtc"]
# Device drivers
bus-mmio = ["axdriver?/bus-mmio"]
bus-pci = ["axdriver?/bus-pci"]
driver-virtio-blk = ["axdriver/virtio-blk"]
driver-virtio-net = ["axdriver/virtio-net"]
driver-virtio-socket = ["axdriver/virtio-socket"]
driver-virtio-gpu = ["axdriver/virtio-gpu"]
driver-virtio-input = ["axdriver/virtio-input"]
driver-ramdisk = ["axdriver/ramdisk"]
driver-sdmmc = ["axdriver/sdmmc"]
driver-ixgbe = ["axdriver/ixgbe"]
driver-fxmac = ["axdriver/fxmac"] # fxmac ethernet driver for PhytiumPi
driver-dwmac = ["axdriver/dwmac"] # dwmac ethernet driver for StarFive VisionFive 2
driver-bcm2835-sdhci = ["axdriver/bcm2835-sdhci"]
# Logging
log-level-off = ["axlog/log-level-off"]
log-level-error = ["axlog/log-level-error"]
log-level-warn = ["axlog/log-level-warn"]
log-level-info = ["axlog/log-level-info"]
log-level-debug = ["axlog/log-level-debug"]
log-level-trace = ["axlog/log-level-trace"]
# Backtrace
backtrace = ["axbacktrace/dwarf"]
[dependencies]
axalloc = { workspace = true, optional = true }
axbacktrace = { workspace = true }
axdisplay = { workspace = true, optional = true }
axdriver = { workspace = true, optional = true }
axfs-ng = { workspace = true, optional = true }
axhal = { workspace = true }
axlog = { workspace = true }
axnet = { workspace = true, optional = true }
axruntime = { workspace = true }
axsync = { workspace = true, optional = true }
axtask = { workspace = true, optional = true }
axipi = { workspace = true, optional = true }
kspin = { workspace = true, optional = true }