Skip to content

Commit bde1cd0

Browse files
authored
Merge pull request #28 from edera-dev/experiment/no-std
feat(sprout): introduce no_std sprout which uses stable rust
2 parents 1c2acdc + 0017d78 commit bde1cd0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+314
-184
lines changed

Cargo.lock

Lines changed: 32 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,39 @@ repository = "https://github.com/edera-dev/sprout"
1313
edition = "2024"
1414

1515
[workspace.dependencies]
16-
anyhow = "1.0.100"
1716
bitflags = "2.10.0"
18-
hex = "0.4.3"
1917
log = "0.4.28"
20-
serde = "1.0.228"
21-
sha2 = "0.10.9"
22-
toml = "0.9.8"
18+
spin = "0.10.0"
2319
uefi = "0.36.0"
2420
uefi-raw = "0.12.0"
2521

22+
[workspace.dependencies.anyhow]
23+
version = "1.0.100"
24+
default-features = false
25+
26+
[workspace.dependencies.hex]
27+
version = "0.4.3"
28+
default-features = false
29+
features = ["alloc"]
30+
31+
[workspace.dependencies.serde]
32+
version = "1.0.228"
33+
default-features = false
34+
features = ["alloc", "derive"]
35+
36+
[workspace.dependencies.sha2]
37+
version = "0.10.9"
38+
default-features = false
39+
40+
[workspace.dependencies.shlex]
41+
version = "1.3.0"
42+
default-features = false
43+
44+
[workspace.dependencies.toml]
45+
version = "0.9.8"
46+
default-features = false
47+
features = ["serde", "parse"]
48+
2649
# Common build profiles
2750
# NOTE: We have to compile everything for opt-level = 2 due to optimization passes
2851
# which don't handle the UEFI target properly.

DEVELOPMENT.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ This guide is a work in progress.
55
## Development Setup
66

77
You can use any Rust development environment to develop Sprout.
8-
98
Rustup is recommended as the Rust toolchain manager to manage Rust versions and targets.
10-
11-
Sprout currently requires Rust nightly to support uefi_std. See [uefi_std](https://doc.rust-lang.org/beta/rustc/platform-support/unknown-uefi.html) for more details.
12-
139
We currently only support `x86_64-unknown-uefi` and `aarch64-unknown-uefi` targets.
1410

1511
To test your changes in QEMU, please run `./hack/dev/boot.sh`, you can specify `x86_64` or `aarch64`

crates/config/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ edition.workspace = true
99

1010
[dependencies.serde]
1111
workspace = true
12-
features = ["derive"]
12+
default-features = false
1313

1414
[lib]
1515
name = "edera_sprout_config"

crates/config/src/actions/chainload.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use alloc::string::String;
2+
use alloc::vec::Vec;
13
use serde::{Deserialize, Serialize};
24

35
/// The configuration of the chainload action.

crates/config/src/actions/edera.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use alloc::string::String;
2+
use alloc::vec::Vec;
13
use serde::{Deserialize, Serialize};
24

35
/// The configuration of the edera action which boots the Edera hypervisor.

crates/config/src/actions/print.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use alloc::string::String;
12
use serde::{Deserialize, Serialize};
23

34
/// The configuration of the print action.

crates/config/src/drivers.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use alloc::string::String;
12
use serde::{Deserialize, Serialize};
23

34
/// Declares a driver configuration.

crates/config/src/entries.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
use alloc::collections::BTreeMap;
2+
use alloc::string::String;
3+
use alloc::vec::Vec;
14
use serde::{Deserialize, Serialize};
2-
use std::collections::BTreeMap;
35

46
/// Declares a boot entry to display in the boot menu.
57
///

crates/config/src/extractors/filesystem_device_match.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use alloc::string::String;
12
use serde::{Deserialize, Serialize};
23

34
/// The filesystem device match extractor.

0 commit comments

Comments
 (0)