-
-
Notifications
You must be signed in to change notification settings - Fork 194
Expand file tree
/
Copy pathCargo.toml
More file actions
162 lines (138 loc) · 5.38 KB
/
Copy pathCargo.toml
File metadata and controls
162 lines (138 loc) · 5.38 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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
[package]
name = "dragonos_kernel"
version = "0.4.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
crate-type = ["staticlib"]
[workspace]
members = ["crates/*"]
[features]
default = ["fatfs", "kvm", "fatfs-secure", "static_keys_test"]
# kvm
kvm = []
fatfs = []
fatfs-secure = ["fatfs"]
driver_ps2_mouse = []
# kprobe
kprobe_test = []
static_keys_test = []
# kstack_protect 开启该功能后,会开启内核栈保护功能。用于辅助检测栈溢出。(内核栈占用会*2)
kstack_protect = []
# initram
initram = []
# fifo_demo: 起一个使用FIFO测例的内核线程,每5秒打印1条消息
fifo_demo = []
# 运行时依赖项
[dependencies]
acpi = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/acpi-rs.git", rev = "1bbdc9767ac72725fa7bdbc53260b5b6baa2bce1" }
aml = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/acpi-rs.git", rev = "1bbdc9767ac72725fa7bdbc53260b5b6baa2bce1" }
asm_macros = { path = "crates/asm_macros" }
atomic_enum = "=0.2.0"
bit_field = "=0.10"
bitfield-struct = "=0.5.3"
bitflags = "=1.3.2"
bitflags2 = { package = "bitflags", version = "=2.9.1" }
bitmap = { path = "crates/bitmap" }
driver_base_macros = { "path" = "crates/driver_base_macros" }
elf = { version = "=0.7.2", default-features = false }
fdt = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/fdt", rev = "9862813020" }
# 一个no_std的hashmap、hashset
hashbrown = "=0.13.2"
ida = { path = "crates/ida" }
jhash = { path = "crates/rust-jhash" }
intertrait = { path = "crates/intertrait" }
kcmdline_macros = { path = "crates/kcmdline_macros" }
kdepends = { path = "crates/kdepends" }
klog_types = { path = "crates/klog_types" }
napi-state = { path = "crates/napi-state" }
net-poll-state = { path = "crates/net-poll-state" }
linkme = "=0.3.27"
num = { version = "=0.4.0", default-features = false }
num-derive = "=0.3"
num-traits = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/num-traits.git", rev = "1597c1c", default-features = false }
smoltcp = { version = "=0.12.0", git = "https://github.com/DragonOS-Community/smoltcp", rev = "3933571", default-features = false, features = [
"alloc",
"medium-ethernet",
"socket-raw",
"socket-udp",
"socket-tcp",
"socket-tcp-reno",
"socket-tcp-cubic",
"socket-icmp",
"socket-dhcpv4",
"socket-dns",
"proto-ipv4",
"proto-ipv6",
"medium-ip",
"log",
"multicast",
"iface-max-addr-count-8",
"iface-max-route-count-8",
"iface-max-multicast-group-count-8"
] }
syscall_table_macros = { path = "crates/syscall_table_macros" }
system_error = { path = "crates/system_error" }
unified-init = { path = "crates/unified-init" }
virtio-drivers = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/virtio-drivers", rev = "82d783c935084a67c2e0a3bead0266a66aed80fd" }
wait_queue_macros = { path = "crates/wait_queue_macros" }
paste = "=1.0.14"
slabmalloc = { path = "crates/rust-slabmalloc" }
log = "0.4.21"
kprobe = { path = "crates/kprobe" }
uprobe = { path = "crates/uprobe" }
lru = "0.12.3"
rbpf = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/rbpf", rev = "f31e471a29", default-features = false }
printf-compat = { version = "=0.3.1", default-features = false }
static-keys = { version = "=0.7" }
cpio_reader = "0.1.2"
xz4rust = { version = "0.2.1", default-features = false, features = ["alloc"] }
defer = "0.2.1"
cfg-if = { version = "1.0.0" }
derive_builder = { version = "0.20.2", default-features = false, features = [
"alloc",
] }
device-output-buffer = { path = "crates/device-output-buffer" }
inherit-methods-macro = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/inherit-methods-macro", rev = "98f7e3e" }
# target为x86_64时,使用下面的依赖
[target.'cfg(target_arch = "x86_64")'.dependencies]
multiboot2 = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/multiboot2", rev = "05739aab40" }
raw-cpuid = "11.0.1"
x86 = "=0.52.0"
x86_64 = "=0.15.2"
uefi = { version = "=0.26.0", features = ["alloc"] }
uefi-raw = "=0.5.0"
# target为riscv64时,使用下面的依赖
[target.'cfg(target_arch = "riscv64")'.dependencies]
riscv = { git = "https://git.mirrors.dragonos.org.cn/DragonOS-Community/riscv.git", rev = "4241a97", features = [
"s-mode",
] }
sbi-rt = { version = "=0.0.3", features = ["legacy"] }
uefi = { version = "=0.26.0", features = ["alloc"] }
uefi-raw = "=0.5.0"
# target为loongarch64时,使用下面的依赖
[target.'cfg(target_arch = "loongarch64")'.dependencies]
loongArch64 = "=0.2.5"
# 由于unwinding库不支持loongarch64架构,因此需要排除该依赖项
[target.'cfg(not(target_arch = "loongarch64"))'.dependencies]
unwinding = { version = "=0.2.8", default-features = false, features = [
"unwinder",
"fde-gnu-eh-frame-hdr",
"panic",
"personality",
] }
# 构建时依赖项
[build-dependencies]
kernel_build = { path = "../build-scripts/kernel_build" }
[dependencies.lazy_static]
version = "=1.4.0"
# 由于在no_std环境,而lazy_static依赖了spin库,因此需要指定其使用no_std
features = ["spin_no_std"]
# The development profile, used for `cargo build`
[profile.dev]
# opt-level = 0 # Controls the --opt-level the compiler builds with
debug = true # Controls whether the compiler passes `-g`
# The release profile, used for `cargo build --release`
[profile.release]
debug = false
# debug = true