-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
77 lines (71 loc) · 2.66 KB
/
Cargo.toml
File metadata and controls
77 lines (71 loc) · 2.66 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
[package]
name = "arceos-lazymapping"
version = "0.4.6"
edition = "2024"
authors = ["Lei Shi <shi_lei@massclouds.com>", "Yu Chen <yuchen@tsinghua.edu.cn>"]
description = "Lazy page mapping for ArceOS: loads and runs a user-space app with demand paging and syscall handling"
license = "GPL-3.0-or-later OR Apache-2.0 OR MulanPSL-2.0"
homepage = "https://github.com/arceos-org/app-lazymapping"
repository = "https://github.com/arceos-org/app-lazymapping/tree/dev"
keywords = ["arceos", "uspace", "lazymapping", "pagefault", "os"]
categories = ["os", "no-std"]
include = [
"src/**",
"build.rs",
"configs/**",
"payload/**",
"xtask/src/**",
".cargo/config.toml",
"rust-toolchain.toml",
"README.md",
"LICENSE*",
]
[features]
default = []
# Payload feature to enable building the origin binary
payload = []
# NOTE: axstd/fs is NOT used because arceos_api 0.2.2-preview.1 has an API
# mismatch with axfs 0.2.2-preview.1. Instead, we enable filesystem via
# axfeat/fs + axfeat/fs-fat and use axfs directly for file operations.
axstd = [
"dep:axstd", "dep:axfeat", "dep:axfs", "dep:axio",
"dep:axmm", "dep:axhal", "dep:axsync", "dep:axtask", "dep:axlog",
"dep:axerrno", "dep:memory_addr",
]
xtask = ["dep:clap", "dep:fatfs"]
[[bin]]
name = "xtask"
path = "xtask/src/main.rs"
required-features = ["xtask"]
[[bin]]
name = "origin"
path = "payload/src/main.rs"
required-features = ["payload"]
[dependencies]
axstd = { version = "=0.3.0-preview.1", features = ["defplat", "alloc", "paging", "multitask", "sched-cfs", "uspace"], optional = true }
# Enable FS init in axruntime (bypasses broken arceos_api/fs)
axfeat = { version = "=0.3.0-preview.1", features = ["fs"], optional = true }
# Direct filesystem access API
axfs = { version = "=0.3.0-preview.1", features = ["fat", "monolitic"], optional = true }
# I/O traits (Read, Write, Seek)
axio = { version = "0.3.0-pre.1", optional = true }
# Memory management - user address spaces
axmm = { version = "=0.3.0-preview.1", features = ["copy"], optional = true }
# HAL - UspaceContext, paging, trap handling
axhal = { version = "=0.3.0-preview.1", features = ["uspace"], optional = true }
# Synchronization primitives
axsync = { version = "=0.3.0-preview.1", optional = true }
# Task management
axtask = { version = "=0.3.0-preview.1", optional = true }
# Logging (ax_println!)
axlog = { version = "0.2.2-preview.1", optional = true }
# Error types
axerrno = { version = "0.2", optional = true }
# Address types
memory_addr = { version = "0.4", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
fatfs = { version = "0.3.6", optional = true }
[profile.release]
opt-level = "z"
lto = true
panic = "abort"