diff --git a/.github/workflows/Benchmarks.yml b/.github/workflows/Benchmarks.yml index 69984f45..8152bf77 100644 --- a/.github/workflows/Benchmarks.yml +++ b/.github/workflows/Benchmarks.yml @@ -25,7 +25,7 @@ jobs: strategy: fail-fast: true matrix: - hypervisor: [hyperv, mshv, mshv3, kvm] # hyperv is windows, mshv and kvm are linux + hypervisor: [hyperv, mshv3, kvm] # hyperv is windows, mshv and kvm are linux cpu: [amd, intel] config: [release] # don't want to benchmark debug-builds @@ -71,7 +71,7 @@ jobs: # the component model benchmark depends on the wasm wit component just ensure-tools just compile-wit - just bench-ci dev release ${{ matrix.hypervisor == 'mshv' && 'mshv2' || ''}} + just bench-ci dev release working-directory: ./src/hyperlight_wasm - name: Upload Benchmarks diff --git a/.github/workflows/dep_rust.yml b/.github/workflows/dep_rust.yml index b93c7673..9415c080 100644 --- a/.github/workflows/dep_rust.yml +++ b/.github/workflows/dep_rust.yml @@ -37,7 +37,7 @@ jobs: strategy: fail-fast: true matrix: - hypervisor: [hyperv, mshv, mshv3, kvm] # hyperv is windows, mshv and kvm are linux + hypervisor: [hyperv, mshv3, kvm] # hyperv is windows, mshv and kvm are linux cpu: [amd, intel] config: [debug, release] @@ -92,7 +92,7 @@ jobs: run: just clippy ${{ matrix.config }} - name: Build - run: just build ${{ matrix.config }} ${{ matrix.hypervisor == 'mshv' && 'mshv2' || ''}} + run: just build ${{ matrix.config }} working-directory: ./src/hyperlight_wasm - name: Build Rust Wasm examples @@ -100,7 +100,7 @@ jobs: working-directory: ./src/hyperlight_wasm - name: Test - run: just test ${{ matrix.config }} ${{ matrix.hypervisor == 'mshv' && 'mshv2' || ''}} + run: just test ${{ matrix.config }} working-directory: ./src/hyperlight_wasm - name: Install github-cli (Windows) @@ -118,14 +118,14 @@ jobs: shell: pwsh - name: Test Examples - run: just examples-ci ${{ matrix.config }} ${{ matrix.hypervisor == 'mshv' && 'mshv2' || ''}} + run: just examples-ci ${{ matrix.config }} working-directory: ./src/hyperlight_wasm env: # required for gh cli when downloading GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Test Component Model Examples - run: just examples-components ${{ matrix.config }} ${{ matrix.hypervisor == 'mshv' && 'mshv2' || ''}} + run: just examples-components ${{ matrix.config }} working-directory: ./src/hyperlight_wasm ### Benchmarks ### @@ -141,6 +141,6 @@ jobs: - name: Run benchmarks run: | - just bench-ci dev ${{ matrix.config }} ${{ matrix.hypervisor == 'mshv' && 'mshv2' || ''}} + just bench-ci dev ${{ matrix.config }} working-directory: ./src/hyperlight_wasm if: ${{ matrix.config == 'release' }} diff --git a/Cargo.lock b/Cargo.lock index a4878e86..4ffca336 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -25,9 +25,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -235,9 +235,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "serde", @@ -330,9 +330,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.41" +version = "1.2.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" +checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3" dependencies = [ "find-msvc-tools", "jobserver", @@ -1074,9 +1074,9 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "globset" -version = "0.4.17" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab69130804d941f8075cfd713bf8848a2c3b3f201a9457a11e6f87e1ab62305" +checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" dependencies = [ "aho-corasick", "bstr", @@ -1263,8 +1263,9 @@ dependencies = [ [[package]] name = "hyperlight-common" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409ac43d32b148aa71473d5bca0b5ff4cf72ddf4e9cb4550e9a189d807e6c0d4" dependencies = [ "anyhow", "flatbuffers", @@ -1275,8 +1276,9 @@ dependencies = [ [[package]] name = "hyperlight-component-macro" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00ba3ff78d92543118d58108ba671a3dcd4f76ac6eda9dbbe7594a1c70c77859" dependencies = [ "env_logger", "hyperlight-component-util", @@ -1290,8 +1292,9 @@ dependencies = [ [[package]] name = "hyperlight-component-util" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "717bc84cbab6333112ed6824f56a141b91f1e71b8729eb98ffc9f81098c68446" dependencies = [ "itertools 0.14.0", "log", @@ -1304,8 +1307,9 @@ dependencies = [ [[package]] name = "hyperlight-host" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49984fc8631a27d214550204350e4cc2ca304a37da759ea37407d0d1e4863eb6" dependencies = [ "anyhow", "bitflags 2.10.0", @@ -1326,14 +1330,11 @@ dependencies = [ "libc", "log", "metrics", - "mshv-bindings 0.2.1", - "mshv-bindings 0.6.4", - "mshv-ioctls 0.2.1", - "mshv-ioctls 0.6.4", + "mshv-bindings", + "mshv-ioctls", "page_size", "rand", "rust-embed", - "seccompiler", "serde_json", "sha256", "termcolor", @@ -1415,9 +1416,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", @@ -1428,9 +1429,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -1441,11 +1442,10 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -1456,42 +1456,38 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" [[package]] name = "icu_provider" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", - "stable_deref_trait", - "tinystr", "writeable", "yoke", "zerofrom", @@ -1546,9 +1542,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -1610,9 +1606,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.81" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" dependencies = [ "once_cell", "wasm-bindgen", @@ -1716,9 +1712,9 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" @@ -1833,18 +1829,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "mshv-bindings" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f416b4432174e5a3f956a7887f4c1a4acea9511d81def67fcb8473293630ab9e" -dependencies = [ - "libc", - "num_enum", - "vmm-sys-util", - "zerocopy 0.7.35", -] - [[package]] name = "mshv-bindings" version = "0.6.4" @@ -1857,18 +1841,6 @@ dependencies = [ "zerocopy 0.8.27", ] -[[package]] -name = "mshv-ioctls" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d57586da719aacc905042eea71ff2efb52d16c7228a94af155c9ea45fe09c1c7" -dependencies = [ - "libc", - "mshv-bindings 0.2.1", - "thiserror 1.0.69", - "vmm-sys-util", -] - [[package]] name = "mshv-ioctls" version = "0.6.4" @@ -1876,7 +1848,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "748f59f22dccd910080a6315fc692bd04bd8c94ae2fc346957ec34b7d985eaa0" dependencies = [ "libc", - "mshv-bindings 0.6.4", + "mshv-bindings", "thiserror 2.0.17", "vmm-sys-util", ] @@ -1961,9 +1933,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "once_cell_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "oorandom" @@ -2104,9 +2076,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "zerovec", ] @@ -2132,9 +2104,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] @@ -2348,9 +2320,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "8.8.0" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb44e1917075637ee8c7bcb865cf8830e3a92b5b1189e44e3a0ab5a0d5be314b" +checksum = "947d7f3fad52b283d261c4c99a084937e2fe492248cb9a68a8435a861b8798ca" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -2359,9 +2331,9 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.8.0" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382499b49db77a7c19abd2a574f85ada7e9dbe125d5d1160fa5cad7c4cf71fc9" +checksum = "5fa2c8c9e8711e10f9c4fd2d64317ef13feaab820a4c51541f1a8c8e2e851ab2" dependencies = [ "proc-macro2", "quote", @@ -2373,9 +2345,9 @@ dependencies = [ [[package]] name = "rust-embed-utils" -version = "8.8.0" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21fcbee55c2458836bcdbfffb6ec9ba74bbc23ca7aa6816015a3dd2c4d8fc185" +checksum = "60b161f275cb337fe0a44d924a5f4df0ed69c2c39519858f931ce61c779d3475" dependencies = [ "globset", "sha2", @@ -2412,9 +2384,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.33" +version = "0.23.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751e04a496ca00bb97a5e043158d23d66b5aabf2e1d5aa2a0aaebb1aafe6f82c" +checksum = "6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7" dependencies = [ "aws-lc-rs", "once_cell", @@ -2438,18 +2410,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" dependencies = [ "zeroize", ] [[package]] name = "rustls-webpki" -version = "0.103.7" +version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ "aws-lc-rs", "ring", @@ -2513,15 +2485,6 @@ dependencies = [ "syn", ] -[[package]] -name = "seccompiler" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4ae55de56877481d112a559bbc12667635fdaf5e005712fd4e2b2fa50ffc884" -dependencies = [ - "libc", -] - [[package]] name = "security-framework" version = "3.5.1" @@ -2728,9 +2691,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.107" +version = "2.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a26dbd934e5451d21ef060c018dae56fc073894c5a7896f882928a76e6d081b" +checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" dependencies = [ "proc-macro2", "quote", @@ -2816,9 +2779,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -2980,9 +2943,9 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "unicode-ident" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-xid" @@ -3095,9 +3058,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" dependencies = [ "cfg-if", "once_cell", @@ -3106,25 +3069,11 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - [[package]] name = "wasm-bindgen-macro" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3132,22 +3081,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" dependencies = [ + "bumpalo", "proc-macro2", "quote", "syn", - "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" dependencies = [ "unicode-ident", ] @@ -3436,9 +3385,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.81" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" dependencies = [ "js-sys", "wasm-bindgen", @@ -3802,9 +3751,9 @@ dependencies = [ [[package]] name = "writeable" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "xattr" @@ -3818,11 +3767,10 @@ dependencies = [ [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -3830,9 +3778,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", @@ -3910,9 +3858,9 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", @@ -3921,9 +3869,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -3932,9 +3880,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index f039e826..8aaa6c4e 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 = { git = "https://github.com/hyperlight-dev/hyperlight", version = "0.10.0", rev = "7a266216c658331d9ff6f7315ba8c3f6a4926ad6", default-features = false, features = ["executable_heap", "init-paging"] } +hyperlight-host = { version = "0.11.0", default-features = false, features = ["executable_heap", "init-paging"] } diff --git a/Justfile b/Justfile index 7e86eafa..a844c8e6 100644 --- a/Justfile +++ b/Justfile @@ -87,15 +87,10 @@ clippy target=default-target: (check target) # There may be tests that we really want to ignore so we cant just use --ignored and run then we have to # specify the test name of the ignored tests that we want to run # Additionally, we have to run the tests with the function_call_metrics feature enabled separately -test target=default-target features="": (test-seccomp target features) +test target=default-target features="": cargo test {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" {"dev"} else { target } }} cargo test test_metrics {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" {"dev"} else { target } }} -- --ignored -test-seccomp target=default-target features="": - cargo test {{ if features =="" {'--no-default-features -F "kvm,mshv3,seccomp"'} else {"--no-default-features -F seccomp," + features } }} --profile={{ if target == "debug" {"dev"} else { target } }} -- --test-threads=1 - cargo test {{ if features =="" {'--no-default-features -F "kvm,mshv3,seccomp"'} else {"--no-default-features -F seccomp," + features } }} test_metrics --profile={{ if target == "debug" {"dev"} else { target } }} -- --ignored --test-threads=1 - cargo test {{ if features =="" {'--no-default-features -F "kvm,mshv3,seccomp"'} else {"--no-default-features -F seccomp," + features } }} test_gather_metrics --profile={{ if target == "debug" {"dev"} else { target } }} -- --ignored --test-threads=1 - examples-ci target=default-target features="": (build-rust-wasm-examples target) cargo run {{ if features =="" {''} else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" {"dev"} else { target } }} --example helloworld cargo run {{ if features =="" {''} else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" {"dev"} else { target } }} --example hostfuncs diff --git a/src/hyperlight_wasm/Cargo.toml b/src/hyperlight_wasm/Cargo.toml index 75fa4658..91d15c16 100644 --- a/src/hyperlight_wasm/Cargo.toml +++ b/src/hyperlight_wasm/Cargo.toml @@ -64,7 +64,7 @@ windows = { version = "0.62", features = ["Win32_System_Threading"] } page_size = "0.6.0" [dev-dependencies] -hyperlight-component-macro = { git = "https://github.com/hyperlight-dev/hyperlight", rev = "7a266216c658331d9ff6f7315ba8c3f6a4926ad6", version = "0.10.0" } +hyperlight-component-macro = { version = "0.11.0" } examples_common = { path = "../examples_common" } criterion = { version = "0.7.0", features = ["html_reports"] } crossbeam-queue = "0.3" @@ -85,12 +85,10 @@ tar = "0.4.44" [features] default = ["function_call_metrics", "kvm", "mshv3"] function_call_metrics = ["hyperlight-host/function_call_metrics"] -seccomp = ["hyperlight-host/seccomp"] print_debug = ["hyperlight-host/print_debug"] crashdump = ["hyperlight-host/crashdump"] gdb = ["hyperlight-host/gdb"] kvm = ["hyperlight-host/kvm"] -mshv2 = ["hyperlight-host/mshv2"] mshv3 = ["hyperlight-host/mshv3"] [[bench]] diff --git a/src/hyperlight_wasm/src/sandbox/proto_wasm_sandbox.rs b/src/hyperlight_wasm/src/sandbox/proto_wasm_sandbox.rs index 2aa93f48..24a7a0f5 100644 --- a/src/hyperlight_wasm/src/sandbox/proto_wasm_sandbox.rs +++ b/src/hyperlight_wasm/src/sandbox/proto_wasm_sandbox.rs @@ -15,8 +15,6 @@ limitations under the License. */ use hyperlight_host::func::{HostFunction, ParameterTuple, Registerable, SupportedReturnType}; -#[cfg(all(feature = "seccomp", target_os = "linux"))] -use hyperlight_host::sandbox::ExtraAllowedSyscall; use hyperlight_host::sandbox::config::SandboxConfiguration; use hyperlight_host::{GuestBinary, Result, UninitializedSandbox, new_error}; @@ -46,18 +44,6 @@ impl Registerable for ProtoWasmSandbox { .ok_or(new_error!("inner sandbox was none")) .and_then(|sb| sb.register(name, hf)) } - #[cfg(all(feature = "seccomp", target_os = "linux"))] - fn register_host_function_with_syscalls( - &mut self, - name: &str, - hf: impl Into>, - eas: Vec, - ) -> Result<()> { - self.inner - .as_mut() - .ok_or(new_error!("inner sandbox was none")) - .and_then(|sb| sb.register_host_function_with_syscalls(name, hf, eas)) - } } impl ProtoWasmSandbox { @@ -119,25 +105,6 @@ impl ProtoWasmSandbox { .register(name, host_func) } - /// Register the given host function `host_func` with `self` along with a vec of syscalls the - /// function requires and return `Ok` if the registration succeeded, and a descriptive `Err` if - /// it didn't. - #[cfg(all(feature = "seccomp", target_os = "linux"))] - pub fn register_with_extra_allowed_syscalls< - Args: ParameterTuple, - Output: SupportedReturnType, - >( - &mut self, - name: impl AsRef, - host_func: impl Into>, - extra_allowed_syscalls: impl IntoIterator, - ) -> Result<()> { - self.inner - .as_mut() - .ok_or(new_error!("inner sandbox was none"))? - .register_with_extra_allowed_syscalls(name, host_func, extra_allowed_syscalls) - } - /// Register the given host printing function `print_func` with `self`. /// Return `Ok` if the registration succeeded, and a descriptive `Err` otherwise. pub fn register_print( @@ -149,21 +116,6 @@ impl ProtoWasmSandbox { .ok_or(new_error!("inner sandbox was none"))? .register_print(print_func) } - - /// Register the given host printing function `print_func` with `self` along with a - /// vec of syscalls the function requires. - /// Return `Ok` if the registration succeeded, and a descriptive `Err` otherwise. - #[cfg(all(feature = "seccomp", target_os = "linux"))] - pub fn register_print_with_extra_allowed_syscalls( - &mut self, - print_func: impl Into>, - extra_allowed_syscalls: impl IntoIterator, - ) -> Result<()> { - self.inner - .as_mut() - .ok_or(new_error!("inner sandbox was none"))? - .register_print_with_extra_allowed_syscalls(print_func, extra_allowed_syscalls) - } } impl std::fmt::Debug for ProtoWasmSandbox { diff --git a/src/wasm_runtime/Cargo.lock b/src/wasm_runtime/Cargo.lock index bf0cb92c..230d24e9 100644 --- a/src/wasm_runtime/Cargo.lock +++ b/src/wasm_runtime/Cargo.lock @@ -617,8 +617,9 @@ dependencies = [ [[package]] name = "hyperlight-common" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409ac43d32b148aa71473d5bca0b5ff4cf72ddf4e9cb4550e9a189d807e6c0d4" dependencies = [ "anyhow", "flatbuffers", @@ -643,20 +644,23 @@ dependencies = [ [[package]] name = "hyperlight-guest" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27be04c1916c8483d6ec3486bd753b0e0757c30eb94aad53ba1e52da2f7ca00" dependencies = [ "anyhow", "flatbuffers", "hyperlight-common", "hyperlight-guest-tracing", "serde_json", + "tracing", ] [[package]] name = "hyperlight-guest-bin" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a8193539c50452e90e0c5ee906d251a1b2b6121a6040fc532b2468d9ef2184" dependencies = [ "buddy_system_allocator", "cc", @@ -668,26 +672,19 @@ dependencies = [ "hyperlight-guest-tracing", "log", "spin 0.10.0", + "tracing", ] [[package]] name = "hyperlight-guest-tracing" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670c97963e19dd9e2855ed8ef1db47074d72036beb2ac5e621bd5796be2856b0" dependencies = [ "hyperlight-common", - "hyperlight-guest-tracing-macro", "spin 0.10.0", -] - -[[package]] -name = "hyperlight-guest-tracing-macro" -version = "0.10.0" -source = "git+https://github.com/hyperlight-dev/hyperlight?rev=7a266216c658331d9ff6f7315ba8c3f6a4926ad6#7a266216c658331d9ff6f7315ba8c3f6a4926ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "tracing", + "tracing-core", ] [[package]] @@ -1639,9 +1636,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tracing-core" version = "0.1.34" diff --git a/src/wasm_runtime/Cargo.toml b/src/wasm_runtime/Cargo.toml index ec490b26..29cfa0e5 100644 --- a/src/wasm_runtime/Cargo.toml +++ b/src/wasm_runtime/Cargo.toml @@ -11,9 +11,9 @@ doctest = false bench = false [dependencies] -hyperlight-common = { git = "https://github.com/hyperlight-dev/hyperlight", rev = "7a266216c658331d9ff6f7315ba8c3f6a4926ad6", version = "0.10.0", default-features = false } -hyperlight-guest-bin = { git = "https://github.com/hyperlight-dev/hyperlight", rev = "7a266216c658331d9ff6f7315ba8c3f6a4926ad6", version = "0.10.0", features = [ "printf" ] } -hyperlight-guest = { git = "https://github.com/hyperlight-dev/hyperlight", rev = "7a266216c658331d9ff6f7315ba8c3f6a4926ad6", version = "0.10.0" } +hyperlight-common = { version = "0.11.0", default-features = false } +hyperlight-guest-bin = { version = "0.11.0", features = [ "printf" ] } +hyperlight-guest = { version = "0.11.0" } wasmtime = { version = "36.0.2", default-features = false, features = [ "runtime", "custom-virtual-memory", "custom-native-signals", "component-model" ] } hyperlight-wasm-macro = { path = "../hyperlight_wasm_macro" } spin = "0.10.0"