-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathCargo.toml
More file actions
53 lines (41 loc) · 2.13 KB
/
Copy pathCargo.toml
File metadata and controls
53 lines (41 loc) · 2.13 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
[package]
name = "security-monitor"
version = "0.4.0"
authors = ["Wojciech Ozga <woz@zurich.ibm.com>"]
description = "Assured Confidential Execution (ACE): security monitor implementation targetting RISC-V"
edition = "2024"
[dependencies]
# Below crate provides a parser of flattened device tree (FDT) data. It is used in the initialization procedure
# and when promoting a VM to a confidential VM.
flattened_device_tree = {path = "rust-crates/flattened_device_tree"}
# Memoffset automatize calculating offsets to internal fields of Rust structures. These offsets are used then by
# assembly code in the context switch implementation.
memoffset = { version = "0.9", default-features = false, features = ["unstable_const"] }
# Rust bindings to OpenSBI C code.
opensbi-sys = {path = "rust-crates/opensbi-sys"}
# This is our custom utility library to work with raw pointers. We might get rid of it in future, once there is
# an equivalent for it in the standard Rust library
pointers_utility = {path = "rust-crates/pointers_utility"}
# This crate decodes RISC-V instructions unfortunately it does not support the C-instructions yet
riscv-decode = "0.2"
# The `spin` crate provides synchronization primitives (Mutexes etc) using spinlocks
spin = {version="0.11", default-features = false, features = ["once", "rwlock", "spin_mutex"]}
# This crates provides functionality to parse TVM attestation payload (TAP).
riscv_cove_tap = {path = "rust-crates/riscv_cove_tap", features = ["parser"]}
# Used to measure confidential VM, required for attestation
sha3 = { version = "0.10.8", default-features = false }
generic-array = "0.14"
# provides macros that help removing boilerplate code in the rust error handling
thiserror-no-std = "2.0"
[lib]
name="ace"
crate-type=["staticlib"]
[features]
# verbose feature enables printing out debug information from the security monitor
verbose = []
[profile.release]
# required by https://crates.io/crates/cargo-call-stack
lto = 'fat'
# enables check for integer overflows in runtime. This will incurrs performance overhead
# a properly done formal verification of the security monitor would obsolete this feature
overflow-checks = true