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
123 lines (106 loc) · 3.41 KB
/
Copy pathCargo.toml
File metadata and controls
123 lines (106 loc) · 3.41 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
[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", "axmm/smp", "axipi/smp", "ipi"]
# Floating point/SIMD
fp-simd = ["axhal/fp-simd"]
# User space support
uspace = ["axhal/uspace"]
# Interrupts
irq = ["axhal/irq", "axruntime/irq", "axtask?/irq", "axdriver?/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"]
alloc-level-1 = ["axalloc/level-1", "alloc"]
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"]
# Multi-threading and scheduler
multitask = [
"alloc",
"axtask/multitask",
"axsync/multitask",
"axruntime/multitask",
]
task-ext = ["axtask/task-ext"]
sched-fifo = ["axtask/sched-fifo"]
sched-rr = ["axtask/sched-rr", "irq"]
sched-cfs = ["axtask/sched-cfs", "irq"]
# File system
fs = [
"alloc",
"paging",
"axdriver/virtio-blk",
"dep:axfs",
"axruntime/fs",
] # TODO: try to remove "paging"
fs-ext4 = ["fs", "axfs/ext4"]
fs-fat = ["fs", "axfs/fat"]
fs-times = ["fs", "axfs/times"]
# Networking
net = ["alloc", "paging", "axdriver/virtio-net", "dep:axnet", "axruntime/net"]
vsock = ["net", "axdriver/virtio-socket", "axruntime/vsock", "axnet/vsock"]
# Display
display = [
"alloc",
"paging",
"axdriver/virtio-gpu",
"dep:axdisplay",
"axruntime/display",
]
# Input
input = [
"alloc",
"paging",
"axdriver/virtio-input",
"dep:axinput",
"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-ramdisk = ["axdriver?/ramdisk", "axfs?/use-ramdisk"]
driver-sdmmc = ["axdriver?/sdmmc"]
driver-ixgbe = ["axdriver?/ixgbe"]
driver-fxmac = ["axdriver?/fxmac"] # fxmac ethernet driver for PhytiumPi
driver-bcm2835-sdhci = ["axdriver?/bcm2835-sdhci"]
driver-ahci = ["axdriver?/ahci"]
driver-dyn = ["paging", "axruntime/driver-dyn", "axdriver/dyn"]
# Backtrace
dwarf = ["alloc", "axbacktrace/dwarf"]
[dependencies]
axalloc = { workspace = true, optional = true }
axbacktrace.workspace = true
axdisplay = { workspace = true, optional = true }
axdriver = { workspace = true, optional = true }
axfs = { workspace = true, optional = true }
axhal.workspace = true
axinput = { workspace = true, optional = true }
axipi = { workspace = true, optional = true }
axlog.workspace = true
axnet = { workspace = true, optional = true }
axmm = {workspace = true, optional = true}
axruntime = { workspace = true }
axsync = { workspace = true, optional = true }
axtask = { workspace = true, optional = true }
kspin = { workspace = true, optional = true }