diff --git a/Cargo.lock b/Cargo.lock index 446f478..67f6c05 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1263,7 +1263,7 @@ dependencies = [ [[package]] name = "hyperlight-common" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "anyhow", "flatbuffers", @@ -1275,7 +1275,7 @@ dependencies = [ [[package]] name = "hyperlight-component-macro" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "env_logger", "hyperlight-component-util", @@ -1290,7 +1290,7 @@ dependencies = [ [[package]] name = "hyperlight-component-util" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "itertools 0.14.0", "log", @@ -1304,7 +1304,7 @@ dependencies = [ [[package]] name = "hyperlight-host" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "anyhow", "bitflags 2.9.1", @@ -1320,6 +1320,7 @@ dependencies = [ "kvm-ioctls", "lazy_static", "libc", + "lockfree", "log", "metrics", "mshv-bindings 0.2.1", @@ -1752,6 +1753,15 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "lockfree" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74ee94b5ad113c7cb98c5a040f783d0952ee4fe100993881d1673c2cb002dd23" +dependencies = [ + "owned-alloc", +] + [[package]] name = "log" version = "0.4.27" @@ -2026,6 +2036,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "owned-alloc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30fceb411f9a12ff9222c5f824026be368ff15dc2f13468d850c7d3f502205d6" + [[package]] name = "page_size" version = "0.6.0" diff --git a/Cargo.toml b/Cargo.toml index f7f662b..2ae72ea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,4 +13,4 @@ repository = "https://github.com/hyperlight-dev/hyperlight-wasm" readme = "README.md" [workspace.dependencies] -hyperlight-host = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "ea6fa8f", default-features = false, features = ["executable_heap", "init-paging"] } +hyperlight-host = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "0808c97806a8d64bc4ed53ac7a8723bb5561704d", default-features = false, features = ["executable_heap", "init-paging"] } diff --git a/src/hyperlight_wasm/Cargo.toml b/src/hyperlight_wasm/Cargo.toml index 401c9c6..8d9becc 100644 --- a/src/hyperlight_wasm/Cargo.toml +++ b/src/hyperlight_wasm/Cargo.toml @@ -58,7 +58,7 @@ windows = { version = "0.61", features = ["Win32_System_Threading"] } page_size = "0.6.0" [dev-dependencies] -hyperlight-component-macro = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "ea6fa8f" } +hyperlight-component-macro = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "0808c97806a8d64bc4ed53ac7a8723bb5561704d" } examples_common = { path = "../examples_common" } criterion = { version = "0.6.0", features = ["html_reports"] } crossbeam-queue = "0.3" diff --git a/src/hyperlight_wasm_macro/Cargo.toml b/src/hyperlight_wasm_macro/Cargo.toml index bb9eb05..2f54681 100644 --- a/src/hyperlight_wasm_macro/Cargo.toml +++ b/src/hyperlight_wasm_macro/Cargo.toml @@ -17,4 +17,4 @@ proc-macro2 = { version = "1.0.93" } syn = { version = "2.0.96" } itertools = { version = "0.14.0" } prettyplease = { version = "0.2.31" } -hyperlight-component-util = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "ea6fa8f" } +hyperlight-component-util = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "0808c97806a8d64bc4ed53ac7a8723bb5561704d" } diff --git a/src/wasm_runtime/Cargo.lock b/src/wasm_runtime/Cargo.lock index a80dd4a..635646b 100644 --- a/src/wasm_runtime/Cargo.lock +++ b/src/wasm_runtime/Cargo.lock @@ -601,7 +601,7 @@ dependencies = [ [[package]] name = "hyperlight-common" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "anyhow", "flatbuffers", @@ -612,7 +612,7 @@ dependencies = [ [[package]] name = "hyperlight-component-util" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "itertools", "log", @@ -626,7 +626,7 @@ dependencies = [ [[package]] name = "hyperlight-guest" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "anyhow", "hyperlight-common", @@ -636,7 +636,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" version = "0.7.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=ea6fa8f#ea6fa8f16dae2325d94af39eb6ac3b441b24dcac" +source = "git+https://github.com/hyperlight-dev/hyperlight?rev=0808c97806a8d64bc4ed53ac7a8723bb5561704d#0808c97806a8d64bc4ed53ac7a8723bb5561704d" dependencies = [ "buddy_system_allocator", "cc", diff --git a/src/wasm_runtime/Cargo.toml b/src/wasm_runtime/Cargo.toml index a45bd2e..bfd7820 100644 --- a/src/wasm_runtime/Cargo.toml +++ b/src/wasm_runtime/Cargo.toml @@ -11,9 +11,9 @@ doctest = false bench = false [dependencies] -hyperlight-common = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "ea6fa8f", default-features = false } -hyperlight-guest-bin = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "ea6fa8f", features = [ "printf" ] } -hyperlight-guest = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "ea6fa8f" } +hyperlight-common = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "0808c97806a8d64bc4ed53ac7a8723bb5561704d", default-features = false } +hyperlight-guest-bin = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "0808c97806a8d64bc4ed53ac7a8723bb5561704d", features = [ "printf" ] } +hyperlight-guest = { version = "0.7.0", git = "https://github.com/hyperlight-dev/hyperlight", rev = "0808c97806a8d64bc4ed53ac7a8723bb5561704d" } wasmtime = { version = "34.0.1", default-features = false, features = [ "runtime", "custom-virtual-memory", "custom-native-signals", "component-model" ] } hyperlight-wasm-macro = { path = "../hyperlight_wasm_macro" } spin = "0.9.8" diff --git a/src/wasm_runtime/src/platform.rs b/src/wasm_runtime/src/platform.rs index df15ede..bcd84cb 100644 --- a/src/wasm_runtime/src/platform.rs +++ b/src/wasm_runtime/src/platform.rs @@ -59,7 +59,7 @@ pub(crate) fn register_page_fault_handler() { // See AMD64 Architecture Programmer's Manual, Volume 2 // §8.2 Vectors, p. 245 // Table 8-1: Interrupt Vector Source and Cause - handler::handlers[14].store(page_fault_handler as usize as u64, Ordering::Release); + handler::HANDLERS[14].store(page_fault_handler as usize as u64, Ordering::Release); } // Wasmtime Embedding Interface @@ -155,7 +155,7 @@ pub extern "C" fn wasmtime_init_traps(handler: wasmtime_trap_handler_t) -> i32 { // See AMD64 Architecture Programmer's Manual, Volume 2 // §8.2 Vectors, p. 245 // Table 8-1: Interrupt Vector Source and Cause - handler::handlers[6].store(wasmtime_trap_handler as usize as u64, Ordering::Release); + handler::HANDLERS[6].store(wasmtime_trap_handler as usize as u64, Ordering::Release); // TODO: Add handlers for any other traps that wasmtime needs, // probably including at least some floating-point // exceptions