diff --git a/.gitignore b/.gitignore index 361f8f81a..2f7896d1d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/target -/program_artifacts +target/ diff --git a/Cargo.lock b/Cargo.lock index ec257c825..ff5d0eacd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -76,6 +76,10 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "riscv-prover" +version = "0.1.0" + [[package]] name = "serde" version = "1.0.228" diff --git a/Cargo.toml b/Cargo.toml index deea1b4bd..8df724463 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,9 +1,5 @@ -[package] -name = "null-vm" -version = "0.1.0" -edition = "2024" - -[dependencies] -elf = "0.7.4" -hashbrown = { version = "0.14.5", features = ["serde", "inline-more"] } -thiserror = "1.0.68" +[workspace] +members = [ + "null-vm", + "riscv-prover", +] diff --git a/null-vm/.gitignore b/null-vm/.gitignore new file mode 100644 index 000000000..361f8f81a --- /dev/null +++ b/null-vm/.gitignore @@ -0,0 +1,2 @@ +/target +/program_artifacts diff --git a/null-vm/Cargo.lock b/null-vm/Cargo.lock new file mode 100644 index 000000000..ec257c825 --- /dev/null +++ b/null-vm/Cargo.lock @@ -0,0 +1,169 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "elf" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", + "serde", +] + +[[package]] +name = "null-vm" +version = "0.1.0" +dependencies = [ + "elf", + "hashbrown", + "thiserror", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "proc-macro2" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "zerocopy" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/null-vm/Cargo.toml b/null-vm/Cargo.toml new file mode 100644 index 000000000..deea1b4bd --- /dev/null +++ b/null-vm/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "null-vm" +version = "0.1.0" +edition = "2024" + +[dependencies] +elf = "0.7.4" +hashbrown = { version = "0.14.5", features = ["serde", "inline-more"] } +thiserror = "1.0.68" diff --git a/Makefile b/null-vm/Makefile similarity index 100% rename from Makefile rename to null-vm/Makefile diff --git a/programs/asm/basic_program.s b/null-vm/programs/asm/basic_program.s similarity index 100% rename from programs/asm/basic_program.s rename to null-vm/programs/asm/basic_program.s diff --git a/programs/rust/basic_rust/Cargo.lock b/null-vm/programs/rust/basic_rust/Cargo.lock similarity index 100% rename from programs/rust/basic_rust/Cargo.lock rename to null-vm/programs/rust/basic_rust/Cargo.lock diff --git a/programs/rust/basic_rust/Cargo.toml b/null-vm/programs/rust/basic_rust/Cargo.toml similarity index 86% rename from programs/rust/basic_rust/Cargo.toml rename to null-vm/programs/rust/basic_rust/Cargo.toml index ad1faaaaf..78207ee92 100644 --- a/programs/rust/basic_rust/Cargo.toml +++ b/null-vm/programs/rust/basic_rust/Cargo.toml @@ -1,3 +1,5 @@ +[workspace] + [package] name = "basic_rust" version = "0.1.0" diff --git a/programs/rust/basic_rust/src/main.rs b/null-vm/programs/rust/basic_rust/src/main.rs similarity index 100% rename from programs/rust/basic_rust/src/main.rs rename to null-vm/programs/rust/basic_rust/src/main.rs diff --git a/src/elf.rs b/null-vm/src/elf.rs similarity index 100% rename from src/elf.rs rename to null-vm/src/elf.rs diff --git a/src/lib.rs b/null-vm/src/lib.rs similarity index 100% rename from src/lib.rs rename to null-vm/src/lib.rs diff --git a/src/main.rs b/null-vm/src/main.rs similarity index 100% rename from src/main.rs rename to null-vm/src/main.rs diff --git a/src/vm/execution.rs b/null-vm/src/vm/execution.rs similarity index 100% rename from src/vm/execution.rs rename to null-vm/src/vm/execution.rs diff --git a/src/vm/instructions.rs b/null-vm/src/vm/instructions.rs similarity index 100% rename from src/vm/instructions.rs rename to null-vm/src/vm/instructions.rs diff --git a/src/vm/mod.rs b/null-vm/src/vm/mod.rs similarity index 100% rename from src/vm/mod.rs rename to null-vm/src/vm/mod.rs diff --git a/tests/asm.rs b/null-vm/tests/asm.rs similarity index 100% rename from tests/asm.rs rename to null-vm/tests/asm.rs diff --git a/tests/rust.rs b/null-vm/tests/rust.rs similarity index 100% rename from tests/rust.rs rename to null-vm/tests/rust.rs diff --git a/riscv-prover/Cargo.toml b/riscv-prover/Cargo.toml new file mode 100644 index 000000000..399ff055e --- /dev/null +++ b/riscv-prover/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "riscv-prover" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/riscv-prover/src/main.rs b/riscv-prover/src/main.rs new file mode 100644 index 000000000..e7a11a969 --- /dev/null +++ b/riscv-prover/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}