浏览代码

refactor(prototyper): restructure the project using workspace

guttatus 6 月之前
父节点
当前提交
ae550e97c0

+ 19 - 19
Cargo.lock

@@ -16,9 +16,9 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 
 [[package]]
 name = "critical-section"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
+checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242"
 
 [[package]]
 name = "embedded-hal"
@@ -44,9 +44,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.21"
+version = "0.4.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
 
 [[package]]
 name = "panic-halt"
@@ -56,18 +56,18 @@ checksum = "de96540e0ebde571dc55c73d60ef407c653844e6f9a1e2fdbd40c07b9252d812"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.82"
+version = "1.0.86"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b"
+checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.36"
+version = "1.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
 dependencies = [
  "proc-macro2",
 ]
@@ -84,9 +84,9 @@ dependencies = [
 
 [[package]]
 name = "riscv-decode"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bec7a6dc0b0bb96a4d23271864a45c0d24dcd9dde2a1b630a35f79fa29c588bf"
+checksum = "cf8b4cfb0da0528321d22daee4299a23a8c5ac8848623d716e898d2a9eec0694"
 
 [[package]]
 name = "rustsbi"
@@ -143,9 +143,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.202"
+version = "1.0.210"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
 dependencies = [
  "serde_derive",
 ]
@@ -153,16 +153,16 @@ dependencies = [
 [[package]]
 name = "serde-device-tree"
 version = "0.0.1"
-source = "git+https://github.com/rustsbi/serde-device-tree#b8c2da9ee425cce49480731fa48e2ea39b457803"
+source = "git+https://github.com/rustsbi/serde-device-tree#0e6edab85de8c915f8831f8bedd0be2db7e6b7f9"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.202"
+version = "1.0.210"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -186,9 +186,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.61"
+version = "2.0.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9"
+checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -203,6 +203,6 @@ checksum = "939f6f9ccad815fe3efca8fd06f2ec1620c0387fb1bca2b231b61ce710bffb9b"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.12"
+version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"

+ 5 - 30
Cargo.toml

@@ -1,33 +1,8 @@
-cargo-features = ["per-package-target"]
-
-[package]
-name = "rustsbi-prototyper"
-version = "0.0.0"
-edition.workspace = true
-license.workspace = true
-repository.workspace = true
-forced-target = "riscv64imac-unknown-none-elf"
-
-[dependencies]
-aclint = "0.0.0"
-log = "0.4.21"
-panic-halt = "0.2.0"
-riscv = "0.11.1"
-rustsbi = { version = "0.4.0-alpha.3", features = ["machine"] }
-sbi-spec = { version = "0.0.7", features = ["legacy"] }
-serde = { version = "1.0.202", default-features = false, features = ["derive"]}
-serde-device-tree = { git = "https://github.com/rustsbi/serde-device-tree", default-features = false }
-sifive-test-device = "0.0.0"
-spin = "0.9.8"
-uart16550 = "0.0.1"
-riscv-decode = "0.2.1"
-fast-trap = { version = "0.0.1", features = ["riscv-m"] }
-
-
-[[bin]]
-name = "rustsbi-prototyper"
-test = false
-bench = false
+[workspace]
+resolver = "2"
+members = [
+  "prototyper"
+]
 
 [workspace.package]
 edition = "2021"

+ 7 - 4
Makefile.toml

@@ -1,15 +1,18 @@
+[config]
+default_to_workspace = false
+
 [tasks.clean]
 command = "cargo"
 args = ["clean"]
 
-[tasks.build]
+[tasks.prototyper-build]
 command = "cargo"
-args = ["build", "--release"]
+args = ["build", "-prustsbi-prototyper", "--release"]
 dependencies = ["clean"]
 
-[tasks.bin]
+[tasks.prototyper]
 command = "rust-objcopy"
 args = ["--binary-architecture=riscv64", "target/riscv64imac-unknown-none-elf/release/rustsbi-prototyper",
         "--output-target=binary", "target/riscv64imac-unknown-none-elf/release/rustsbi-prototyper.bin"
 ]
-dependencies = ["build"]
+dependencies = ["prototyper-build"]

+ 1 - 1
docs/booting-linux-kernel-in-qemu-using-uboot-and-rustsbi.md

@@ -280,7 +280,7 @@ $ cd prototyper
 编译RustSBI  Prototyper
 
 ``` shell
-$ cargo make bin
+$ cargo make prototyper
 ```
 
 ## 编译U-Boot SPL

+ 2 - 2
docs/booting-openEuler-23.09-in-qemu-using-uboot-and-rustsbi.md

@@ -50,7 +50,7 @@ $ cd prototyper
 编译RustSBI  Prototyper
 
 ``` shell
-$ cargo make bin
+$ cargo make prototyper
 ```
 
 ## 编译U-Boot SPL
@@ -104,4 +104,4 @@ $ qemu-system-riscv64 \
     -device virtio-net-device,netdev=usernet \
     -netdev user,id=usernet,hostfwd=tcp::12055-:22 \
     -device qemu-xhci -usb -device usb-kbd -device usb-tablet
-```
+```

+ 31 - 0
prototyper/Cargo.toml

@@ -0,0 +1,31 @@
+cargo-features = ["per-package-target"]
+
+[package]
+name = "rustsbi-prototyper"
+version = "0.0.0"
+edition.workspace = true
+license.workspace = true
+repository.workspace = true
+forced-target = "riscv64imac-unknown-none-elf"
+
+[dependencies]
+aclint = "0.0.0"
+log = "0.4.21"
+panic-halt = "0.2.0"
+riscv = "0.11.1"
+rustsbi = { version = "0.4.0-alpha.3", features = ["machine"] }
+sbi-spec = { version = "0.0.7", features = ["legacy"] }
+serde = { version = "1.0.202", default-features = false, features = ["derive"]}
+serde-device-tree = { git = "https://github.com/rustsbi/serde-device-tree", default-features = false }
+sifive-test-device = "0.0.0"
+spin = "0.9.8"
+uart16550 = "0.0.1"
+riscv-decode = "0.2.1"
+fast-trap = { version = "0.0.1", features = ["riscv-m"] }
+
+
+[[bin]]
+name = "rustsbi-prototyper"
+test = false
+bench = false
+

+ 0 - 0
build.rs → prototyper/build.rs


+ 0 - 0
src/board.rs → prototyper/src/board.rs


+ 0 - 0
src/clint.rs → prototyper/src/clint.rs


+ 0 - 0
src/console.rs → prototyper/src/console.rs


+ 0 - 0
src/dt.rs → prototyper/src/dt.rs


+ 0 - 0
src/dynamic.rs → prototyper/src/dynamic.rs


+ 1 - 1
src/fail.rs → prototyper/src/fail.rs

@@ -14,7 +14,7 @@ pub fn device_tree_format(err: dt::ParseDeviceTreeError) -> Dtb {
 }
 
 #[cold]
-pub fn device_tree_deserialize<'a>(err: serde_device_tree::Error) -> Tree<'a> {
+pub fn device_tree_deserialize<'a>(err: serde_device_tree::error::Error) -> Tree<'a> {
     error!("Device tree deserialization error: {:?}", err);
     reset::fail()
 }

+ 0 - 0
src/hart_context.rs → prototyper/src/hart_context.rs


+ 0 - 0
src/hsm.rs → prototyper/src/hsm.rs


+ 0 - 0
src/macros.rs → prototyper/src/macros.rs


+ 0 - 0
src/main.rs → prototyper/src/main.rs


+ 0 - 0
src/reset.rs → prototyper/src/reset.rs


+ 0 - 0
src/rfence.rs → prototyper/src/rfence.rs


+ 0 - 0
src/riscv_spec.rs → prototyper/src/riscv_spec.rs


+ 0 - 0
src/trap.rs → prototyper/src/trap.rs


+ 0 - 0
src/trap_stack.rs → prototyper/src/trap_stack.rs