diff --git a/tools/Cargo.lock b/tools/Cargo.lock index 69d3d27..bf7bb96 100644 --- a/tools/Cargo.lock +++ b/tools/Cargo.lock @@ -64,6 +64,12 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c858caffa49edfc4ecc45a4bec37abd3e88041a2903816f10f990b7b41abc281" +[[package]] +name = "arm-targets" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3371884971a96d71d8bd4e781188a7d327d7e5e455d07ef4c352922c66695e9e" + [[package]] name = "bitbybit" version = "1.4.0" @@ -130,6 +136,19 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +[[package]] +name = "cortex-ar" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ea2a354642e242870bc43b57a517359b0be6e96d302b2811cd0644c979c54e" +dependencies = [ + "arbitrary-int 2.0.0", + "arm-targets", + "bitbybit", + "num_enum", + "thiserror", +] + [[package]] name = "heck" version = "0.5.0" @@ -142,6 +161,35 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +[[package]] +name = "mmu-table-gen" +version = "0.1.0" +dependencies = [ + "zynq7000-mmu", + "zynq7000-rt", +] + +[[package]] +name = "num_enum" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "once_cell_polyfill" version = "1.70.1" @@ -166,6 +214,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + [[package]] name = "strsim" version = "0.11.1" @@ -304,9 +358,26 @@ dependencies = [ "thiserror", ] +[[package]] +name = "zynq7000-mmu" +version = "0.1.0" +dependencies = [ + "cortex-ar", + "thiserror", +] + [[package]] name = "zynq7000-ps7init-extract" version = "0.1.0" dependencies = [ "clap", ] + +[[package]] +name = "zynq7000-rt" +version = "0.1.0" +dependencies = [ + "arbitrary-int 2.0.0", + "cortex-ar", + "zynq7000-mmu", +] diff --git a/tools/Cargo.toml b/tools/Cargo.toml index c07381e..c3e5666 100644 --- a/tools/Cargo.toml +++ b/tools/Cargo.toml @@ -2,5 +2,6 @@ resolver = "3" members = [ "boot-image-test", + "mmu-table-gen", "zynq7000-ps7init-extract", ] diff --git a/tools/mmu-table-gen/Cargo.toml b/tools/mmu-table-gen/Cargo.toml new file mode 100644 index 0000000..9736709 --- /dev/null +++ b/tools/mmu-table-gen/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "mmu-table-gen" +version = "0.1.0" +edition = "2024" + +[dependencies] +zynq7000-rt = { path = "../../zynq/zynq7000-rt", default-features = false } +zynq7000-mmu = { path = "../../zynq/zynq7000-mmu", features = ["tools"] } diff --git a/zynq/zynq7000-rt/src/bin/table-gen.rs b/tools/mmu-table-gen/src/main.rs similarity index 99% rename from zynq/zynq7000-rt/src/bin/table-gen.rs rename to tools/mmu-table-gen/src/main.rs index 000c3c8..faa3504 100644 --- a/zynq/zynq7000-rt/src/bin/table-gen.rs +++ b/tools/mmu-table-gen/src/main.rs @@ -16,7 +16,7 @@ macro_rules! write_l1_section { } fn main() { - let file_path = "src/mmu_table.rs"; + let file_path = "mmu_table.rs"; let file = File::create(file_path).expect("Failed to create file"); let mut offset = 0; diff --git a/zynq/zynq7000-rt/Cargo.toml b/zynq/zynq7000-rt/Cargo.toml index 1c7197d..944fa4c 100644 --- a/zynq/zynq7000-rt/Cargo.toml +++ b/zynq/zynq7000-rt/Cargo.toml @@ -18,11 +18,4 @@ zynq7000-mmu = { path = "../zynq7000-mmu", version = "0.1.0" } [features] default = ["rt"] -tools = ["zynq7000-mmu/tools"] rt = ["dep:cortex-a-rt"] - -[[bin]] -name = "table-gen" -path = "src/bin/table-gen.rs" -# Prevents default build -required-features = ["tools"]