forked from syswonder/ruxos
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
122 lines (105 loc) · 3.2 KB
/
Copy pathCargo.toml
File metadata and controls
122 lines (105 loc) · 3.2 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
[package]
name = "ruxfeat"
version = "0.1.0"
edition = "2021"
authors = [
"Yuekai Jia <equation618@gmail.com>",
"yanjuguang <coolyanjg@163.com>",
]
description = "Top-level feature selection for RuxOS"
license = "GPL-3.0-or-later OR Apache-2.0"
homepage = "https://github.com/syswonder/ruxos"
repository = "https://github.com/syswonder/ruxos/tree/main/api/ruxfeat"
[features]
default = []
# Multicore
smp = ["ruxhal/smp", "ruxruntime/smp", "spinlock/smp"]
# Floating point/SIMD
fp_simd = ["ruxhal/fp_simd", "ruxfs/fp_simd"]
# Interrupts
irq = ["ruxhal/irq", "ruxruntime/irq", "ruxtask?/irq"]
gic-v3 = ["ruxhal/gic-v3","ruxruntime/gic-v3"]
# Real time clock
rtc = ["ruxhal/rtc", "ruxruntime/rtc"]
# Memory
alloc = ["axalloc", "ruxruntime/alloc", "ruxfs/alloc", "ruxhal/alloc"]
alloc-tlsf = ["axalloc/tlsf"]
alloc-slab = ["axalloc/slab"]
alloc-buddy = ["axalloc/buddy"]
paging = [
"alloc",
"ruxhal/paging",
"ruxtask/paging",
"ruxruntime/paging",
"ruxmm/paging",
]
tls = ["alloc", "ruxhal/tls", "ruxruntime/tls", "ruxtask?/tls"]
# Multi-threading and scheduler
multitask = [
"alloc",
"ruxtask/multitask",
"axsync/multitask",
"ruxruntime/multitask",
]
sched_fifo = ["ruxtask/sched_fifo"]
sched_rr = ["ruxtask/sched_rr", "irq"]
sched_cfs = ["ruxtask/sched_cfs", "irq"]
# File system
fs = ["alloc", "dep:ruxfs", "ruxruntime/fs"]
blkfs = ["ruxdriver/virtio-blk", "ruxruntime/blkfs", "ruxfs/blkfs"]
myfs = ["ruxfs?/myfs"]
9pfs = []
fatfs = ["ruxfs?/fatfs"]
# lwext4_rust = ["ruxfs?/lwext4_rust"]
ext4_rs = ["ruxfs?/ext4_rs"]
another_ext4 = ["ruxfs?/another_ext4"]
# Networking
net = ["alloc", "ruxdriver/virtio-net", "dep:ruxnet", "ruxruntime/net"]
lwip = ["ruxnet/lwip"]
smoltcp = ["ruxnet/smoltcp"]
# Display
display = [
"alloc",
"ruxdriver/virtio-gpu",
"dep:ruxdisplay",
"ruxruntime/display",
]
# 9P
virtio-9p = [
"9pfs",
"ruxdriver/virtio-9p",
"rux9p/virtio-9p",
"ruxruntime/virtio-9p",
]
net-9p = ["9pfs", "net", "rux9p/net-9p", "ruxruntime/net-9p"]
# virtio console
virtio_console = [
"ruxhal/virtio_console",
"ruxruntime/virtio_console",
"alloc",
"ruxdriver/virtio_console",
"ruxdriver/virtio",
]
# Device drivers
bus-mmio = ["ruxdriver?/bus-mmio"]
bus-pci = ["ruxdriver?/bus-pci"]
driver-ramdisk = ["ruxdriver?/ramdisk", "ruxfs?/use-ramdisk"]
driver-ixgbe = ["ruxdriver?/ixgbe"]
driver-bcm2835-sdhci = ["ruxdriver?/bcm2835-sdhci"]
# this feature has already been deprecated
tty = []
[dependencies]
ruxruntime = { path = "../../modules/ruxruntime" }
ruxhal = { path = "../../modules/ruxhal" }
ruxmm = { path = "../../modules/ruxmm" }
axalloc = { path = "../../modules/axalloc", optional = true }
ruxdriver = { path = "../../modules/ruxdriver", optional = true }
ruxfs = { path = "../../modules/ruxfs", optional = true }
rux9p = { path = "../../modules/rux9p", optional = true }
ruxnet = { path = "../../modules/ruxnet", optional = true }
ruxdisplay = { path = "../../modules/ruxdisplay", optional = true }
axsync = { path = "../../modules/axsync", optional = true }
ruxtask = { path = "../../modules/ruxtask", optional = true }
spinlock = { path = "../../crates/spinlock", optional = true }
axlog = { path = "../../crates/axlog" }
tty = { path = "../../crates/tty" }