From 84396fe515784515b4c51b3b984a0ce0c26569f0 Mon Sep 17 00:00:00 2001 From: danbugs Date: Fri, 23 May 2025 22:44:02 +0000 Subject: [PATCH 1/9] [guest-bin] created the guest-bin crate It's currently hard to use the guest library. For instance, it defines a panic handler, which will cause compilation errors if a user of the library already has one defined. This commit creates a new crate to house the opinionated bits of the guest library to make its base functionality (i.e., causing VM exits, calling host functions) easier to consume without sacrificing functionality that currently exists in guest lib that makes writing guest apps easier. Aside from creating the crate, this commit also fixes up some doc references that referenced the guest lib alone. Signed-off-by: danbugs --- .github/copilot-instructions.md | 1 + .github/workflows/CargoPublish.yml | 8 +++++++- .github/workflows/dep_rust.yml | 2 +- Cargo.lock | 4 ++++ Cargo.toml | 4 +++- Justfile | 3 ++- README.md | 14 ++++++-------- c.just | 1 + dev/verify-msrv.sh | 2 +- docs/how-to-build-a-hyperlight-guest-binary.md | 2 +- docs/how-to-make-releases.md | 1 + src/hyperlight_guest/build.rs | 1 + .../third_party/musl/include/stdlib.h | 2 +- src/hyperlight_guest_bin/Cargo.toml | 14 ++++++++++++++ src/hyperlight_guest_bin/src/lib.rs | 15 +++++++++++++++ src/hyperlight_guest_capi/README.md | 2 +- src/tests/c_guests/c_callbackguest/main.c | 1 + src/tests/c_guests/c_simpleguest/main.c | 1 + typos.toml | 1 + 19 files changed, 63 insertions(+), 16 deletions(-) create mode 100644 src/hyperlight_guest_bin/Cargo.toml create mode 100644 src/hyperlight_guest_bin/src/lib.rs diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index a5df1f5d0..c741cbcde 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -76,6 +76,7 @@ This repository requires commits to be signed you should ensure that any commits - `fuzz` - contains the fuzzing tests for the project - `src/hyperlight_common/` - contains the common code shared between the host and guest - `src/hyperlight_guest/` - contains the hyperlight-guest library code +- `src/hyperlight_guest_bin/` - contains the hyperlight-guest-bin library code - `src/hyperlight_host/` - contains the hyperlight-host library code - `src/hyperlight_guest_capi/` - contains the hyperlight-guest C library code - `src/hyperlight_testing/` - contains the shared code for tests diff --git a/.github/workflows/CargoPublish.yml b/.github/workflows/CargoPublish.yml index 9f32cc7cc..d8f165c38 100644 --- a/.github/workflows/CargoPublish.yml +++ b/.github/workflows/CargoPublish.yml @@ -45,7 +45,7 @@ jobs: VERSION="${{ github.ref }}" VERSION="${VERSION#refs/heads/release/v}" fi - ./dev/verify-version.sh "$VERSION" hyperlight-common hyperlight-guest hyperlight-host + ./dev/verify-version.sh "$VERSION" hyperlight-common hyperlight-guest hyperlight-guest-bin hyperlight-host - name: Publish hyperlight-common continue-on-error: ${{ inputs.dry_run }} @@ -59,6 +59,12 @@ jobs: env: CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_PUBLISH_TOKEN }} + - name: Publish hyperlight-guest-bin + continue-on-error: ${{ inputs.dry_run }} + run: cargo publish --manifest-path ./src/hyperlight_guest_bin/Cargo.toml ${{ inputs.dry_run && '--dry-run' || '' }} + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_PUBLISH_TOKEN }} + - name: Publish hyperlight-host continue-on-error: ${{ inputs.dry_run }} run: cargo publish --manifest-path ./src/hyperlight_host/Cargo.toml ${{ inputs.dry_run && '--dry-run' || '' }} diff --git a/.github/workflows/dep_rust.yml b/.github/workflows/dep_rust.yml index c182971ce..5736880e4 100644 --- a/.github/workflows/dep_rust.yml +++ b/.github/workflows/dep_rust.yml @@ -93,7 +93,7 @@ jobs: run: just build ${{ matrix.config }} - name: Verify MSRV - run: ./dev/verify-msrv.sh hyperlight-host hyperlight-guest hyperlight-common + run: ./dev/verify-msrv.sh hyperlight-host hyperlight-guest hyperlight-guest-bin hyperlight-common - name: Run Rust tests env: diff --git a/Cargo.lock b/Cargo.lock index b66f952e3..6f4a689e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1178,6 +1178,10 @@ dependencies = [ "spin 0.10.0", ] +[[package]] +name = "hyperlight-guest-bin" +version = "0.4.0" + [[package]] name = "hyperlight-host" version = "0.5.0" diff --git a/Cargo.toml b/Cargo.toml index 300ae2a26..099d9000c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,8 @@ members = [ "src/hyperlight_host", "src/hyperlight_guest_capi", "src/hyperlight_testing", - "fuzz", + "fuzz", + "src/hyperlight_guest_bin", ] # Guests have custom linker flags, so we need to exclude them from the workspace exclude = [ @@ -33,6 +34,7 @@ readme = "README.md" hyperlight-common = { path = "src/hyperlight_common", version = "0.5.0", default-features = false } hyperlight-host = { path = "src/hyperlight_host", version = "0.5.0", default-features = false } hyperlight-guest = { path = "src/hyperlight_guest", version = "0.5.0", default-features = false } +hyperlight-guest-bin = { path = "src/hyperlight_guest_bin", version = "0.5.0", default-features = false } hyperlight-testing = { path = "src/hyperlight_testing", default-features = false } [workspace.lints.rust] diff --git a/Justfile b/Justfile index 634341f0e..fd0684eed 100644 --- a/Justfile +++ b/Justfile @@ -153,7 +153,7 @@ clippy-apply-fix-windows: # Verify Minimum Supported Rust Version verify-msrv: - ./dev/verify-msrv.sh hyperlight-host hyperlight-guest hyperlight-common + ./dev/verify-msrv.sh hyperlight-host hyperlight-guest hyperlight-guest-lib hyperlight-common ##################### ### RUST EXAMPLES ### @@ -175,6 +175,7 @@ run-rust-examples-linux target=default-target features="": (run-rust-examples ta ######################### tar-headers: (build-rust-capi) # build-rust-capi is a dependency because we need the hyperlight_guest.h to be built + # TODO(danbugs): update this when I'm done w/ the move tar -zcvf include.tar.gz -C {{root}}/src/hyperlight_guest/third_party/ musl/include musl/arch/x86_64 printf/printf.h -C {{root}}/src/hyperlight_guest_capi include tar-static-lib: (build-rust-capi "release") (build-rust-capi "debug") diff --git a/README.md b/README.md index 210cc05d2..74db8bd92 100644 --- a/README.md +++ b/README.md @@ -87,11 +87,9 @@ use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result_from_int; use hyperlight_guest::error::{HyperlightGuestError, Result}; -use hyperlight_guest::guest_function_definition::GuestFunctionDefinition; -use hyperlight_guest::guest_function_register::register_function; -use hyperlight_guest::host_function_call::{ - call_host_function, get_host_value_return_as_int, -}; +use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; +use hyperlight_guest_bin::guest_function::register::register_function; +use hyperlight_guest_bin::host_comm::{call_host_function, call_host_function_without_returning}; fn print_output(function_call: &FunctionCall) -> Result> { if let ParameterValue::String(message) = function_call.parameters.clone().unwrap()[0].clone() { @@ -145,9 +143,9 @@ the [./src/tests/rust_guests](./src/tests/rust_guests) directory for Rust guests - [src/hyperlight_host](./src/hyperlight_host) - This is the Rust Hyperlight host library. - Hyperlight Guest Libraries (i.e., the ones to make it easier to create guests that run inside the VMs) - - [src/hyperlight_guest](./src/hyperlight_guest) - This is the Rust Hyperlight guest library. - - [src/hyperlight_guest_capi](./src/hyperlight_guest_capi) - This is the C compatible wrapper for the Hyperlight - guest library. + - [src/hyperlight_guest](./src/hyperlight_guest) - The core Rust library for Hyperlight guests. It provides only the essential building blocks for interacting with the host environment, including the VM exit mechanism (`outb`), abstractions for calling host functions and receiving return values, and the input/output stacks used for guest-host communication. + - [src/hyperlight_guest_bin](./src/hyperlight_guest_bin/) - A minimal shim that allows using `hyperlight_guest` without adopting its more opinionated components (e.g., panic handler, heap initialization, musl-specific imports, logging, and exception handling). + - [src/hyperlight_guest_capi](./src/hyperlight_guest_capi) - A C-compatible wrapper around `hyperlight_guest_bin`, exposing its core functionality for use in C programs and other languages via FFI. - Hyperlight Common (functionality used by both the host and the guest) - [src/hyperlight_common](./src/hyperlight_common) diff --git a/c.just b/c.just index c40fde974..c00adae7e 100644 --- a/c.just +++ b/c.just @@ -3,6 +3,7 @@ mkdir := if os() == "windows" { "mkdir -f -p" } else { "mkdir -p"} # Elf options # We don't support stack protectors at the moment, but Arch Linux clang auto-enables them for -linux platforms, so explicitly disable them. c-compile-options-elf := '-nobuiltininc -H --target=x86_64-unknown-linux-none -fno-stack-protector -fstack-clash-protection -mstack-probe-size=4096 -fPIC' +# TODO(danbugs): update this when I'm done w/ the move c-include-flags-elf := "-I " + root / "src/hyperlight_guest_capi/include/" + " -I " + root / "src/hyperlight_guest/third_party/musl/include/" + " -I " + root / "src/hyperlight_guest/third_party/musl/arch/x86_64" + " -I " + root / "src/hyperlight_guest/third_party/printf" c-linker-options-elf := '--entry "entrypoint" --nostdlib -pie' c-flags-debug-elf := '-O0' diff --git a/dev/verify-msrv.sh b/dev/verify-msrv.sh index bc72a7fa6..1b697fd13 100755 --- a/dev/verify-msrv.sh +++ b/dev/verify-msrv.sh @@ -6,7 +6,7 @@ for CRATE in "$@"; do if ! rustup toolchain list | grep -q "$VERSION"; then rustup --quiet toolchain install "$VERSION" --no-self-update --profile minimal fi - if [[ "$CRATE" == "hyperlight-guest" ]]; then + if [[ "$CRATE" == "hyperlight-guest" || "$CRATE" == "hyperlight-guest-bin" ]]; then TARGET="x86_64-unknown-none" rustup target add "$TARGET" --toolchain "$VERSION" >/dev/null if cargo +"$VERSION" check --quiet -p "$CRATE" --target "$TARGET"; then diff --git a/docs/how-to-build-a-hyperlight-guest-binary.md b/docs/how-to-build-a-hyperlight-guest-binary.md index 1169ed2e7..a76e43d4b 100644 --- a/docs/how-to-build-a-hyperlight-guest-binary.md +++ b/docs/how-to-build-a-hyperlight-guest-binary.md @@ -18,7 +18,7 @@ binary can be used with Hyperlight: ## Rust guest binary In the case of a binary that is written in Rust, one needs to make use of the -Hyperlight crate, `hyperlight_guest` that contains the types and APIs that enable +Hyperlight crate, `hyperlight_guest` and `hyperlight_guest_bin` that contains the types and APIs that enable the guest to: - register functions that can be called by the host application - call host functions that have been registered by the host. diff --git a/docs/how-to-make-releases.md b/docs/how-to-make-releases.md index 1ca900311..87595d3e1 100644 --- a/docs/how-to-make-releases.md +++ b/docs/how-to-make-releases.md @@ -55,6 +55,7 @@ After the previous CI job runs to create the new release branch, go to the ["Cre When this job is done, a new [GitHub release](https://github.com/hyperlight-dev/hyperlight/releases) will be created for you. This job also publishes the following rust packages to the crates.io: - `hyperlight-common` - `hyperlight-guest` +- `hyperlight-guest-bin` - `hyperlight-host` ## Patching a release diff --git a/src/hyperlight_guest/build.rs b/src/hyperlight_guest/build.rs index e0dc906fb..7e3eb1d38 100644 --- a/src/hyperlight_guest/build.rs +++ b/src/hyperlight_guest/build.rs @@ -109,6 +109,7 @@ fn cargo_main() { unsafe { env::set_var("AR_x86_64_pc_windows_msvc", "llvm-lib") }; } + // TODO(danbugs): update this when I'm done w/ the move. cfg.compile("hyperlight_guest"); } diff --git a/src/hyperlight_guest/third_party/musl/include/stdlib.h b/src/hyperlight_guest/third_party/musl/include/stdlib.h index b23d57213..d39dc504c 100644 --- a/src/hyperlight_guest/third_party/musl/include/stdlib.h +++ b/src/hyperlight_guest/third_party/musl/include/stdlib.h @@ -34,7 +34,7 @@ unsigned long strtoul (const char *__restrict, char **__restrict, int); long long strtoll (const char *__restrict, char **__restrict, int); unsigned long long strtoull (const char *__restrict, char **__restrict, int); -// These 5 functions are implemented in rust in hyperlight_guest +// These 5 functions are implemented in rust in hyperlight_guest_bin _Noreturn void abort (void); void *malloc (size_t); void *calloc (size_t, size_t); diff --git a/src/hyperlight_guest_bin/Cargo.toml b/src/hyperlight_guest_bin/Cargo.toml new file mode 100644 index 000000000..7a86764a0 --- /dev/null +++ b/src/hyperlight_guest_bin/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "hyperlight-guest-bin" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +homepage.workspace = true +repository.workspace = true +readme.workspace = true + +[dependencies] + +[lints] +workspace = true diff --git a/src/hyperlight_guest_bin/src/lib.rs b/src/hyperlight_guest_bin/src/lib.rs new file mode 100644 index 000000000..5a27e0714 --- /dev/null +++ b/src/hyperlight_guest_bin/src/lib.rs @@ -0,0 +1,15 @@ +/* +Copyright 2024 The Hyperlight Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ diff --git a/src/hyperlight_guest_capi/README.md b/src/hyperlight_guest_capi/README.md index 3f15d9931..418b4ac61 100644 --- a/src/hyperlight_guest_capi/README.md +++ b/src/hyperlight_guest_capi/README.md @@ -1,4 +1,4 @@ -This is a c-api wrapper over the hyperlight-guest crate. The purpose of this crate is to allow the creation of guests in the c language. This crate generates a .lib/.a library file depending on the platform, as well necessary header files. +This is a c-api wrapper over the hyperlight-guest/hyperlight-guest-bin crate. The purpose of this crate is to allow the creation of guests in the c language. This crate generates a .lib/.a library file depending on the platform, as well necessary header files. For examples on how to use it, see the c [simpleguest](../tests/c_guests/c_simpleguest/). diff --git a/src/tests/c_guests/c_callbackguest/main.c b/src/tests/c_guests/c_callbackguest/main.c index 1e94d6d5e..e51749745 100644 --- a/src/tests/c_guests/c_callbackguest/main.c +++ b/src/tests/c_guests/c_callbackguest/main.c @@ -1,5 +1,6 @@ // Included from hyperlight_guest_capi/include #include "hyperlight_guest.h" +// TODO(danbugs): update when I'm done w/ the move // Included from hyperlight_guest/third_party/libc #include "stdint.h" #include "stdio.h" diff --git a/src/tests/c_guests/c_simpleguest/main.c b/src/tests/c_guests/c_simpleguest/main.c index 8be8f8619..120604059 100644 --- a/src/tests/c_guests/c_simpleguest/main.c +++ b/src/tests/c_guests/c_simpleguest/main.c @@ -1,5 +1,6 @@ // Included from hyperlight_guest_capi/include #include "hyperlight_guest.h" +// TODO(danbugs): update when I'm done w/ the move // Included from hyperlight_guest/third_party/libc #include "stdint.h" #include "string.h" diff --git a/typos.toml b/typos.toml index 32d9e9fde..52d435227 100644 --- a/typos.toml +++ b/typos.toml @@ -2,6 +2,7 @@ extend-ignore-identifiers-re = ["Fo"] [files] +# TODO(danbugs): update this when I'm done w/ the move extend-exclude = ["**/*.patch", "src/hyperlight_guest/third_party/**/*", "NOTICE.txt"] [default.extend-words] From 7d54362afd5006812c47b262d8f13eeb4c684ac2 Mon Sep 17 00:00:00 2001 From: danbugs Date: Fri, 23 May 2025 23:27:48 +0000 Subject: [PATCH 2/9] [guest-bin] move panic handler to guest-bin lib Signed-off-by: danbugs --- Cargo.lock | 5 ++++ src/hyperlight_guest/src/lib.rs | 19 -------------- src/hyperlight_guest_bin/Cargo.toml | 2 ++ src/hyperlight_guest_bin/src/lib.rs | 25 +++++++++++++++++++ src/hyperlight_guest_capi/Cargo.toml | 1 + src/hyperlight_guest_capi/src/lib.rs | 4 +++ .../rust_guests/callbackguest/Cargo.lock | 9 +++++++ .../rust_guests/callbackguest/Cargo.toml | 1 + .../rust_guests/callbackguest/src/main.rs | 4 +++ src/tests/rust_guests/simpleguest/Cargo.lock | 9 +++++++ src/tests/rust_guests/simpleguest/Cargo.toml | 1 + src/tests/rust_guests/simpleguest/src/main.rs | 4 +++ 12 files changed, 65 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6f4a689e4..f3693a7ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1181,6 +1181,10 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" version = "0.4.0" +dependencies = [ + "hyperlight-common", + "hyperlight-guest", +] [[package]] name = "hyperlight-host" @@ -1272,6 +1276,7 @@ dependencies = [ "cbindgen", "hyperlight-common", "hyperlight-guest", + "hyperlight-guest-bin", "log", ] diff --git a/src/hyperlight_guest/src/lib.rs b/src/hyperlight_guest/src/lib.rs index 7997a87f0..3ce2bab31 100644 --- a/src/hyperlight_guest/src/lib.rs +++ b/src/hyperlight_guest/src/lib.rs @@ -16,14 +16,11 @@ limitations under the License. #![no_std] // Deps -use alloc::string::ToString; use buddy_system_allocator::LockedHeap; use guest_function_register::GuestFunctionRegister; -use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; use hyperlight_common::mem::HyperlightPEB; -use crate::entrypoint::abort_with_code_and_message; extern crate alloc; // Modules @@ -53,22 +50,6 @@ pub mod exceptions { } pub mod logging; -// It looks like rust-analyzer doesn't correctly manage no_std crates, -// and so it displays an error about a duplicate panic_handler. -// See more here: https://github.com/rust-lang/rust-analyzer/issues/4490 -// The cfg_attr attribute is used to avoid clippy failures as test pulls in std which pulls in a panic handler -#[cfg_attr(not(test), panic_handler)] -#[allow(clippy::panic)] -// to satisfy the clippy when cfg == test -#[allow(dead_code)] -fn panic(info: &core::panic::PanicInfo) -> ! { - let msg = info.to_string(); - let c_string = alloc::ffi::CString::new(msg) - .unwrap_or_else(|_| alloc::ffi::CString::new("panic (invalid utf8)").unwrap()); - - unsafe { abort_with_code_and_message(&[ErrorCode::UnknownError as u8], c_string.as_ptr()) } -} - // Globals #[global_allocator] pub(crate) static HEAP_ALLOCATOR: LockedHeap<32> = LockedHeap::<32>::empty(); diff --git a/src/hyperlight_guest_bin/Cargo.toml b/src/hyperlight_guest_bin/Cargo.toml index 7a86764a0..5da85fdfc 100644 --- a/src/hyperlight_guest_bin/Cargo.toml +++ b/src/hyperlight_guest_bin/Cargo.toml @@ -9,6 +9,8 @@ repository.workspace = true readme.workspace = true [dependencies] +hyperlight-guest = { workspace = true, default-features = false} +hyperlight-common = { workspace = true, default-features = false} [lints] workspace = true diff --git a/src/hyperlight_guest_bin/src/lib.rs b/src/hyperlight_guest_bin/src/lib.rs index 5a27e0714..84dc9dc97 100644 --- a/src/hyperlight_guest_bin/src/lib.rs +++ b/src/hyperlight_guest_bin/src/lib.rs @@ -13,3 +13,28 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ + +#![no_std] + +extern crate alloc; + +use alloc::string::ToString; + +use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; +use hyperlight_guest::entrypoint::abort_with_code_and_message; + +// It looks like rust-analyzer doesn't correctly manage no_std crates, +// and so it displays an error about a duplicate panic_handler. +// See more here: https://github.com/rust-lang/rust-analyzer/issues/4490 +// The cfg_attr attribute is used to avoid clippy failures as test pulls in std which pulls in a panic handler +#[cfg_attr(not(test), panic_handler)] +#[allow(clippy::panic)] +// to satisfy the clippy when cfg == test +#[allow(dead_code)] +fn panic(info: &core::panic::PanicInfo) -> ! { + let msg = info.to_string(); + let c_string = alloc::ffi::CString::new(msg) + .unwrap_or_else(|_| alloc::ffi::CString::new("panic (invalid utf8)").unwrap()); + + unsafe { abort_with_code_and_message(&[ErrorCode::UnknownError as u8], c_string.as_ptr()) } +} diff --git a/src/hyperlight_guest_capi/Cargo.toml b/src/hyperlight_guest_capi/Cargo.toml index bf0d338be..da35e4458 100644 --- a/src/hyperlight_guest_capi/Cargo.toml +++ b/src/hyperlight_guest_capi/Cargo.toml @@ -13,6 +13,7 @@ workspace = true [dependencies] hyperlight-guest = { workspace = true, default-features = true } +hyperlight-guest-bin = { workspace = true, default-features = false } hyperlight-common = { workspace = true, default-features = false } log = { version = "0.4", default-features = false } diff --git a/src/hyperlight_guest_capi/src/lib.rs b/src/hyperlight_guest_capi/src/lib.rs index 88011211d..8c98f007b 100644 --- a/src/hyperlight_guest_capi/src/lib.rs +++ b/src/hyperlight_guest_capi/src/lib.rs @@ -3,6 +3,10 @@ extern crate alloc; +// TODO(danbugs): this is needed so the panic handler is actually brought in. +// We can remove it later once more functionality was moved to hyperlight-guest-bin +extern crate hyperlight_guest_bin; + pub mod dispatch; pub mod error; pub mod flatbuffer; diff --git a/src/tests/rust_guests/callbackguest/Cargo.lock b/src/tests/rust_guests/callbackguest/Cargo.lock index ddd20c2f1..bbd618102 100644 --- a/src/tests/rust_guests/callbackguest/Cargo.lock +++ b/src/tests/rust_guests/callbackguest/Cargo.lock @@ -35,6 +35,7 @@ version = "0.1.0" dependencies = [ "hyperlight-common", "hyperlight-guest", + "hyperlight-guest-bin", ] [[package]] @@ -99,6 +100,14 @@ dependencies = [ "spin 0.10.0", ] +[[package]] +name = "hyperlight-guest-bin" +version = "0.4.0" +dependencies = [ + "hyperlight-common", + "hyperlight-guest", +] + [[package]] name = "itoa" version = "1.0.15" diff --git a/src/tests/rust_guests/callbackguest/Cargo.toml b/src/tests/rust_guests/callbackguest/Cargo.toml index 0f9c01028..ccbdf6a0a 100644 --- a/src/tests/rust_guests/callbackguest/Cargo.toml +++ b/src/tests/rust_guests/callbackguest/Cargo.toml @@ -5,4 +5,5 @@ edition = "2021" [dependencies] hyperlight-guest = { path = "../../../hyperlight_guest" } +hyperlight-guest-bin = { path = "../../../hyperlight_guest_bin" } hyperlight-common = { path = "../../../hyperlight_common", default-features = false } \ No newline at end of file diff --git a/src/tests/rust_guests/callbackguest/src/main.rs b/src/tests/rust_guests/callbackguest/src/main.rs index bb2c61b50..01db7ad23 100644 --- a/src/tests/rust_guests/callbackguest/src/main.rs +++ b/src/tests/rust_guests/callbackguest/src/main.rs @@ -37,6 +37,10 @@ use hyperlight_guest::guest_function_register::register_function; use hyperlight_guest::host_function_call::{call_host_function, print_output_with_host_print}; use hyperlight_guest::logging::log_message; +// TODO(danbugs): this is needed so the panic handler is actually brought in. +// We can remove it later once more functionality was moved to hyperlight-guest-bin +extern crate hyperlight_guest_bin; + fn send_message_to_host_method( method_name: &str, guest_message: &str, diff --git a/src/tests/rust_guests/simpleguest/Cargo.lock b/src/tests/rust_guests/simpleguest/Cargo.lock index 4d0274ee6..e216430d4 100644 --- a/src/tests/rust_guests/simpleguest/Cargo.lock +++ b/src/tests/rust_guests/simpleguest/Cargo.lock @@ -91,6 +91,14 @@ dependencies = [ "spin 0.10.0", ] +[[package]] +name = "hyperlight-guest-bin" +version = "0.4.0" +dependencies = [ + "hyperlight-common", + "hyperlight-guest", +] + [[package]] name = "itoa" version = "1.0.15" @@ -214,6 +222,7 @@ version = "0.4.0" dependencies = [ "hyperlight-common", "hyperlight-guest", + "hyperlight-guest-bin", "log", ] diff --git a/src/tests/rust_guests/simpleguest/Cargo.toml b/src/tests/rust_guests/simpleguest/Cargo.toml index f414efe86..f2e75ee1c 100644 --- a/src/tests/rust_guests/simpleguest/Cargo.toml +++ b/src/tests/rust_guests/simpleguest/Cargo.toml @@ -5,5 +5,6 @@ edition = "2021" [dependencies] hyperlight-guest = { path = "../../../hyperlight_guest" } +hyperlight-guest-bin = { path = "../../../hyperlight_guest_bin" } hyperlight-common = { path = "../../../hyperlight_common", default-features = false } log = {version = "0.4", default-features = false } diff --git a/src/tests/rust_guests/simpleguest/src/main.rs b/src/tests/rust_guests/simpleguest/src/main.rs index 6311d8e2d..f7a68e01a 100644 --- a/src/tests/rust_guests/simpleguest/src/main.rs +++ b/src/tests/rust_guests/simpleguest/src/main.rs @@ -25,6 +25,10 @@ const MAX_BUFFER_SIZE: usize = 1024; extern crate alloc; +// TODO(danbugs): this is needed so the panic handler is actually brought in. +// We can remove it later once more functionality was moved to hyperlight-guest-bin +extern crate hyperlight_guest_bin; + use alloc::boxed::Box; use alloc::string::ToString; use alloc::vec::Vec; From 777c0dad110b4809356078bb9e03bc707a01396d Mon Sep 17 00:00:00 2001 From: danbugs Date: Sun, 1 Jun 2025 22:48:25 +0000 Subject: [PATCH 3/9] [guest,guest_bin] created GuestHandle and moved entrypoint + guest_logger + exceptions + guest function logic + guest_err - moved entrypoint to guest_bin library. W/ this, I also moved a lot of things that were only used via the entrypoint: -- IDT/GDT setup for exceptions. -- guest_logger. - w/ the entrypoint fxn from the guest lib having moved, I re-named that module to 'exit' as it still contains stuff for aborting guest execution. I also moved OUT functions there like 'outb' and 'out32'. - a lot of our public functions in the guest lib, like, for example, push_shared_output_data relied on a pub(crate) global (i.e., P_PEB) being set. W/ that only ever being set in the entrypoint and w/ it not being appropriate as pub, I created a GuestHandle struct. This struct houses a *mut HyperlightPEB that operations like push_shared_output_data can leverage. bin-like crates can then create their own GuestHandle globals and use its functionality like self.push_shared_output_data(...). - moved all out guest function defintion, registration and so on to the guest_bin crate. Signed-off-by: danbugs --- Cargo.lock | 6 +- src/hyperlight_guest/Cargo.toml | 3 - src/hyperlight_guest/src/entrypoint.rs | 128 --------------- src/hyperlight_guest/src/exit.rs | 100 ++++++++++++ .../src/guest_handle/handle.rs | 48 ++++++ .../src/guest_handle/host_comm.rs | 147 +++++++++++++++++ src/hyperlight_guest/src/guest_handle/io.rs | 149 ++++++++++++++++++ .../src/host_function_call.rs | 145 ----------------- src/hyperlight_guest/src/lib.rs | 45 +----- src/hyperlight_guest/src/logging.rs | 61 ------- src/hyperlight_guest/src/memory.rs | 2 +- src/hyperlight_guest/src/print.rs | 71 --------- src/hyperlight_guest/src/shared_input_data.rs | 86 ---------- .../src/shared_output_data.rs | 83 ---------- src/hyperlight_guest_bin/Cargo.toml | 7 +- .../src/exceptions/gdt.rs | 0 .../src/exceptions/handler.rs} | 3 +- .../src/exceptions/idt.rs | 0 .../src/exceptions/idtr.rs | 0 .../src/exceptions/interrupt_entry.rs | 2 +- .../src/guest_err.rs} | 33 ++-- .../src/guest_function/call.rs} | 18 +-- .../src/guest_function/definition.rs} | 3 +- .../src/guest_function/register.rs} | 2 +- .../src/guest_logger.rs | 18 ++- src/hyperlight_guest_bin/src/host_comm.rs | 125 +++++++++++++++ src/hyperlight_guest_bin/src/lib.rs | 108 ++++++++++++- src/hyperlight_guest_capi/src/dispatch.rs | 8 +- src/hyperlight_guest_capi/src/error.rs | 6 +- src/hyperlight_guest_capi/src/flatbuffer.rs | 2 +- .../rust_guests/callbackguest/Cargo.lock | 6 +- .../rust_guests/callbackguest/src/main.rs | 8 +- src/tests/rust_guests/simpleguest/Cargo.lock | 6 +- src/tests/rust_guests/simpleguest/src/main.rs | 16 +- 34 files changed, 755 insertions(+), 690 deletions(-) delete mode 100644 src/hyperlight_guest/src/entrypoint.rs create mode 100644 src/hyperlight_guest/src/exit.rs create mode 100644 src/hyperlight_guest/src/guest_handle/handle.rs create mode 100644 src/hyperlight_guest/src/guest_handle/host_comm.rs create mode 100644 src/hyperlight_guest/src/guest_handle/io.rs delete mode 100644 src/hyperlight_guest/src/host_function_call.rs delete mode 100644 src/hyperlight_guest/src/logging.rs delete mode 100644 src/hyperlight_guest/src/print.rs delete mode 100644 src/hyperlight_guest/src/shared_input_data.rs delete mode 100644 src/hyperlight_guest/src/shared_output_data.rs rename src/{hyperlight_guest => hyperlight_guest_bin}/src/exceptions/gdt.rs (100%) rename src/{hyperlight_guest/src/exceptions/handlers.rs => hyperlight_guest_bin/src/exceptions/handler.rs} (95%) rename src/{hyperlight_guest => hyperlight_guest_bin}/src/exceptions/idt.rs (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/src/exceptions/idtr.rs (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/src/exceptions/interrupt_entry.rs (99%) rename src/{hyperlight_guest/src/guest_error.rs => hyperlight_guest_bin/src/guest_err.rs} (55%) rename src/{hyperlight_guest/src/guest_function_call.rs => hyperlight_guest_bin/src/guest_function/call.rs} (89%) rename src/{hyperlight_guest/src/guest_function_definition.rs => hyperlight_guest_bin/src/guest_function/definition.rs} (98%) rename src/{hyperlight_guest/src/guest_function_register.rs => hyperlight_guest_bin/src/guest_function/register.rs} (97%) rename src/{hyperlight_guest => hyperlight_guest_bin}/src/guest_logger.rs (81%) create mode 100644 src/hyperlight_guest_bin/src/host_comm.rs diff --git a/Cargo.lock b/Cargo.lock index f3693a7ec..349141199 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1168,22 +1168,22 @@ name = "hyperlight-guest" version = "0.5.0" dependencies = [ "anyhow", - "buddy_system_allocator", "cc", "cfg-if", "glob", "hyperlight-common", - "log", "serde_json", - "spin 0.10.0", ] [[package]] name = "hyperlight-guest-bin" version = "0.4.0" dependencies = [ + "buddy_system_allocator", "hyperlight-common", "hyperlight-guest", + "log", + "spin 0.10.0", ] [[package]] diff --git a/src/hyperlight_guest/Cargo.toml b/src/hyperlight_guest/Cargo.toml index a9499e93d..1a7ff7d71 100644 --- a/src/hyperlight_guest/Cargo.toml +++ b/src/hyperlight_guest/Cargo.toml @@ -20,10 +20,7 @@ printf = [] # compile printf [dependencies] anyhow = { version = "1.0.98", default-features = false } serde_json = { version = "1.0", default-features = false, features = ["alloc"] } -buddy_system_allocator = "0.11.0" hyperlight-common = { workspace = true } -spin = "0.10.0" -log = { version = "0.4", default-features = false } [build-dependencies] cc = "1.2" diff --git a/src/hyperlight_guest/src/entrypoint.rs b/src/hyperlight_guest/src/entrypoint.rs deleted file mode 100644 index a8a3bc67b..000000000 --- a/src/hyperlight_guest/src/entrypoint.rs +++ /dev/null @@ -1,128 +0,0 @@ -/* -Copyright 2024 The Hyperlight Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -use core::arch::asm; -use core::ffi::{c_char, CStr}; - -use hyperlight_common::mem::HyperlightPEB; -use hyperlight_common::outb::OutBAction; -use log::LevelFilter; -use spin::Once; - -#[cfg(target_arch = "x86_64")] -use crate::exceptions::{gdt::load_gdt, idtr::load_idt}; -use crate::guest_function_call::dispatch_function; -use crate::guest_logger::init_logger; -use crate::host_function_call::outb; -use crate::{HEAP_ALLOCATOR, MIN_STACK_ADDRESS, OS_PAGE_SIZE, P_PEB}; - -#[inline(never)] -pub fn halt() { - unsafe { asm!("hlt", options(nostack)) } -} - -#[unsafe(no_mangle)] -pub extern "C" fn abort() -> ! { - abort_with_code(&[0, 0xFF]) -} - -pub fn abort_with_code(code: &[u8]) -> ! { - outb(OutBAction::Abort as u16, code); - outb(OutBAction::Abort as u16, &[0xFF]); // send abort terminator (if not included in code) - unreachable!() -} - -/// Aborts the program with a code and a message. -/// -/// # Safety -/// This function is unsafe because it dereferences a raw pointer. -pub unsafe fn abort_with_code_and_message(code: &[u8], message_ptr: *const c_char) -> ! { - unsafe { - // Step 1: Send abort code (typically 1 byte, but `code` allows flexibility) - outb(OutBAction::Abort as u16, code); - - // Step 2: Convert the C string to bytes - let message_bytes = CStr::from_ptr(message_ptr).to_bytes(); // excludes null terminator - - // Step 3: Send the message itself in chunks - outb(OutBAction::Abort as u16, message_bytes); - - // Step 4: Send abort terminator to signal completion (e.g., 0xFF) - outb(OutBAction::Abort as u16, &[0xFF]); - - // This function never returns - unreachable!() - } -} - -unsafe extern "C" { - fn hyperlight_main(); - fn srand(seed: u32); -} - -static INIT: Once = Once::new(); - -#[unsafe(no_mangle)] -pub extern "C" fn entrypoint(peb_address: u64, seed: u64, ops: u64, max_log_level: u64) { - if peb_address == 0 { - panic!("PEB address is null"); - } - - INIT.call_once(|| { - unsafe { - P_PEB = Some(peb_address as *mut HyperlightPEB); - let peb_ptr = P_PEB.unwrap(); - - let srand_seed = ((peb_address << 8 ^ seed >> 4) >> 32) as u32; - - // Set the seed for the random number generator for C code using rand; - srand(srand_seed); - - // set up the logger - let max_log_level = LevelFilter::iter() - .nth(max_log_level as usize) - .expect("Invalid log level"); - init_logger(max_log_level); - - // This static is to make it easier to implement the __chkstk function in assembly. - // It also means that should we change the layout of the struct in the future, we - // don't have to change the assembly code. - MIN_STACK_ADDRESS = (*peb_ptr).guest_stack.min_user_stack_address; - - #[cfg(target_arch = "x86_64")] - { - // Setup GDT and IDT - load_gdt(); - load_idt(); - } - - let heap_start = (*peb_ptr).guest_heap.ptr as usize; - let heap_size = (*peb_ptr).guest_heap.size as usize; - HEAP_ALLOCATOR - .try_lock() - .expect("Failed to access HEAP_ALLOCATOR") - .init(heap_start, heap_size); - - OS_PAGE_SIZE = ops as u32; - - (*peb_ptr).guest_function_dispatch_ptr = dispatch_function as usize as u64; - - hyperlight_main(); - } - }); - - halt(); -} diff --git a/src/hyperlight_guest/src/exit.rs b/src/hyperlight_guest/src/exit.rs new file mode 100644 index 000000000..220b516f9 --- /dev/null +++ b/src/hyperlight_guest/src/exit.rs @@ -0,0 +1,100 @@ +/* +Copyright 2024 The Hyperlight Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +use core::arch::asm; +use core::ffi::{c_char, CStr}; + +use hyperlight_common::outb::OutBAction; + +/// Halt the execution of the guest and returns control to the host. +#[inline(never)] +pub fn halt() { + unsafe { asm!("hlt", options(nostack)) } +} + +/// Exits the VM with an Abort OUT action and code 0. +#[unsafe(no_mangle)] +pub extern "C" fn abort() -> ! { + abort_with_code(&[0, 0xFF]) +} + +/// Exits the VM with an Abort OUT action and a specific code. +pub fn abort_with_code(code: &[u8]) -> ! { + outb(OutBAction::Abort as u16, code); + outb(OutBAction::Abort as u16, &[0xFF]); // send abort terminator (if not included in code) + unreachable!() +} + +/// Aborts the program with a code and a message. +/// +/// # Safety +/// This function is unsafe because it dereferences a raw pointer. +pub unsafe fn abort_with_code_and_message(code: &[u8], message_ptr: *const c_char) -> ! { + unsafe { + // Step 1: Send abort code (typically 1 byte, but `code` allows flexibility) + outb(OutBAction::Abort as u16, code); + + // Step 2: Convert the C string to bytes + let message_bytes = CStr::from_ptr(message_ptr).to_bytes(); // excludes null terminator + + // Step 3: Send the message itself in chunks + outb(OutBAction::Abort as u16, message_bytes); + + // Step 4: Send abort terminator to signal completion (e.g., 0xFF) + outb(OutBAction::Abort as u16, &[0xFF]); + + // This function never returns + unreachable!() + } +} + +/// OUT bytes to the host through multiple exits. +pub(crate) fn outb(port: u16, data: &[u8]) { + unsafe { + let mut i = 0; + while i < data.len() { + let remaining = data.len() - i; + let chunk_len = remaining.min(3); + let mut chunk = [0u8; 4]; + chunk[0] = chunk_len as u8; + chunk[1..1 + chunk_len].copy_from_slice(&data[i..i + chunk_len]); + let val = u32::from_le_bytes(chunk); + out32(port, val); + i += chunk_len; + } + } +} + +/// OUT function for sending a 32-bit value to the host. +pub(crate) unsafe fn out32(port: u16, val: u32) { + unsafe { + asm!("out dx, eax", in("dx") port, in("eax") val, options(preserves_flags, nomem, nostack)); + } +} + +/// Prints a message using `OutBAction::DebugPrint`. It transmits bytes of a message +/// through several VMExists and, with such, it is slower than +/// `print_output_with_host_print`. +/// +/// This function should be used in debug mode only. This function does not +/// require memory to be setup to be used. +pub fn debug_print(msg: &str) { + for byte in msg.bytes() { + unsafe { + out32(OutBAction::DebugPrint as u16, byte as u32); + } + } +} diff --git a/src/hyperlight_guest/src/guest_handle/handle.rs b/src/hyperlight_guest/src/guest_handle/handle.rs new file mode 100644 index 000000000..a7cfe2f6e --- /dev/null +++ b/src/hyperlight_guest/src/guest_handle/handle.rs @@ -0,0 +1,48 @@ +/* +Copyright 2024 The Hyperlight Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +use hyperlight_common::mem::HyperlightPEB; + +/// A guest handle holds the `HyperlightPEB` and enables the guest to perform +/// operations like: +/// - calling host functions, +/// - accessing shared input and output buffers, +/// - writing errors, +/// - etc. +/// +/// Guests are expected to initialize this and store it. For example, you +/// could store it in a global variable. +#[derive(Debug, Clone, Copy)] +pub struct GuestHandle { + peb: Option<*mut HyperlightPEB>, +} + +impl GuestHandle { + /// Creates a new uninitialized guest state. + pub const fn new() -> Self { + Self { peb: None } + } + + /// Initializes the guest state with a given PEB pointer. + pub fn init(peb: *mut HyperlightPEB) -> Self { + Self { peb: Some(peb) } + } + + /// Returns the PEB pointer + pub fn peb(&self) -> Option<*mut HyperlightPEB> { + self.peb + } +} diff --git a/src/hyperlight_guest/src/guest_handle/host_comm.rs b/src/hyperlight_guest/src/guest_handle/host_comm.rs new file mode 100644 index 000000000..657309db7 --- /dev/null +++ b/src/hyperlight_guest/src/guest_handle/host_comm.rs @@ -0,0 +1,147 @@ +/* +Copyright 2024 The Hyperlight Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +use alloc::format; +use alloc::string::ToString; +use alloc::vec::Vec; + +use hyperlight_common::flatbuffer_wrappers::function_call::{FunctionCall, FunctionCallType}; +use hyperlight_common::flatbuffer_wrappers::function_types::{ + ParameterValue, ReturnType, ReturnValue, +}; +use hyperlight_common::flatbuffer_wrappers::guest_error::{ErrorCode, GuestError}; +use hyperlight_common::flatbuffer_wrappers::guest_log_data::GuestLogData; +use hyperlight_common::flatbuffer_wrappers::guest_log_level::LogLevel; +use hyperlight_common::outb::OutBAction; + +use super::handle::GuestHandle; +use crate::error::{HyperlightGuestError, Result}; +use crate::exit::out32; + +impl GuestHandle { + /// Get a return value from a host function call. + /// This usually requires a host function to be called first using + /// `call_host_function_internal`. + /// + /// When calling `call_host_function`, this function is called + /// internally to get the return value. + pub fn get_host_return_value>(&self) -> Result { + let return_value = self + .try_pop_shared_input_data_into::() + .expect("Unable to deserialize a return value from host"); + T::try_from(return_value).map_err(|_| { + HyperlightGuestError::new( + ErrorCode::GuestError, + format!( + "Host return value was not a {} as expected", + core::any::type_name::() + ), + ) + }) + } + + /// Call a host function without reading its return value from shared mem. + /// This is used by both the Rust and C APIs to reduce code duplication. + /// + /// Note: The function return value must be obtained by calling + /// `get_host_return_value`. + pub fn call_host_function_without_returning( + &self, + function_name: &str, + parameters: Option>, + return_type: ReturnType, + ) -> Result<()> { + let host_function_call = FunctionCall::new( + function_name.to_string(), + parameters, + FunctionCallType::Host, + return_type, + ); + + let host_function_call_buffer: Vec = host_function_call + .try_into() + .expect("Unable to serialize host function call"); + + self.push_shared_output_data(host_function_call_buffer)?; + + unsafe { + out32(OutBAction::CallFunction as u16, 0); + } + + Ok(()) + } + + /// Call a host function with the given parameters and return type. + /// This function serializes the function call and its parameters, + /// sends it to the host, and then retrieves the return value. + /// + /// The return value is deserialized into the specified type `T`. + pub fn call_host_function>( + &self, + function_name: &str, + parameters: Option>, + return_type: ReturnType, + ) -> Result { + self.call_host_function_without_returning(function_name, parameters, return_type)?; + self.get_host_return_value::() + } + + /// Write an error to the shared output data buffer. + pub fn write_error(&self, error_code: ErrorCode, message: Option<&str>) { + let guest_error: GuestError = GuestError::new( + error_code.clone(), + message.map_or("".to_string(), |m| m.to_string()), + ); + let guest_error_buffer: Vec = (&guest_error) + .try_into() + .expect("Invalid guest_error_buffer, could not be converted to a Vec"); + + if let Err(e) = self.push_shared_output_data(guest_error_buffer) { + panic!("Unable to push guest error to shared output data: {:#?}", e); + } + } + + /// Log a message with the specified log level, source, caller, source file, and line number. + pub fn log_message( + &self, + log_level: LogLevel, + message: &str, + source: &str, + caller: &str, + source_file: &str, + line: u32, + ) { + let guest_log_data = GuestLogData::new( + message.to_string(), + source.to_string(), + log_level, + caller.to_string(), + source_file.to_string(), + line, + ); + + let bytes: Vec = guest_log_data + .try_into() + .expect("Failed to convert GuestLogData to bytes"); + + self.push_shared_output_data(bytes) + .expect("Unable to push log data to shared output data"); + + unsafe { + out32(OutBAction::Log as u16, 0); + } + } +} diff --git a/src/hyperlight_guest/src/guest_handle/io.rs b/src/hyperlight_guest/src/guest_handle/io.rs new file mode 100644 index 000000000..701506506 --- /dev/null +++ b/src/hyperlight_guest/src/guest_handle/io.rs @@ -0,0 +1,149 @@ +/* +Copyright 2024 The Hyperlight Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +use alloc::format; +use alloc::string::ToString; +use alloc::vec::Vec; +use core::any::type_name; +use core::slice::from_raw_parts_mut; + +use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; + +use super::handle::GuestHandle; +use crate::error::{HyperlightGuestError, Result}; + +impl GuestHandle { + /// Pops the top element from the shared input data buffer and returns it as a T + pub fn try_pop_shared_input_data_into(&self) -> Result + where + T: for<'a> TryFrom<&'a [u8]>, + { + let peb_ptr = self.peb().unwrap(); + let input_stack_size = unsafe { (*peb_ptr).input_stack.size as usize }; + let input_stack_ptr = unsafe { (*peb_ptr).input_stack.ptr as *mut u8 }; + + let idb = unsafe { from_raw_parts_mut(input_stack_ptr, input_stack_size) }; + + if idb.is_empty() { + return Err(HyperlightGuestError::new( + ErrorCode::GuestError, + "Got a 0-size buffer in pop_shared_input_data_into".to_string(), + )); + } + + // get relative offset to next free address + let stack_ptr_rel: u64 = + u64::from_le_bytes(idb[..8].try_into().expect("Shared input buffer too small")); + + if stack_ptr_rel as usize > input_stack_size || stack_ptr_rel < 16 { + return Err(HyperlightGuestError::new( + ErrorCode::GuestError, + format!( + "Invalid stack pointer: {} in pop_shared_input_data_into", + stack_ptr_rel + ), + )); + } + + // go back 8 bytes and read. This is the offset to the element on top of stack + let last_element_offset_rel = u64::from_le_bytes( + idb[stack_ptr_rel as usize - 8..stack_ptr_rel as usize] + .try_into() + .expect("Invalid stack pointer in pop_shared_input_data_into"), + ); + + let buffer = &idb[last_element_offset_rel as usize..]; + + // convert the buffer to T + let type_t = match T::try_from(buffer) { + Ok(t) => Ok(t), + Err(_e) => { + return Err(HyperlightGuestError::new( + ErrorCode::GuestError, + format!("Unable to convert buffer to {}", type_name::()), + )); + } + }; + + // update the stack pointer to point to the element we just popped of since that is now free + idb[..8].copy_from_slice(&last_element_offset_rel.to_le_bytes()); + + // zero out popped off buffer + idb[last_element_offset_rel as usize..stack_ptr_rel as usize].fill(0); + + type_t + } + + /// Pushes the given data onto the shared output data buffer. + pub fn push_shared_output_data(&self, data: Vec) -> Result<()> { + let peb_ptr = self.peb().unwrap(); + let output_stack_size = unsafe { (*peb_ptr).output_stack.size as usize }; + let output_stack_ptr = unsafe { (*peb_ptr).output_stack.ptr as *mut u8 }; + + let odb = unsafe { from_raw_parts_mut(output_stack_ptr, output_stack_size) }; + + if odb.is_empty() { + return Err(HyperlightGuestError::new( + ErrorCode::GuestError, + "Got a 0-size buffer in push_shared_output_data".to_string(), + )); + } + + // get offset to next free address on the stack + let stack_ptr_rel: u64 = + u64::from_le_bytes(odb[..8].try_into().expect("Shared output buffer too small")); + + // check if the stack pointer is within the bounds of the buffer. + // It can be equal to the size, but never greater + // It can never be less than 8. An empty buffer's stack pointer is 8 + if stack_ptr_rel as usize > output_stack_size || stack_ptr_rel < 8 { + return Err(HyperlightGuestError::new( + ErrorCode::GuestError, + format!( + "Invalid stack pointer: {} in push_shared_output_data", + stack_ptr_rel + ), + )); + } + + // check if there is enough space in the buffer + let size_required = data.len() + 8; // the data plus the pointer pointing to the data + let size_available = output_stack_size - stack_ptr_rel as usize; + if size_required > size_available { + return Err(HyperlightGuestError::new( + ErrorCode::GuestError, + format!( + "Not enough space in shared output buffer. Required: {}, Available: {}", + size_required, size_available + ), + )); + } + + // write the actual data + odb[stack_ptr_rel as usize..stack_ptr_rel as usize + data.len()].copy_from_slice(&data); + + // write the offset to the newly written data, to the top of the stack + let bytes: [u8; 8] = stack_ptr_rel.to_le_bytes(); + odb[stack_ptr_rel as usize + data.len()..stack_ptr_rel as usize + data.len() + 8] + .copy_from_slice(&bytes); + + // update stack pointer to point to next free address + let new_stack_ptr_rel: u64 = (stack_ptr_rel as usize + data.len() + 8) as u64; + odb[0..8].copy_from_slice(&(new_stack_ptr_rel).to_le_bytes()); + + Ok(()) + } +} diff --git a/src/hyperlight_guest/src/host_function_call.rs b/src/hyperlight_guest/src/host_function_call.rs deleted file mode 100644 index 6857ed70f..000000000 --- a/src/hyperlight_guest/src/host_function_call.rs +++ /dev/null @@ -1,145 +0,0 @@ -/* -Copyright 2024 The Hyperlight Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -use alloc::format; -use alloc::string::ToString; -use alloc::vec::Vec; -use core::arch; - -use hyperlight_common::flatbuffer_wrappers::function_call::{FunctionCall, FunctionCallType}; -use hyperlight_common::flatbuffer_wrappers::function_types::{ - ParameterValue, ReturnType, ReturnValue, -}; -use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; -use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result; -use hyperlight_common::outb::OutBAction; - -use crate::error::{HyperlightGuestError, Result}; -use crate::shared_input_data::try_pop_shared_input_data_into; -use crate::shared_output_data::push_shared_output_data; - -/// Get a return value from a host function call. -/// This usually requires a host function to be called first using `call_host_function_internal`. -/// When calling `call_host_function`, this function is called internally to get the return -/// value. -pub fn get_host_return_value>() -> Result { - let return_value = try_pop_shared_input_data_into::() - .expect("Unable to deserialize a return value from host"); - T::try_from(return_value).map_err(|_| { - HyperlightGuestError::new( - ErrorCode::GuestError, - format!( - "Host return value was not a {} as expected", - core::any::type_name::() - ), - ) - }) -} - -/// Internal function to call a host function without generic type parameters. -/// This is used by both the Rust and C APIs to reduce code duplication. -/// -/// This function doesn't return the host function result directly, instead it just -/// performs the call. The result must be obtained by calling `get_host_return_value`. -pub fn call_host_function_internal( - function_name: &str, - parameters: Option>, - return_type: ReturnType, -) -> Result<()> { - let host_function_call = FunctionCall::new( - function_name.to_string(), - parameters, - FunctionCallType::Host, - return_type, - ); - - let host_function_call_buffer: Vec = host_function_call - .try_into() - .expect("Unable to serialize host function call"); - - push_shared_output_data(host_function_call_buffer)?; - - outb(OutBAction::CallFunction as u16, &[0]); - - Ok(()) -} - -/// Call a host function with the given parameters and return type. -/// This function serializes the function call and its parameters, -/// sends it to the host, and then retrieves the return value. -/// -/// The return value is deserialized into the specified type `T`. -pub fn call_host_function>( - function_name: &str, - parameters: Option>, - return_type: ReturnType, -) -> Result { - call_host_function_internal(function_name, parameters, return_type)?; - get_host_return_value::() -} - -pub fn outb(port: u16, data: &[u8]) { - unsafe { - let mut i = 0; - while i < data.len() { - let remaining = data.len() - i; - let chunk_len = remaining.min(3); - let mut chunk = [0u8; 4]; - chunk[0] = chunk_len as u8; - chunk[1..1 + chunk_len].copy_from_slice(&data[i..i + chunk_len]); - let val = u32::from_le_bytes(chunk); - out32(port, val); - i += chunk_len; - } - } -} - -pub(crate) unsafe fn out32(port: u16, val: u32) { - unsafe { - arch::asm!("out dx, eax", in("dx") port, in("eax") val, options(preserves_flags, nomem, nostack)); - } -} - -/// Prints a message using `OutBAction::DebugPrint`. It transmits bytes of a message -/// through several VMExists and, with such, it is slower than -/// `print_output_with_host_print`. -/// -/// This function should be used in debug mode only. This function does not -/// require memory to be setup to be used. -pub fn debug_print(msg: &str) { - outb(OutBAction::DebugPrint as u16, msg.as_bytes()); -} - -/// Print a message using the host's print function. -/// -/// This function requires memory to be setup to be used. In particular, the -/// existence of the input and output memory regions. -pub fn print_output_with_host_print(function_call: &FunctionCall) -> Result> { - if let ParameterValue::String(message) = function_call.parameters.clone().unwrap()[0].clone() { - let res = call_host_function::( - "HostPrint", - Some(Vec::from(&[ParameterValue::String(message.to_string())])), - ReturnType::Int, - )?; - - Ok(get_flatbuffer_result(res)) - } else { - Err(HyperlightGuestError::new( - ErrorCode::GuestError, - "Wrong Parameters passed to print_output_with_host_print".to_string(), - )) - } -} diff --git a/src/hyperlight_guest/src/lib.rs b/src/hyperlight_guest/src/lib.rs index 3ce2bab31..dff7d74aa 100644 --- a/src/hyperlight_guest/src/lib.rs +++ b/src/hyperlight_guest/src/lib.rs @@ -17,47 +17,16 @@ limitations under the License. #![no_std] // Deps -use buddy_system_allocator::LockedHeap; -use guest_function_register::GuestFunctionRegister; -use hyperlight_common::mem::HyperlightPEB; - extern crate alloc; // Modules -pub mod entrypoint; -pub mod shared_input_data; -pub mod shared_output_data; - -pub mod guest_error; -pub mod guest_function_call; -pub mod guest_function_definition; -pub mod guest_function_register; - -pub mod host_function_call; - -pub(crate) mod guest_logger; +pub mod exit; +pub mod error; +// TODO(danbugs): Move this to hyperlight_guest_bin pub mod memory; -pub mod print; -pub mod error; -#[cfg(target_arch = "x86_64")] -pub mod exceptions { - pub mod gdt; - pub mod handlers; - pub mod idt; - pub mod idtr; - pub mod interrupt_entry; +pub mod guest_handle { + pub mod handle; + pub mod host_comm; + pub mod io; } -pub mod logging; - -// Globals -#[global_allocator] -pub(crate) static HEAP_ALLOCATOR: LockedHeap<32> = LockedHeap::<32>::empty(); - -pub(crate) static mut P_PEB: Option<*mut HyperlightPEB> = None; -pub static mut MIN_STACK_ADDRESS: u64 = 0; - -pub static mut OS_PAGE_SIZE: u32 = 0; - -pub(crate) static mut REGISTERED_GUEST_FUNCTIONS: GuestFunctionRegister = - GuestFunctionRegister::new(); diff --git a/src/hyperlight_guest/src/logging.rs b/src/hyperlight_guest/src/logging.rs deleted file mode 100644 index ed5a833bc..000000000 --- a/src/hyperlight_guest/src/logging.rs +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright 2024 The Hyperlight Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -use alloc::string::ToString; -use alloc::vec::Vec; - -use hyperlight_common::flatbuffer_wrappers::guest_log_data::GuestLogData; -use hyperlight_common::flatbuffer_wrappers::guest_log_level::LogLevel; -use hyperlight_common::outb::OutBAction; - -use crate::host_function_call::outb; -use crate::shared_output_data::push_shared_output_data; - -fn write_log_data( - log_level: LogLevel, - message: &str, - source: &str, - caller: &str, - source_file: &str, - line: u32, -) { - let guest_log_data = GuestLogData::new( - message.to_string(), - source.to_string(), - log_level, - caller.to_string(), - source_file.to_string(), - line, - ); - - let bytes: Vec = guest_log_data - .try_into() - .expect("Failed to convert GuestLogData to bytes"); - - push_shared_output_data(bytes).expect("Unable to push log data to shared output data"); -} - -pub fn log_message( - log_level: LogLevel, - message: &str, - source: &str, - caller: &str, - source_file: &str, - line: u32, -) { - write_log_data(log_level, message, source, caller, source_file, line); - outb(OutBAction::Log as u16, &[0]); -} diff --git a/src/hyperlight_guest/src/memory.rs b/src/hyperlight_guest/src/memory.rs index af22ec024..09106fd28 100644 --- a/src/hyperlight_guest/src/memory.rs +++ b/src/hyperlight_guest/src/memory.rs @@ -21,7 +21,7 @@ use core::ptr; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; -use crate::entrypoint::abort_with_code; +use crate::exit::abort_with_code; extern crate alloc; diff --git a/src/hyperlight_guest/src/print.rs b/src/hyperlight_guest/src/print.rs deleted file mode 100644 index c73ae6beb..000000000 --- a/src/hyperlight_guest/src/print.rs +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright 2024 The Hyperlight Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -use alloc::string::String; -use alloc::vec::Vec; -use core::ffi::{c_char, CStr}; -use core::mem; - -use hyperlight_common::flatbuffer_wrappers::function_types::{ParameterValue, ReturnType}; - -use crate::host_function_call::call_host_function; - -const BUFFER_SIZE: usize = 1000; - -static mut MESSAGE_BUFFER: Vec = Vec::new(); - -/// Exposes a C API to allow the guest to print a string -/// -/// # Safety -/// This function is not thread safe -#[unsafe(no_mangle)] -#[allow(static_mut_refs)] -pub unsafe extern "C" fn _putchar(c: c_char) { - unsafe { - let char = c as u8; - - // Extend buffer capacity if it's empty (like `with_capacity` in lazy_static). - // TODO: replace above Vec::new() with Vec::with_capacity once it's stable in const contexts. - if MESSAGE_BUFFER.capacity() == 0 { - MESSAGE_BUFFER.reserve(BUFFER_SIZE); - } - - MESSAGE_BUFFER.push(char); - - if MESSAGE_BUFFER.len() == BUFFER_SIZE || char == b'\0' { - let str = if char == b'\0' { - CStr::from_bytes_until_nul(&MESSAGE_BUFFER) - .expect("No null byte in buffer") - .to_string_lossy() - .into_owned() - } else { - String::from_utf8(mem::take(&mut MESSAGE_BUFFER)) - .expect("Failed to convert buffer to string") - }; - - // HostPrint returns an i32, but we don't care about the return value - let _ = call_host_function::( - "HostPrint", - Some(Vec::from(&[ParameterValue::String(str)])), - ReturnType::Int, - ) - .expect("Failed to call HostPrint"); - - // Clear the buffer after sending - MESSAGE_BUFFER.clear(); - } - } -} diff --git a/src/hyperlight_guest/src/shared_input_data.rs b/src/hyperlight_guest/src/shared_input_data.rs deleted file mode 100644 index d4b620ca9..000000000 --- a/src/hyperlight_guest/src/shared_input_data.rs +++ /dev/null @@ -1,86 +0,0 @@ -/* -Copyright 2024 The Hyperlight Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -use alloc::format; -use alloc::string::ToString; -use core::any::type_name; -use core::slice::from_raw_parts_mut; - -use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; - -use crate::error::{HyperlightGuestError, Result}; -use crate::P_PEB; - -// Pops the top element from the shared input data buffer and returns it as a T -pub fn try_pop_shared_input_data_into() -> Result -where - T: for<'a> TryFrom<&'a [u8]>, -{ - let peb_ptr = unsafe { P_PEB.unwrap() }; - let shared_buffer_size = unsafe { (*peb_ptr).input_stack.size as usize }; - - let idb = - unsafe { from_raw_parts_mut((*peb_ptr).input_stack.ptr as *mut u8, shared_buffer_size) }; - - if idb.is_empty() { - return Err(HyperlightGuestError::new( - ErrorCode::GuestError, - "Got a 0-size buffer in pop_shared_input_data_into".to_string(), - )); - } - - // get relative offset to next free address - let stack_ptr_rel: u64 = - u64::from_le_bytes(idb[..8].try_into().expect("Shared input buffer too small")); - - if stack_ptr_rel as usize > shared_buffer_size || stack_ptr_rel < 16 { - return Err(HyperlightGuestError::new( - ErrorCode::GuestError, - format!( - "Invalid stack pointer: {} in pop_shared_input_data_into", - stack_ptr_rel - ), - )); - } - - // go back 8 bytes and read. This is the offset to the element on top of stack - let last_element_offset_rel = u64::from_le_bytes( - idb[stack_ptr_rel as usize - 8..stack_ptr_rel as usize] - .try_into() - .expect("Invalid stack pointer in pop_shared_input_data_into"), - ); - - let buffer = &idb[last_element_offset_rel as usize..]; - - // convert the buffer to T - let type_t = match T::try_from(buffer) { - Ok(t) => Ok(t), - Err(_e) => { - return Err(HyperlightGuestError::new( - ErrorCode::GuestError, - format!("Unable to convert buffer to {}", type_name::()), - )); - } - }; - - // update the stack pointer to point to the element we just popped of since that is now free - idb[..8].copy_from_slice(&last_element_offset_rel.to_le_bytes()); - - // zero out popped off buffer - idb[last_element_offset_rel as usize..stack_ptr_rel as usize].fill(0); - - type_t -} diff --git a/src/hyperlight_guest/src/shared_output_data.rs b/src/hyperlight_guest/src/shared_output_data.rs deleted file mode 100644 index 6deb34fec..000000000 --- a/src/hyperlight_guest/src/shared_output_data.rs +++ /dev/null @@ -1,83 +0,0 @@ -/* -Copyright 2024 The Hyperlight Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -use alloc::format; -use alloc::string::ToString; -use alloc::vec::Vec; -use core::slice::from_raw_parts_mut; - -use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; - -use crate::error::{HyperlightGuestError, Result}; -use crate::P_PEB; - -pub fn push_shared_output_data(data: Vec) -> Result<()> { - let peb_ptr = unsafe { P_PEB.unwrap() }; - let shared_buffer_size = unsafe { (*peb_ptr).output_stack.size as usize }; - let odb = - unsafe { from_raw_parts_mut((*peb_ptr).output_stack.ptr as *mut u8, shared_buffer_size) }; - - if odb.is_empty() { - return Err(HyperlightGuestError::new( - ErrorCode::GuestError, - "Got a 0-size buffer in push_shared_output_data".to_string(), - )); - } - - // get offset to next free address on the stack - let stack_ptr_rel: u64 = - u64::from_le_bytes(odb[..8].try_into().expect("Shared output buffer too small")); - - // check if the stack pointer is within the bounds of the buffer. - // It can be equal to the size, but never greater - // It can never be less than 8. An empty buffer's stack pointer is 8 - if stack_ptr_rel as usize > shared_buffer_size || stack_ptr_rel < 8 { - return Err(HyperlightGuestError::new( - ErrorCode::GuestError, - format!( - "Invalid stack pointer: {} in push_shared_output_data", - stack_ptr_rel - ), - )); - } - - // check if there is enough space in the buffer - let size_required = data.len() + 8; // the data plus the pointer pointing to the data - let size_available = shared_buffer_size - stack_ptr_rel as usize; - if size_required > size_available { - return Err(HyperlightGuestError::new( - ErrorCode::GuestError, - format!( - "Not enough space in shared output buffer. Required: {}, Available: {}", - size_required, size_available - ), - )); - } - - // write the actual data - odb[stack_ptr_rel as usize..stack_ptr_rel as usize + data.len()].copy_from_slice(&data); - - // write the offset to the newly written data, to the top of the stack - let bytes: [u8; 8] = stack_ptr_rel.to_le_bytes(); - odb[stack_ptr_rel as usize + data.len()..stack_ptr_rel as usize + data.len() + 8] - .copy_from_slice(&bytes); - - // update stack pointer to point to next free address - let new_stack_ptr_rel: u64 = (stack_ptr_rel as usize + data.len() + 8) as u64; - odb[0..8].copy_from_slice(&(new_stack_ptr_rel).to_le_bytes()); - - Ok(()) -} diff --git a/src/hyperlight_guest_bin/Cargo.toml b/src/hyperlight_guest_bin/Cargo.toml index 5da85fdfc..d91fbc11a 100644 --- a/src/hyperlight_guest_bin/Cargo.toml +++ b/src/hyperlight_guest_bin/Cargo.toml @@ -9,8 +9,11 @@ repository.workspace = true readme.workspace = true [dependencies] -hyperlight-guest = { workspace = true, default-features = false} -hyperlight-common = { workspace = true, default-features = false} +hyperlight-guest = { workspace = true, default-features = false } +hyperlight-common = { workspace = true, default-features = false } +buddy_system_allocator = "0.11.0" +log = { version = "0.4", default-features = false } +spin = "0.10.0" [lints] workspace = true diff --git a/src/hyperlight_guest/src/exceptions/gdt.rs b/src/hyperlight_guest_bin/src/exceptions/gdt.rs similarity index 100% rename from src/hyperlight_guest/src/exceptions/gdt.rs rename to src/hyperlight_guest_bin/src/exceptions/gdt.rs diff --git a/src/hyperlight_guest/src/exceptions/handlers.rs b/src/hyperlight_guest_bin/src/exceptions/handler.rs similarity index 95% rename from src/hyperlight_guest/src/exceptions/handlers.rs rename to src/hyperlight_guest_bin/src/exceptions/handler.rs index 114d046eb..68e148220 100644 --- a/src/hyperlight_guest/src/exceptions/handlers.rs +++ b/src/hyperlight_guest_bin/src/exceptions/handler.rs @@ -19,8 +19,7 @@ use core::ffi::c_char; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; use hyperlight_common::outb::Exception; - -use crate::entrypoint::abort_with_code_and_message; +use hyperlight_guest::exit::abort_with_code_and_message; /// Exception handler #[unsafe(no_mangle)] diff --git a/src/hyperlight_guest/src/exceptions/idt.rs b/src/hyperlight_guest_bin/src/exceptions/idt.rs similarity index 100% rename from src/hyperlight_guest/src/exceptions/idt.rs rename to src/hyperlight_guest_bin/src/exceptions/idt.rs diff --git a/src/hyperlight_guest/src/exceptions/idtr.rs b/src/hyperlight_guest_bin/src/exceptions/idtr.rs similarity index 100% rename from src/hyperlight_guest/src/exceptions/idtr.rs rename to src/hyperlight_guest_bin/src/exceptions/idtr.rs diff --git a/src/hyperlight_guest/src/exceptions/interrupt_entry.rs b/src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs similarity index 99% rename from src/hyperlight_guest/src/exceptions/interrupt_entry.rs rename to src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs index 48de98ed6..622554a24 100644 --- a/src/hyperlight_guest/src/exceptions/interrupt_entry.rs +++ b/src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs @@ -19,7 +19,7 @@ limitations under the License. use core::arch::global_asm; -use crate::exceptions::handlers::hl_exception_handler; +use crate::exceptions::handler::hl_exception_handler; unsafe extern "C" { // Exception handlers diff --git a/src/hyperlight_guest/src/guest_error.rs b/src/hyperlight_guest_bin/src/guest_err.rs similarity index 55% rename from src/hyperlight_guest/src/guest_error.rs rename to src/hyperlight_guest_bin/src/guest_err.rs index 9ad7e2bd4..6c082b528 100644 --- a/src/hyperlight_guest/src/guest_error.rs +++ b/src/hyperlight_guest_bin/src/guest_err.rs @@ -14,32 +14,14 @@ See the License for the specific language governing permissions and limitations under the License. */ -use alloc::string::ToString; -use alloc::vec::Vec; use core::ffi::{c_char, CStr}; -use hyperlight_common::flatbuffer_wrappers::guest_error::{ErrorCode, GuestError}; +use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; +use hyperlight_guest::exit::halt; -use crate::entrypoint::halt; -use crate::shared_output_data::push_shared_output_data; - -pub(crate) fn write_error(error_code: ErrorCode, message: Option<&str>) { - let guest_error = GuestError::new( - error_code.clone(), - message.map_or("".to_string(), |m| m.to_string()), - ); - let guest_error_buffer: Vec = (&guest_error) - .try_into() - .expect("Invalid guest_error_buffer, could not be converted to a Vec"); - - push_shared_output_data(guest_error_buffer) - .expect("Unable to push guest error to shared output data"); -} - -pub(crate) fn set_error(error_code: ErrorCode, message: &str) { - write_error(error_code, Some(message)); -} +use crate::GUEST_HANDLE; +// TODO(danbugs): move this to `hyperlight_guest_bin` /// Exposes a C API to allow the guest to set an error /// /// # Safety @@ -48,14 +30,17 @@ pub(crate) fn set_error(error_code: ErrorCode, message: &str) { #[unsafe(no_mangle)] #[allow(non_camel_case_types)] pub unsafe extern "C" fn setError(code: u64, message: *const c_char) { + let handle = unsafe { GUEST_HANDLE }; + let error_code = ErrorCode::from(code); match message.is_null() { - true => write_error(error_code, None), + true => handle.write_error(error_code, None), false => { let message = unsafe { CStr::from_ptr(message).to_str().ok() } .expect("Invalid error message, could not be converted to a string"); - write_error(error_code, Some(message)); + handle.write_error(error_code, Some(message)); } } + halt(); } diff --git a/src/hyperlight_guest/src/guest_function_call.rs b/src/hyperlight_guest_bin/src/guest_function/call.rs similarity index 89% rename from src/hyperlight_guest/src/guest_function_call.rs rename to src/hyperlight_guest_bin/src/guest_function/call.rs index 31b1c163a..81d07780c 100644 --- a/src/hyperlight_guest/src/guest_function_call.rs +++ b/src/hyperlight_guest_bin/src/guest_function/call.rs @@ -20,13 +20,10 @@ use alloc::vec::Vec; use hyperlight_common::flatbuffer_wrappers::function_call::{FunctionCall, FunctionCallType}; use hyperlight_common::flatbuffer_wrappers::function_types::ParameterType; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; +use hyperlight_guest::error::{HyperlightGuestError, Result}; +use hyperlight_guest::exit::halt; -use crate::entrypoint::halt; -use crate::error::{HyperlightGuestError, Result}; -use crate::guest_error::set_error; -use crate::shared_input_data::try_pop_shared_input_data_into; -use crate::shared_output_data::push_shared_output_data; -use crate::REGISTERED_GUEST_FUNCTIONS; +use crate::{GUEST_HANDLE, REGISTERED_GUEST_FUNCTIONS}; type GuestFunc = fn(&FunctionCall) -> Result>; @@ -83,17 +80,20 @@ pub(crate) fn call_guest_function(function_call: FunctionCall) -> Result #[unsafe(no_mangle)] #[inline(never)] fn internal_dispatch_function() -> Result<()> { + let handle = unsafe { GUEST_HANDLE }; + #[cfg(debug_assertions)] log::trace!("internal_dispatch_function"); - let function_call = try_pop_shared_input_data_into::() + let function_call = handle + .try_pop_shared_input_data_into::() .expect("Function call deserialization failed"); let result_vec = call_guest_function(function_call).inspect_err(|e| { - set_error(e.kind.clone(), e.message.as_str()); + handle.write_error(e.kind.clone(), Some(e.message.as_str())); })?; - push_shared_output_data(result_vec) + handle.push_shared_output_data(result_vec) } // This is implemented as a separate function to make sure that epilogue in the internal_dispatch_function is called before the halt() diff --git a/src/hyperlight_guest/src/guest_function_definition.rs b/src/hyperlight_guest_bin/src/guest_function/definition.rs similarity index 98% rename from src/hyperlight_guest/src/guest_function_definition.rs rename to src/hyperlight_guest_bin/src/guest_function/definition.rs index d9320cd61..aa15f36a9 100644 --- a/src/hyperlight_guest/src/guest_function_definition.rs +++ b/src/hyperlight_guest_bin/src/guest_function/definition.rs @@ -20,8 +20,7 @@ use alloc::vec::Vec; use hyperlight_common::flatbuffer_wrappers::function_types::{ParameterType, ReturnType}; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; - -use crate::error::{HyperlightGuestError, Result}; +use hyperlight_guest::error::{HyperlightGuestError, Result}; /// The definition of a function exposed from the guest to the host #[derive(Debug, Clone, PartialEq, Eq)] diff --git a/src/hyperlight_guest/src/guest_function_register.rs b/src/hyperlight_guest_bin/src/guest_function/register.rs similarity index 97% rename from src/hyperlight_guest/src/guest_function_register.rs rename to src/hyperlight_guest_bin/src/guest_function/register.rs index 6acdc6f43..a3cf2e6a2 100644 --- a/src/hyperlight_guest/src/guest_function_register.rs +++ b/src/hyperlight_guest_bin/src/guest_function/register.rs @@ -17,7 +17,7 @@ limitations under the License. use alloc::collections::BTreeMap; use alloc::string::String; -use super::guest_function_definition::GuestFunctionDefinition; +use super::definition::GuestFunctionDefinition; use crate::REGISTERED_GUEST_FUNCTIONS; /// Represents the functions that the guest exposes to the host. diff --git a/src/hyperlight_guest/src/guest_logger.rs b/src/hyperlight_guest_bin/src/guest_logger.rs similarity index 81% rename from src/hyperlight_guest/src/guest_logger.rs rename to src/hyperlight_guest_bin/src/guest_logger.rs index c3e2b3ab3..020e5d29e 100644 --- a/src/hyperlight_guest/src/guest_logger.rs +++ b/src/hyperlight_guest_bin/src/guest_logger.rs @@ -16,9 +16,10 @@ limitations under the License. use alloc::format; +use hyperlight_common::flatbuffer_wrappers::guest_log_level::LogLevel; use log::{LevelFilter, Metadata, Record}; -use crate::logging::log_message; +use crate::GUEST_HANDLE; // this is private on purpose so that `log` can only be called though the `log!` macros. struct GuestLogger {} @@ -39,8 +40,9 @@ impl log::Log for GuestLogger { } fn log(&self, record: &Record) { + let handle = unsafe { GUEST_HANDLE }; if self.enabled(record.metadata()) { - log_message( + handle.log_message( record.level().into(), format!("{}", record.args()).as_str(), record.module_path().unwrap_or("Unknown"), @@ -53,3 +55,15 @@ impl log::Log for GuestLogger { fn flush(&self) {} } + +pub fn log_message( + level: LogLevel, + message: &str, + module_path: &str, + target: &str, + file: &str, + line: u32, +) { + let handle = unsafe { GUEST_HANDLE }; + handle.log_message(level, message, module_path, target, file, line); +} diff --git a/src/hyperlight_guest_bin/src/host_comm.rs b/src/hyperlight_guest_bin/src/host_comm.rs new file mode 100644 index 000000000..7744bca41 --- /dev/null +++ b/src/hyperlight_guest_bin/src/host_comm.rs @@ -0,0 +1,125 @@ +/* +Copyright 2024 The Hyperlight Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +use alloc::string::{String, ToString}; +use alloc::vec::Vec; +use core::ffi::{c_char, CStr}; +use core::mem; + +use hyperlight_common::flatbuffer_wrappers::function_call::FunctionCall; +use hyperlight_common::flatbuffer_wrappers::function_types::{ + ParameterValue, ReturnType, ReturnValue, +}; +use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; +use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result; +use hyperlight_guest::error::{HyperlightGuestError, Result}; + +const BUFFER_SIZE: usize = 1000; +static mut MESSAGE_BUFFER: Vec = Vec::new(); + +use crate::GUEST_HANDLE; + +pub fn call_host_function( + function_name: &str, + parameters: Option>, + return_type: ReturnType, +) -> Result +where + T: TryFrom, +{ + let handle = unsafe { GUEST_HANDLE }; + handle.call_host_function::(function_name, parameters, return_type) +} + +pub fn call_host_function_without_returning( + function_name: &str, + parameters: Option>, + return_type: ReturnType, +) -> Result<()> { + let handle = unsafe { GUEST_HANDLE }; + handle.call_host_function_without_returning(function_name, parameters, return_type) +} + +pub fn get_host_return_value>() -> Result { + let handle = unsafe { GUEST_HANDLE }; + handle.get_host_return_value::() +} + +/// Print a message using the host's print function. +/// +/// This function requires memory to be setup to be used. In particular, the +/// existence of the input and output memory regions. +pub fn print_output_with_host_print(function_call: &FunctionCall) -> Result> { + let handle = unsafe { GUEST_HANDLE }; + if let ParameterValue::String(message) = function_call.parameters.clone().unwrap()[0].clone() { + let res = handle.call_host_function::( + "HostPrint", + Some(Vec::from(&[ParameterValue::String(message.to_string())])), + ReturnType::Int, + )?; + + Ok(get_flatbuffer_result(res)) + } else { + Err(HyperlightGuestError::new( + ErrorCode::GuestError, + "Wrong Parameters passed to print_output_with_host_print".to_string(), + )) + } +} + +/// Exposes a C API to allow the guest to print a string +/// +/// # Safety +/// This function is not thread safe +#[unsafe(no_mangle)] +#[allow(static_mut_refs)] +pub unsafe extern "C" fn _putchar(c: c_char) { + let handle = unsafe { GUEST_HANDLE }; + let char = c as u8; + let mut message_buffer = unsafe { &mut MESSAGE_BUFFER }; + + // Extend buffer capacity if it's empty (like `with_capacity` in lazy_static). + // TODO: replace above Vec::new() with Vec::with_capacity once it's stable in const contexts. + if message_buffer.capacity() == 0 { + message_buffer.reserve(BUFFER_SIZE); + } + + message_buffer.push(char); + + if message_buffer.len() == BUFFER_SIZE || char == b'\0' { + let str = if char == b'\0' { + CStr::from_bytes_until_nul(&message_buffer) + .expect("No null byte in buffer") + .to_string_lossy() + .into_owned() + } else { + String::from_utf8(mem::take(&mut message_buffer)) + .expect("Failed to convert buffer to string") + }; + + // HostPrint returns an i32, but we don't care about the return value + let _ = handle + .call_host_function::( + "HostPrint", + Some(Vec::from(&[ParameterValue::String(str)])), + ReturnType::Int, + ) + .expect("Failed to call HostPrint"); + + // Clear the buffer after sending + message_buffer.clear(); + } +} diff --git a/src/hyperlight_guest_bin/src/lib.rs b/src/hyperlight_guest_bin/src/lib.rs index 84dc9dc97..1cb9adff2 100644 --- a/src/hyperlight_guest_bin/src/lib.rs +++ b/src/hyperlight_guest_bin/src/lib.rs @@ -13,16 +13,58 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ - #![no_std] +// === Dependencies === extern crate alloc; use alloc::string::ToString; +use buddy_system_allocator::LockedHeap; +#[cfg(target_arch = "x86_64")] +use exceptions::{gdt::load_gdt, idtr::load_idt}; +use guest_function::call::dispatch_function; +use guest_function::register::GuestFunctionRegister; +use guest_logger::init_logger; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; -use hyperlight_guest::entrypoint::abort_with_code_and_message; +use hyperlight_common::mem::HyperlightPEB; +use hyperlight_guest::exit::{abort_with_code_and_message, halt}; +use hyperlight_guest::guest_handle::handle::GuestHandle; +use log::LevelFilter; +use spin::Once; + +// === Modules === +#[cfg(target_arch = "x86_64")] +mod exceptions { + pub(super) mod gdt; + mod handler; + mod idt; + pub(super) mod idtr; + mod interrupt_entry; +} +pub mod guest_err; +pub mod guest_function { + pub(super) mod call; + pub mod definition; + pub mod register; +} + +pub mod guest_logger; +pub mod host_comm; + +// === Globals === +#[global_allocator] +pub(crate) static HEAP_ALLOCATOR: LockedHeap<32> = LockedHeap::<32>::empty(); + +pub(crate) static mut GUEST_HANDLE: GuestHandle = GuestHandle::new(); +pub(crate) static mut REGISTERED_GUEST_FUNCTIONS: GuestFunctionRegister = + GuestFunctionRegister::new(); +pub static mut MIN_STACK_ADDRESS: u64 = 0; + +static mut OS_PAGE_SIZE: u32 = 0; + +// === Panic Handler === // It looks like rust-analyzer doesn't correctly manage no_std crates, // and so it displays an error about a duplicate panic_handler. // See more here: https://github.com/rust-lang/rust-analyzer/issues/4490 @@ -38,3 +80,65 @@ fn panic(info: &core::panic::PanicInfo) -> ! { unsafe { abort_with_code_and_message(&[ErrorCode::UnknownError as u8], c_string.as_ptr()) } } + +// === Entrypoint === + +unsafe extern "C" { + fn hyperlight_main(); + fn srand(seed: u32); +} + +static INIT: Once = Once::new(); + +#[unsafe(no_mangle)] +pub extern "C" fn entrypoint(peb_address: u64, seed: u64, ops: u64, max_log_level: u64) { + if peb_address == 0 { + panic!("PEB address is null"); + } + + INIT.call_once(|| { + unsafe { + GUEST_HANDLE = GuestHandle::init(peb_address as *mut HyperlightPEB); + #[allow(static_mut_refs)] + let peb_ptr = GUEST_HANDLE.peb().unwrap(); + + let srand_seed = ((peb_address << 8 ^ seed >> 4) >> 32) as u32; + + // Set the seed for the random number generator for C code using rand; + srand(srand_seed); + + // set up the logger + let max_log_level = LevelFilter::iter() + .nth(max_log_level as usize) + .expect("Invalid log level"); + init_logger(max_log_level); + + // This static is to make it easier to implement the __chkstk function in assembly. + // It also means that should we change the layout of the struct in the future, we + // don't have to change the assembly code. + MIN_STACK_ADDRESS = (*peb_ptr).guest_stack.min_user_stack_address; + + #[cfg(target_arch = "x86_64")] + { + // Setup GDT and IDT + load_gdt(); + load_idt(); + } + + let heap_start = (*peb_ptr).guest_heap.ptr as usize; + let heap_size = (*peb_ptr).guest_heap.size as usize; + HEAP_ALLOCATOR + .try_lock() + .expect("Failed to access HEAP_ALLOCATOR") + .init(heap_start, heap_size); + + OS_PAGE_SIZE = ops as u32; + + (*peb_ptr).guest_function_dispatch_ptr = dispatch_function as usize as u64; + + hyperlight_main(); + } + }); + + halt(); +} diff --git a/src/hyperlight_guest_capi/src/dispatch.rs b/src/hyperlight_guest_capi/src/dispatch.rs index aae90738c..cae805f8d 100644 --- a/src/hyperlight_guest_capi/src/dispatch.rs +++ b/src/hyperlight_guest_capi/src/dispatch.rs @@ -8,9 +8,9 @@ use hyperlight_common::flatbuffer_wrappers::function_call::FunctionCall; use hyperlight_common::flatbuffer_wrappers::function_types::{ParameterType, ReturnType}; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; use hyperlight_guest::error::{HyperlightGuestError, Result}; -use hyperlight_guest::guest_function_definition::GuestFunctionDefinition; -use hyperlight_guest::guest_function_register::GuestFunctionRegister; -use hyperlight_guest::host_function_call::call_host_function_internal; +use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; +use hyperlight_guest_bin::guest_function::register::GuestFunctionRegister; +use hyperlight_guest_bin::host_comm::call_host_function_without_returning; use crate::types::{FfiFunctionCall, FfiVec}; static mut REGISTERED_C_GUEST_FUNCTIONS: GuestFunctionRegister = GuestFunctionRegister::new(); @@ -95,6 +95,6 @@ pub extern "C" fn hl_call_host_function(function_call: &FfiFunctionCall) { // Use the non-generic internal implementation // The C API will then call specific getter functions to fetch the properly typed return value - let _ = call_host_function_internal(&func_name, Some(parameters), return_type) + let _ = call_host_function_without_returning(&func_name, Some(parameters), return_type) .expect("Failed to call host function"); } diff --git a/src/hyperlight_guest_capi/src/error.rs b/src/hyperlight_guest_capi/src/error.rs index 8e4845c58..49dde4b93 100644 --- a/src/hyperlight_guest_capi/src/error.rs +++ b/src/hyperlight_guest_capi/src/error.rs @@ -1,7 +1,7 @@ use core::ffi::c_char; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; -use hyperlight_guest::guest_error::setError; +use hyperlight_guest_bin::guest_err::setError; #[unsafe(no_mangle)] pub extern "C" fn hl_set_error(err: ErrorCode, message: *const c_char) { @@ -12,10 +12,10 @@ pub extern "C" fn hl_set_error(err: ErrorCode, message: *const c_char) { #[unsafe(no_mangle)] pub extern "C" fn hl_abort_with_code(err: i32) { - hyperlight_guest::entrypoint::abort_with_code(&[err as u8]); + hyperlight_guest::exit::abort_with_code(&[err as u8]); } #[unsafe(no_mangle)] pub extern "C" fn hl_abort_with_code_and_message(err: i32, message: *const c_char) { - unsafe { hyperlight_guest::entrypoint::abort_with_code_and_message(&[err as u8], message) }; + unsafe { hyperlight_guest::exit::abort_with_code_and_message(&[err as u8], message) }; } diff --git a/src/hyperlight_guest_capi/src/flatbuffer.rs b/src/hyperlight_guest_capi/src/flatbuffer.rs index 959b8d2a9..a9717000d 100644 --- a/src/hyperlight_guest_capi/src/flatbuffer.rs +++ b/src/hyperlight_guest_capi/src/flatbuffer.rs @@ -2,7 +2,7 @@ use alloc::boxed::Box; use core::ffi::{c_char, CStr}; use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result; -use hyperlight_guest::host_function_call::get_host_return_value; +use hyperlight_guest_bin::host_comm::get_host_return_value; use crate::types::FfiVec; diff --git a/src/tests/rust_guests/callbackguest/Cargo.lock b/src/tests/rust_guests/callbackguest/Cargo.lock index bbd618102..c8253cbc9 100644 --- a/src/tests/rust_guests/callbackguest/Cargo.lock +++ b/src/tests/rust_guests/callbackguest/Cargo.lock @@ -90,22 +90,22 @@ name = "hyperlight-guest" version = "0.5.0" dependencies = [ "anyhow", - "buddy_system_allocator", "cc", "cfg-if", "glob", "hyperlight-common", - "log", "serde_json", - "spin 0.10.0", ] [[package]] name = "hyperlight-guest-bin" version = "0.4.0" dependencies = [ + "buddy_system_allocator", "hyperlight-common", "hyperlight-guest", + "log", + "spin 0.10.0", ] [[package]] diff --git a/src/tests/rust_guests/callbackguest/src/main.rs b/src/tests/rust_guests/callbackguest/src/main.rs index 01db7ad23..d242c7087 100644 --- a/src/tests/rust_guests/callbackguest/src/main.rs +++ b/src/tests/rust_guests/callbackguest/src/main.rs @@ -32,10 +32,10 @@ use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; use hyperlight_common::flatbuffer_wrappers::guest_log_level::LogLevel; use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result; use hyperlight_guest::error::{HyperlightGuestError, Result}; -use hyperlight_guest::guest_function_definition::GuestFunctionDefinition; -use hyperlight_guest::guest_function_register::register_function; -use hyperlight_guest::host_function_call::{call_host_function, print_output_with_host_print}; -use hyperlight_guest::logging::log_message; +use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; +use hyperlight_guest_bin::guest_function::register::register_function; +use hyperlight_guest_bin::guest_logger::log_message; +use hyperlight_guest_bin::host_comm::{call_host_function, print_output_with_host_print}; // TODO(danbugs): this is needed so the panic handler is actually brought in. // We can remove it later once more functionality was moved to hyperlight-guest-bin diff --git a/src/tests/rust_guests/simpleguest/Cargo.lock b/src/tests/rust_guests/simpleguest/Cargo.lock index e216430d4..bc5794169 100644 --- a/src/tests/rust_guests/simpleguest/Cargo.lock +++ b/src/tests/rust_guests/simpleguest/Cargo.lock @@ -81,22 +81,22 @@ name = "hyperlight-guest" version = "0.5.0" dependencies = [ "anyhow", - "buddy_system_allocator", "cc", "cfg-if", "glob", "hyperlight-common", - "log", "serde_json", - "spin 0.10.0", ] [[package]] name = "hyperlight-guest-bin" version = "0.4.0" dependencies = [ + "buddy_system_allocator", "hyperlight-common", "hyperlight-guest", + "log", + "spin 0.10.0", ] [[package]] diff --git a/src/tests/rust_guests/simpleguest/src/main.rs b/src/tests/rust_guests/simpleguest/src/main.rs index f7a68e01a..591fccbb5 100644 --- a/src/tests/rust_guests/simpleguest/src/main.rs +++ b/src/tests/rust_guests/simpleguest/src/main.rs @@ -45,13 +45,13 @@ use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; use hyperlight_common::flatbuffer_wrappers::guest_log_level::LogLevel; use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result; use hyperlight_common::mem::PAGE_SIZE; -use hyperlight_guest::entrypoint::{abort_with_code, abort_with_code_and_message}; use hyperlight_guest::error::{HyperlightGuestError, Result}; -use hyperlight_guest::guest_function_definition::GuestFunctionDefinition; -use hyperlight_guest::guest_function_register::register_function; -use hyperlight_guest::host_function_call::{call_host_function, call_host_function_internal}; +use hyperlight_guest::exit::{abort_with_code, abort_with_code_and_message}; use hyperlight_guest::memory::malloc; -use hyperlight_guest::{logging, MIN_STACK_ADDRESS}; +use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; +use hyperlight_guest_bin::guest_function::register::register_function; +use hyperlight_guest_bin::host_comm::{call_host_function, call_host_function_without_returning}; +use hyperlight_guest_bin::{guest_logger, MIN_STACK_ADDRESS}; use log::{error, LevelFilter}; extern crate hyperlight_guest; @@ -1148,7 +1148,7 @@ pub fn guest_dispatch_function(function_call: FunctionCall) -> Result> { let message = "Hi this is a log message that will overwrite the shared buffer if the stack is not working correctly"; - logging::log_message( + guest_logger::log_message( LogLevel::Information, message, "source", @@ -1198,9 +1198,9 @@ fn fuzz_host_function(func: FunctionCall) -> Result> { // Because we do not know at compile time the actual return type of the host function to be called // we cannot use the `call_host_function` generic function. - // We need to use the `call_host_function_internal` function that does not retrieve the return + // We need to use the `call_host_function_without_returning` function that does not retrieve the return // value - call_host_function_internal(&host_func_name, Some(params), func.expected_return_type) + call_host_function_without_returning(&host_func_name, Some(params), func.expected_return_type) .expect("failed to call host function"); Ok(get_flatbuffer_result(())) } From de971df2ee50c527c6153afaf901761414c142c2 Mon Sep 17 00:00:00 2001 From: danbugs Date: Sun, 1 Jun 2025 23:06:30 +0000 Subject: [PATCH 4/9] [guest,guest_bin] moved memory mod to guest_bin_library This module defines C-wrappers for our global allocator, specific to the needs of our C-API and custom guests, so it makes sense to move it. Signed-off-by: danbugs --- src/hyperlight_guest/src/lib.rs | 4 +--- src/hyperlight_guest_bin/src/lib.rs | 1 + src/{hyperlight_guest => hyperlight_guest_bin}/src/memory.rs | 5 +---- src/tests/rust_guests/simpleguest/src/main.rs | 2 +- 4 files changed, 4 insertions(+), 8 deletions(-) rename src/{hyperlight_guest => hyperlight_guest_bin}/src/memory.rs (99%) diff --git a/src/hyperlight_guest/src/lib.rs b/src/hyperlight_guest/src/lib.rs index dff7d74aa..2dd93bb92 100644 --- a/src/hyperlight_guest/src/lib.rs +++ b/src/hyperlight_guest/src/lib.rs @@ -20,10 +20,8 @@ limitations under the License. extern crate alloc; // Modules -pub mod exit; pub mod error; -// TODO(danbugs): Move this to hyperlight_guest_bin -pub mod memory; +pub mod exit; pub mod guest_handle { pub mod handle; diff --git a/src/hyperlight_guest_bin/src/lib.rs b/src/hyperlight_guest_bin/src/lib.rs index 1cb9adff2..dbefb0ad4 100644 --- a/src/hyperlight_guest_bin/src/lib.rs +++ b/src/hyperlight_guest_bin/src/lib.rs @@ -51,6 +51,7 @@ pub mod guest_function { pub mod guest_logger; pub mod host_comm; +pub mod memory; // === Globals === #[global_allocator] diff --git a/src/hyperlight_guest/src/memory.rs b/src/hyperlight_guest_bin/src/memory.rs similarity index 99% rename from src/hyperlight_guest/src/memory.rs rename to src/hyperlight_guest_bin/src/memory.rs index 09106fd28..1b30c8536 100644 --- a/src/hyperlight_guest/src/memory.rs +++ b/src/hyperlight_guest_bin/src/memory.rs @@ -20,10 +20,7 @@ use core::mem::{align_of, size_of}; use core::ptr; use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; - -use crate::exit::abort_with_code; - -extern crate alloc; +use hyperlight_guest::exit::abort_with_code; /* C-wrappers for Rust's registered global allocator. diff --git a/src/tests/rust_guests/simpleguest/src/main.rs b/src/tests/rust_guests/simpleguest/src/main.rs index 591fccbb5..f5232c3d8 100644 --- a/src/tests/rust_guests/simpleguest/src/main.rs +++ b/src/tests/rust_guests/simpleguest/src/main.rs @@ -47,10 +47,10 @@ use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result; use hyperlight_common::mem::PAGE_SIZE; use hyperlight_guest::error::{HyperlightGuestError, Result}; use hyperlight_guest::exit::{abort_with_code, abort_with_code_and_message}; -use hyperlight_guest::memory::malloc; use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; use hyperlight_guest_bin::guest_function::register::register_function; use hyperlight_guest_bin::host_comm::{call_host_function, call_host_function_without_returning}; +use hyperlight_guest_bin::memory::malloc; use hyperlight_guest_bin::{guest_logger, MIN_STACK_ADDRESS}; use log::{error, LevelFilter}; From 6ef647391c1c5b014ee06932cedc2c270d6c1cb0 Mon Sep 17 00:00:00 2001 From: danbugs Date: Sun, 1 Jun 2025 23:43:21 +0000 Subject: [PATCH 5/9] [guest,guest-bin,third-party] move third_party code to guest_bin lib guest lib should only contain basic functions to interact with the host. Whatever we decide to bring in as third_party deps belong in the guest_bin crate. Signed-off-by: danbugs --- Cargo.lock | 6 +++--- Justfile | 3 +-- c.just | 3 +-- src/hyperlight_guest/Cargo.toml | 11 ----------- src/hyperlight_guest_bin/Cargo.toml | 11 +++++++++++ .../build.rs | 3 +-- src/hyperlight_guest_bin/src/guest_err.rs | 1 - .../third_party/README.md | 0 .../third_party/musl/COPYRIGHT | 0 .../third_party/musl/README | 0 .../third_party/musl/arch/generic/bits/errno.h | 0 .../third_party/musl/arch/generic/fp_arch.h | 0 .../third_party/musl/arch/x86_64/atomic_arch.h | 0 .../third_party/musl/arch/x86_64/bits/alltypes.h | 0 .../third_party/musl/arch/x86_64/bits/fenv.h | 0 .../third_party/musl/arch/x86_64/bits/float.h | 0 .../third_party/musl/arch/x86_64/bits/io.h | 0 .../third_party/musl/arch/x86_64/bits/limits.h | 0 .../third_party/musl/arch/x86_64/bits/mman.h | 0 .../third_party/musl/arch/x86_64/bits/posix.h | 0 .../third_party/musl/arch/x86_64/bits/ptrace.h | 0 .../third_party/musl/arch/x86_64/bits/reg.h | 0 .../third_party/musl/arch/x86_64/bits/setjmp.h | 0 .../third_party/musl/arch/x86_64/bits/stdint.h | 0 .../third_party/musl/arch/x86_64/reloc.h | 0 .../third_party/musl/include/alloca.h | 0 .../third_party/musl/include/assert.h | 0 .../third_party/musl/include/byteswap.h | 0 .../third_party/musl/include/complex.h | 0 .../third_party/musl/include/ctype.h | 0 .../third_party/musl/include/endian.h | 0 .../third_party/musl/include/errno.h | 0 .../third_party/musl/include/features.h | 0 .../third_party/musl/include/fenv.h | 0 .../third_party/musl/include/float.h | 0 .../third_party/musl/include/inttypes.h | 0 .../third_party/musl/include/libgen.h | 0 .../third_party/musl/include/limits.h | 0 .../third_party/musl/include/math.h | 0 .../third_party/musl/include/memory.h | 0 .../third_party/musl/include/setjmp.h | 0 .../third_party/musl/include/stdarg.h | 0 .../third_party/musl/include/stdbool.h | 0 .../third_party/musl/include/stddef.h | 0 .../third_party/musl/include/stdint.h | 0 .../third_party/musl/include/stdio.h | 0 .../third_party/musl/include/stdlib.h | 0 .../third_party/musl/include/string.h | 0 .../third_party/musl/include/strings.h | 0 .../third_party/musl/include/sys/select.h | 0 .../third_party/musl/include/sys/time.h | 0 .../third_party/musl/include/sys/types.h | 0 .../third_party/musl/include/tar.h | 0 .../third_party/musl/include/time.h | 0 .../third_party/musl/include/wchar.h | 0 .../third_party/musl/include/wctype.h | 0 .../third_party/musl/src/complex/__cexp.c | 0 .../third_party/musl/src/complex/__cexpf.c | 0 .../third_party/musl/src/complex/cabs.c | 0 .../third_party/musl/src/complex/cabsf.c | 0 .../third_party/musl/src/complex/cabsl.c | 0 .../third_party/musl/src/complex/cacos.c | 0 .../third_party/musl/src/complex/cacosf.c | 0 .../third_party/musl/src/complex/cacosh.c | 0 .../third_party/musl/src/complex/cacoshf.c | 0 .../third_party/musl/src/complex/cacoshl.c | 0 .../third_party/musl/src/complex/cacosl.c | 0 .../third_party/musl/src/complex/carg.c | 0 .../third_party/musl/src/complex/cargf.c | 0 .../third_party/musl/src/complex/cargl.c | 0 .../third_party/musl/src/complex/casin.c | 0 .../third_party/musl/src/complex/casinf.c | 0 .../third_party/musl/src/complex/casinh.c | 0 .../third_party/musl/src/complex/casinhf.c | 0 .../third_party/musl/src/complex/casinhl.c | 0 .../third_party/musl/src/complex/casinl.c | 0 .../third_party/musl/src/complex/catan.c | 0 .../third_party/musl/src/complex/catanf.c | 0 .../third_party/musl/src/complex/catanh.c | 0 .../third_party/musl/src/complex/catanhf.c | 0 .../third_party/musl/src/complex/catanhl.c | 0 .../third_party/musl/src/complex/catanl.c | 0 .../third_party/musl/src/complex/ccos.c | 0 .../third_party/musl/src/complex/ccosf.c | 0 .../third_party/musl/src/complex/ccosh.c | 0 .../third_party/musl/src/complex/ccoshf.c | 0 .../third_party/musl/src/complex/ccoshl.c | 0 .../third_party/musl/src/complex/ccosl.c | 0 .../third_party/musl/src/complex/cexp.c | 0 .../third_party/musl/src/complex/cexpf.c | 0 .../third_party/musl/src/complex/cexpl.c | 0 .../third_party/musl/src/complex/cimag.c | 0 .../third_party/musl/src/complex/cimagf.c | 0 .../third_party/musl/src/complex/cimagl.c | 0 .../third_party/musl/src/complex/clog.c | 0 .../third_party/musl/src/complex/clogf.c | 0 .../third_party/musl/src/complex/clogl.c | 0 .../third_party/musl/src/complex/conj.c | 0 .../third_party/musl/src/complex/conjf.c | 0 .../third_party/musl/src/complex/conjl.c | 0 .../third_party/musl/src/complex/cpow.c | 0 .../third_party/musl/src/complex/cpowf.c | 0 .../third_party/musl/src/complex/cpowl.c | 0 .../third_party/musl/src/complex/cproj.c | 0 .../third_party/musl/src/complex/cprojf.c | 0 .../third_party/musl/src/complex/cprojl.c | 0 .../third_party/musl/src/complex/creal.c | 0 .../third_party/musl/src/complex/crealf.c | 0 .../third_party/musl/src/complex/creall.c | 0 .../third_party/musl/src/complex/csin.c | 0 .../third_party/musl/src/complex/csinf.c | 0 .../third_party/musl/src/complex/csinh.c | 0 .../third_party/musl/src/complex/csinhf.c | 0 .../third_party/musl/src/complex/csinhl.c | 0 .../third_party/musl/src/complex/csinl.c | 0 .../third_party/musl/src/complex/csqrt.c | 0 .../third_party/musl/src/complex/csqrtf.c | 0 .../third_party/musl/src/complex/csqrtl.c | 0 .../third_party/musl/src/complex/ctan.c | 0 .../third_party/musl/src/complex/ctanf.c | 0 .../third_party/musl/src/complex/ctanh.c | 0 .../third_party/musl/src/complex/ctanhf.c | 0 .../third_party/musl/src/complex/ctanhl.c | 0 .../third_party/musl/src/complex/ctanl.c | 0 .../third_party/musl/src/ctype/isalnum.c | 0 .../third_party/musl/src/ctype/isalpha.c | 0 .../third_party/musl/src/ctype/isdigit.c | 0 .../third_party/musl/src/ctype/isgraph.c | 0 .../third_party/musl/src/ctype/islower.c | 0 .../third_party/musl/src/ctype/isprint.c | 0 .../third_party/musl/src/ctype/isspace.c | 0 .../third_party/musl/src/ctype/isupper.c | 0 .../third_party/musl/src/ctype/isxdigit.c | 0 .../third_party/musl/src/ctype/tolower.c | 0 .../third_party/musl/src/ctype/toupper.c | 0 .../third_party/musl/src/errno/__errno_location.c | 0 .../third_party/musl/src/exit/assert.c | 0 .../third_party/musl/src/fenv/__flt_rounds.c | 0 .../third_party/musl/src/fenv/fegetexceptflag.c | 0 .../third_party/musl/src/fenv/feholdexcept.c | 0 .../third_party/musl/src/fenv/fesetexceptflag.c | 0 .../third_party/musl/src/fenv/fesetround.c | 0 .../third_party/musl/src/fenv/feupdateenv.c | 0 .../third_party/musl/src/fenv/x86_64/fenv.s | 0 .../third_party/musl/src/include/errno.h | 0 .../third_party/musl/src/include/features.h | 0 .../third_party/musl/src/include/stdlib.h | 0 .../third_party/musl/src/include/string.h | 0 .../third_party/musl/src/include/sys/time.h | 0 .../third_party/musl/src/include/time.h | 0 .../third_party/musl/src/internal/atomic.h | 0 .../third_party/musl/src/internal/complex_impl.h | 0 .../third_party/musl/src/internal/floatscan.c | 0 .../third_party/musl/src/internal/floatscan.h | 0 .../third_party/musl/src/internal/intscan.c | 0 .../third_party/musl/src/internal/intscan.h | 0 .../third_party/musl/src/internal/libm.h | 0 .../third_party/musl/src/internal/shgetc.c | 0 .../third_party/musl/src/internal/shgetc.h | 0 .../third_party/musl/src/internal/stdio_impl.h | 0 .../third_party/musl/src/math/__cos.c | 0 .../third_party/musl/src/math/__cosdf.c | 0 .../third_party/musl/src/math/__cosl.c | 0 .../third_party/musl/src/math/__expo2.c | 0 .../third_party/musl/src/math/__expo2f.c | 0 .../third_party/musl/src/math/__fpclassify.c | 0 .../third_party/musl/src/math/__fpclassifyf.c | 0 .../third_party/musl/src/math/__fpclassifyl.c | 0 .../third_party/musl/src/math/__invtrigl.c | 0 .../third_party/musl/src/math/__invtrigl.h | 0 .../third_party/musl/src/math/__math_divzero.c | 0 .../third_party/musl/src/math/__math_divzerof.c | 0 .../third_party/musl/src/math/__math_invalid.c | 0 .../third_party/musl/src/math/__math_invalidf.c | 0 .../third_party/musl/src/math/__math_invalidl.c | 0 .../third_party/musl/src/math/__math_oflow.c | 0 .../third_party/musl/src/math/__math_oflowf.c | 0 .../third_party/musl/src/math/__math_uflow.c | 0 .../third_party/musl/src/math/__math_uflowf.c | 0 .../third_party/musl/src/math/__math_xflow.c | 0 .../third_party/musl/src/math/__math_xflowf.c | 0 .../third_party/musl/src/math/__polevll.c | 0 .../third_party/musl/src/math/__rem_pio2.c | 0 .../third_party/musl/src/math/__rem_pio2_large.c | 0 .../third_party/musl/src/math/__rem_pio2f.c | 0 .../third_party/musl/src/math/__rem_pio2l.c | 0 .../third_party/musl/src/math/__signbit.c | 0 .../third_party/musl/src/math/__signbitf.c | 0 .../third_party/musl/src/math/__signbitl.c | 0 .../third_party/musl/src/math/__sin.c | 0 .../third_party/musl/src/math/__sindf.c | 0 .../third_party/musl/src/math/__sinl.c | 0 .../third_party/musl/src/math/__tan.c | 0 .../third_party/musl/src/math/__tandf.c | 0 .../third_party/musl/src/math/__tanl.c | 0 .../third_party/musl/src/math/acos.c | 0 .../third_party/musl/src/math/acosf.c | 0 .../third_party/musl/src/math/acosh.c | 0 .../third_party/musl/src/math/acoshf.c | 0 .../third_party/musl/src/math/acoshl.c | 0 .../third_party/musl/src/math/acosl.c | 0 .../third_party/musl/src/math/asin.c | 0 .../third_party/musl/src/math/asinf.c | 0 .../third_party/musl/src/math/asinh.c | 0 .../third_party/musl/src/math/asinhf.c | 0 .../third_party/musl/src/math/asinhl.c | 0 .../third_party/musl/src/math/asinl.c | 0 .../third_party/musl/src/math/atan.c | 0 .../third_party/musl/src/math/atan2.c | 0 .../third_party/musl/src/math/atan2f.c | 0 .../third_party/musl/src/math/atan2l.c | 0 .../third_party/musl/src/math/atanf.c | 0 .../third_party/musl/src/math/atanh.c | 0 .../third_party/musl/src/math/atanhf.c | 0 .../third_party/musl/src/math/atanhl.c | 0 .../third_party/musl/src/math/atanl.c | 0 .../third_party/musl/src/math/cbrt.c | 0 .../third_party/musl/src/math/cbrtf.c | 0 .../third_party/musl/src/math/cbrtl.c | 0 .../third_party/musl/src/math/ceil.c | 0 .../third_party/musl/src/math/ceilf.c | 0 .../third_party/musl/src/math/ceill.c | 0 .../third_party/musl/src/math/copysign.c | 0 .../third_party/musl/src/math/copysignf.c | 0 .../third_party/musl/src/math/copysignl.c | 0 .../third_party/musl/src/math/cos.c | 0 .../third_party/musl/src/math/cosf.c | 0 .../third_party/musl/src/math/cosh.c | 0 .../third_party/musl/src/math/coshf.c | 0 .../third_party/musl/src/math/coshl.c | 0 .../third_party/musl/src/math/cosl.c | 0 .../third_party/musl/src/math/erf.c | 0 .../third_party/musl/src/math/erff.c | 0 .../third_party/musl/src/math/erfl.c | 0 .../third_party/musl/src/math/exp.c | 0 .../third_party/musl/src/math/exp10.c | 0 .../third_party/musl/src/math/exp10f.c | 0 .../third_party/musl/src/math/exp10l.c | 0 .../third_party/musl/src/math/exp2.c | 0 .../third_party/musl/src/math/exp2f.c | 0 .../third_party/musl/src/math/exp2f_data.c | 0 .../third_party/musl/src/math/exp2f_data.h | 0 .../third_party/musl/src/math/exp2l.c | 0 .../third_party/musl/src/math/exp_data.c | 0 .../third_party/musl/src/math/exp_data.h | 0 .../third_party/musl/src/math/expf.c | 0 .../third_party/musl/src/math/expl.c | 0 .../third_party/musl/src/math/expm1.c | 0 .../third_party/musl/src/math/expm1f.c | 0 .../third_party/musl/src/math/expm1l.c | 0 .../third_party/musl/src/math/fabs.c | 0 .../third_party/musl/src/math/fabsf.c | 0 .../third_party/musl/src/math/fabsl.c | 0 .../third_party/musl/src/math/fdim.c | 0 .../third_party/musl/src/math/fdimf.c | 0 .../third_party/musl/src/math/fdiml.c | 0 .../third_party/musl/src/math/finite.c | 0 .../third_party/musl/src/math/finitef.c | 0 .../third_party/musl/src/math/floor.c | 0 .../third_party/musl/src/math/floorf.c | 0 .../third_party/musl/src/math/floorl.c | 0 .../third_party/musl/src/math/fma.c | 0 .../third_party/musl/src/math/fmaf.c | 0 .../third_party/musl/src/math/fmal.c | 0 .../third_party/musl/src/math/fmax.c | 0 .../third_party/musl/src/math/fmaxf.c | 0 .../third_party/musl/src/math/fmaxl.c | 0 .../third_party/musl/src/math/fmin.c | 0 .../third_party/musl/src/math/fminf.c | 0 .../third_party/musl/src/math/fminl.c | 0 .../third_party/musl/src/math/fmod.c | 0 .../third_party/musl/src/math/fmodf.c | 0 .../third_party/musl/src/math/fmodl.c | 0 .../third_party/musl/src/math/frexp.c | 0 .../third_party/musl/src/math/frexpf.c | 0 .../third_party/musl/src/math/frexpl.c | 0 .../third_party/musl/src/math/hypot.c | 0 .../third_party/musl/src/math/hypotf.c | 0 .../third_party/musl/src/math/hypotl.c | 0 .../third_party/musl/src/math/ilogb.c | 0 .../third_party/musl/src/math/ilogbf.c | 0 .../third_party/musl/src/math/ilogbl.c | 0 .../third_party/musl/src/math/j0.c | 0 .../third_party/musl/src/math/j0f.c | 0 .../third_party/musl/src/math/j1.c | 0 .../third_party/musl/src/math/j1f.c | 0 .../third_party/musl/src/math/jn.c | 0 .../third_party/musl/src/math/jnf.c | 0 .../third_party/musl/src/math/ldexp.c | 0 .../third_party/musl/src/math/ldexpf.c | 0 .../third_party/musl/src/math/ldexpl.c | 0 .../third_party/musl/src/math/lgamma.c | 0 .../third_party/musl/src/math/lgamma_r.c | 0 .../third_party/musl/src/math/lgammaf.c | 0 .../third_party/musl/src/math/lgammaf_r.c | 0 .../third_party/musl/src/math/lgammal.c | 0 .../third_party/musl/src/math/llrint.c | 0 .../third_party/musl/src/math/llrintf.c | 0 .../third_party/musl/src/math/llrintl.c | 0 .../third_party/musl/src/math/llround.c | 0 .../third_party/musl/src/math/llroundf.c | 0 .../third_party/musl/src/math/llroundl.c | 0 .../third_party/musl/src/math/log.c | 0 .../third_party/musl/src/math/log10.c | 0 .../third_party/musl/src/math/log10f.c | 0 .../third_party/musl/src/math/log10l.c | 0 .../third_party/musl/src/math/log1p.c | 0 .../third_party/musl/src/math/log1pf.c | 0 .../third_party/musl/src/math/log1pl.c | 0 .../third_party/musl/src/math/log2.c | 0 .../third_party/musl/src/math/log2_data.c | 0 .../third_party/musl/src/math/log2_data.h | 0 .../third_party/musl/src/math/log2f.c | 0 .../third_party/musl/src/math/log2f_data.c | 0 .../third_party/musl/src/math/log2f_data.h | 0 .../third_party/musl/src/math/log2l.c | 0 .../third_party/musl/src/math/log_data.c | 0 .../third_party/musl/src/math/log_data.h | 0 .../third_party/musl/src/math/logb.c | 0 .../third_party/musl/src/math/logbf.c | 0 .../third_party/musl/src/math/logbl.c | 0 .../third_party/musl/src/math/logf.c | 0 .../third_party/musl/src/math/logf_data.c | 0 .../third_party/musl/src/math/logf_data.h | 0 .../third_party/musl/src/math/logl.c | 0 .../third_party/musl/src/math/lrint.c | 0 .../third_party/musl/src/math/lrintf.c | 0 .../third_party/musl/src/math/lrintl.c | 0 .../third_party/musl/src/math/lround.c | 0 .../third_party/musl/src/math/lroundf.c | 0 .../third_party/musl/src/math/lroundl.c | 0 .../third_party/musl/src/math/modf.c | 0 .../third_party/musl/src/math/modff.c | 0 .../third_party/musl/src/math/modfl.c | 0 .../third_party/musl/src/math/nan.c | 0 .../third_party/musl/src/math/nanf.c | 0 .../third_party/musl/src/math/nanl.c | 0 .../third_party/musl/src/math/nearbyint.c | 0 .../third_party/musl/src/math/nearbyintf.c | 0 .../third_party/musl/src/math/nearbyintl.c | 0 .../third_party/musl/src/math/nextafter.c | 0 .../third_party/musl/src/math/nextafterf.c | 0 .../third_party/musl/src/math/nextafterl.c | 0 .../third_party/musl/src/math/nexttoward.c | 0 .../third_party/musl/src/math/nexttowardf.c | 0 .../third_party/musl/src/math/nexttowardl.c | 0 .../third_party/musl/src/math/pow.c | 0 .../third_party/musl/src/math/pow_data.c | 0 .../third_party/musl/src/math/pow_data.h | 0 .../third_party/musl/src/math/powf.c | 0 .../third_party/musl/src/math/powf_data.c | 0 .../third_party/musl/src/math/powf_data.h | 0 .../third_party/musl/src/math/powl.c | 0 .../third_party/musl/src/math/remainder.c | 0 .../third_party/musl/src/math/remainderf.c | 0 .../third_party/musl/src/math/remainderl.c | 0 .../third_party/musl/src/math/remquo.c | 0 .../third_party/musl/src/math/remquof.c | 0 .../third_party/musl/src/math/remquol.c | 0 .../third_party/musl/src/math/rint.c | 0 .../third_party/musl/src/math/rintf.c | 0 .../third_party/musl/src/math/rintl.c | 0 .../third_party/musl/src/math/round.c | 0 .../third_party/musl/src/math/roundf.c | 0 .../third_party/musl/src/math/roundl.c | 0 .../third_party/musl/src/math/scalb.c | 0 .../third_party/musl/src/math/scalbf.c | 0 .../third_party/musl/src/math/scalbln.c | 0 .../third_party/musl/src/math/scalblnf.c | 0 .../third_party/musl/src/math/scalblnl.c | 0 .../third_party/musl/src/math/scalbn.c | 0 .../third_party/musl/src/math/scalbnf.c | 0 .../third_party/musl/src/math/scalbnl.c | 0 .../third_party/musl/src/math/signgam.c | 0 .../third_party/musl/src/math/significand.c | 0 .../third_party/musl/src/math/significandf.c | 0 .../third_party/musl/src/math/sin.c | 0 .../third_party/musl/src/math/sincos.c | 0 .../third_party/musl/src/math/sincosf.c | 0 .../third_party/musl/src/math/sincosl.c | 0 .../third_party/musl/src/math/sinf.c | 0 .../third_party/musl/src/math/sinh.c | 0 .../third_party/musl/src/math/sinhf.c | 0 .../third_party/musl/src/math/sinhl.c | 0 .../third_party/musl/src/math/sinl.c | 0 .../third_party/musl/src/math/sqrt.c | 0 .../third_party/musl/src/math/sqrt_data.c | 0 .../third_party/musl/src/math/sqrt_data.h | 0 .../third_party/musl/src/math/sqrtf.c | 0 .../third_party/musl/src/math/sqrtl.c | 0 .../third_party/musl/src/math/tan.c | 0 .../third_party/musl/src/math/tanf.c | 0 .../third_party/musl/src/math/tanh.c | 0 .../third_party/musl/src/math/tanhf.c | 0 .../third_party/musl/src/math/tanhl.c | 0 .../third_party/musl/src/math/tanl.c | 0 .../third_party/musl/src/math/tgamma.c | 0 .../third_party/musl/src/math/tgammaf.c | 0 .../third_party/musl/src/math/tgammal.c | 0 .../third_party/musl/src/math/trunc.c | 0 .../third_party/musl/src/math/truncf.c | 0 .../third_party/musl/src/math/truncl.c | 0 .../third_party/musl/src/math/x86_64/__invtrigl.s | 0 .../third_party/musl/src/math/x86_64/acosl.s | 0 .../third_party/musl/src/math/x86_64/asinl.s | 0 .../third_party/musl/src/math/x86_64/atan2l.s | 0 .../third_party/musl/src/math/x86_64/atanl.s | 0 .../third_party/musl/src/math/x86_64/ceill.s | 0 .../third_party/musl/src/math/x86_64/exp2l.s | 0 .../third_party/musl/src/math/x86_64/expl.s | 0 .../third_party/musl/src/math/x86_64/expm1l.s | 0 .../third_party/musl/src/math/x86_64/fabs.c | 0 .../third_party/musl/src/math/x86_64/fabsf.c | 0 .../third_party/musl/src/math/x86_64/fabsl.c | 0 .../third_party/musl/src/math/x86_64/floorl.s | 0 .../third_party/musl/src/math/x86_64/fma.c | 0 .../third_party/musl/src/math/x86_64/fmaf.c | 0 .../third_party/musl/src/math/x86_64/fmodl.c | 0 .../third_party/musl/src/math/x86_64/llrint.c | 0 .../third_party/musl/src/math/x86_64/llrintf.c | 0 .../third_party/musl/src/math/x86_64/llrintl.c | 0 .../third_party/musl/src/math/x86_64/log10l.s | 0 .../third_party/musl/src/math/x86_64/log1pl.s | 0 .../third_party/musl/src/math/x86_64/log2l.s | 0 .../third_party/musl/src/math/x86_64/logl.s | 0 .../third_party/musl/src/math/x86_64/lrint.c | 0 .../third_party/musl/src/math/x86_64/lrintf.c | 0 .../third_party/musl/src/math/x86_64/lrintl.c | 0 .../third_party/musl/src/math/x86_64/remainderl.c | 0 .../third_party/musl/src/math/x86_64/remquol.c | 0 .../third_party/musl/src/math/x86_64/rintl.c | 0 .../third_party/musl/src/math/x86_64/sqrt.c | 0 .../third_party/musl/src/math/x86_64/sqrtf.c | 0 .../third_party/musl/src/math/x86_64/sqrtl.c | 0 .../third_party/musl/src/math/x86_64/truncl.s | 0 .../third_party/musl/src/misc/a64l.c | 0 .../third_party/musl/src/misc/basename.c | 0 .../third_party/musl/src/misc/dirname.c | 0 .../third_party/musl/src/prng/rand.c | 0 .../third_party/musl/src/setjmp/x86_64/longjmp.s | 0 .../third_party/musl/src/setjmp/x86_64/setjmp.s | 0 .../third_party/musl/src/stdio/__toread.c | 0 .../third_party/musl/src/stdio/__towrite.c | 0 .../third_party/musl/src/stdio/__uflow.c | 0 .../third_party/musl/src/stdlib/abs.c | 0 .../third_party/musl/src/stdlib/atof.c | 0 .../third_party/musl/src/stdlib/atoi.c | 0 .../third_party/musl/src/stdlib/atol.c | 0 .../third_party/musl/src/stdlib/atoll.c | 0 .../third_party/musl/src/stdlib/bsearch.c | 0 .../third_party/musl/src/stdlib/div.c | 0 .../third_party/musl/src/stdlib/ecvt.c | 0 .../third_party/musl/src/stdlib/fcvt.c | 0 .../third_party/musl/src/stdlib/gcvt.c | 0 .../third_party/musl/src/stdlib/imaxabs.c | 0 .../third_party/musl/src/stdlib/imaxdiv.c | 0 .../third_party/musl/src/stdlib/labs.c | 0 .../third_party/musl/src/stdlib/ldiv.c | 0 .../third_party/musl/src/stdlib/llabs.c | 0 .../third_party/musl/src/stdlib/lldiv.c | 0 .../third_party/musl/src/stdlib/qsort.c | 0 .../third_party/musl/src/stdlib/qsort_nr.c | 0 .../third_party/musl/src/stdlib/strtod.c | 0 .../third_party/musl/src/stdlib/strtol.c | 0 .../third_party/musl/src/stdlib/wcstod.c | 0 .../third_party/musl/src/stdlib/wcstol.c | 0 .../third_party/musl/src/string/bcmp.c | 0 .../third_party/musl/src/string/bcopy.c | 0 .../third_party/musl/src/string/bzero.c | 0 .../third_party/musl/src/string/explicit_bzero.c | 0 .../third_party/musl/src/string/index.c | 0 .../third_party/musl/src/string/memccpy.c | 0 .../third_party/musl/src/string/memchr.c | 0 .../third_party/musl/src/string/memcmp.c | 0 .../third_party/musl/src/string/memcpy.c | 0 .../third_party/musl/src/string/memmem.c | 0 .../third_party/musl/src/string/memmove.c | 0 .../third_party/musl/src/string/mempcpy.c | 0 .../third_party/musl/src/string/memrchr.c | 0 .../third_party/musl/src/string/memset.c | 0 .../third_party/musl/src/string/rindex.c | 0 .../third_party/musl/src/string/stpcpy.c | 0 .../third_party/musl/src/string/stpncpy.c | 0 .../third_party/musl/src/string/strcasecmp.c | 0 .../third_party/musl/src/string/strcasestr.c | 0 .../third_party/musl/src/string/strcat.c | 0 .../third_party/musl/src/string/strchr.c | 0 .../third_party/musl/src/string/strchrnul.c | 0 .../third_party/musl/src/string/strcmp.c | 0 .../third_party/musl/src/string/strcpy.c | 0 .../third_party/musl/src/string/strcspn.c | 0 .../third_party/musl/src/string/strdup.c | 0 .../third_party/musl/src/string/strerror_r.c | 0 .../third_party/musl/src/string/strlcat.c | 0 .../third_party/musl/src/string/strlcpy.c | 0 .../third_party/musl/src/string/strlen.c | 0 .../third_party/musl/src/string/strncasecmp.c | 0 .../third_party/musl/src/string/strncat.c | 0 .../third_party/musl/src/string/strncmp.c | 0 .../third_party/musl/src/string/strncpy.c | 0 .../third_party/musl/src/string/strndup.c | 0 .../third_party/musl/src/string/strnlen.c | 0 .../third_party/musl/src/string/strpbrk.c | 0 .../third_party/musl/src/string/strrchr.c | 0 .../third_party/musl/src/string/strsep.c | 0 .../third_party/musl/src/string/strspn.c | 0 .../third_party/musl/src/string/strstr.c | 0 .../third_party/musl/src/string/strtok.c | 0 .../third_party/musl/src/string/strtok_r.c | 0 .../third_party/musl/src/string/strverscmp.c | 0 .../third_party/musl/src/string/wcpcpy.c | 0 .../third_party/musl/src/string/wcpncpy.c | 0 .../third_party/musl/src/string/wcscasecmp.c | 0 .../third_party/musl/src/string/wcscasecmp_l.c | 0 .../third_party/musl/src/string/wcscat.c | 0 .../third_party/musl/src/string/wcschr.c | 0 .../third_party/musl/src/string/wcscmp.c | 0 .../third_party/musl/src/string/wcscpy.c | 0 .../third_party/musl/src/string/wcscspn.c | 0 .../third_party/musl/src/string/wcsdup.c | 0 .../third_party/musl/src/string/wcslen.c | 0 .../third_party/musl/src/string/wcsncasecmp.c | 0 .../third_party/musl/src/string/wcsncasecmp_l.c | 0 .../third_party/musl/src/string/wcsncat.c | 0 .../third_party/musl/src/string/wcsncmp.c | 0 .../third_party/musl/src/string/wcsncpy.c | 0 .../third_party/musl/src/string/wcsnlen.c | 0 .../third_party/musl/src/string/wcspbrk.c | 0 .../third_party/musl/src/string/wcsrchr.c | 0 .../third_party/musl/src/string/wcsspn.c | 0 .../third_party/musl/src/string/wcsstr.c | 0 .../third_party/musl/src/string/wcstok.c | 0 .../third_party/musl/src/string/wcswcs.c | 0 .../third_party/musl/src/string/wmemchr.c | 0 .../third_party/musl/src/string/wmemcmp.c | 0 .../third_party/musl/src/string/wmemcpy.c | 0 .../third_party/musl/src/string/wmemmove.c | 0 .../third_party/musl/src/string/wmemset.c | 0 .../third_party/printf/.gitattributes | 0 .../third_party/printf/.travis.yml | 0 .../third_party/printf/LICENSE | 0 .../third_party/printf/Makefile | 0 .../third_party/printf/README.md | 0 .../third_party/printf/codecov.yml | 0 .../third_party/printf/printf.c | 0 .../third_party/printf/printf.h | 0 .../third_party/printf/printf.patch | 0 .../third_party/printf/test/catch.hpp | 0 .../third_party/printf/test/test_suite.cpp | 0 src/hyperlight_guest_capi/Cargo.toml | 4 ++-- src/hyperlight_guest_capi/cbindgen.toml | 4 ++-- src/hyperlight_guest_capi/src/lib.rs | 4 ---- src/tests/c_guests/c_callbackguest/main.c | 5 ++--- src/tests/c_guests/c_simpleguest/main.c | 5 ++--- src/tests/rust_guests/callbackguest/Cargo.lock | 10 +++++----- src/tests/rust_guests/callbackguest/src/main.rs | 4 ---- src/tests/rust_guests/simpleguest/Cargo.lock | 10 +++++----- src/tests/rust_guests/simpleguest/src/main.rs | 4 ---- typos.toml | 3 +-- 559 files changed, 36 insertions(+), 55 deletions(-) rename src/{hyperlight_guest => hyperlight_guest_bin}/build.rs (99%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/README.md (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/COPYRIGHT (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/README (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/generic/bits/errno.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/generic/fp_arch.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/atomic_arch.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/alltypes.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/fenv.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/float.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/io.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/limits.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/mman.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/posix.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/ptrace.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/reg.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/setjmp.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/bits/stdint.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/arch/x86_64/reloc.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/alloca.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/assert.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/byteswap.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/complex.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/ctype.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/endian.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/errno.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/features.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/fenv.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/float.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/inttypes.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/libgen.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/limits.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/math.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/memory.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/setjmp.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/stdarg.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/stdbool.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/stddef.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/stdint.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/stdio.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/stdlib.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/string.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/strings.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/sys/select.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/sys/time.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/sys/types.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/tar.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/time.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/wchar.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/include/wctype.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/__cexp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/__cexpf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cabs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cabsf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cabsl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cacos.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cacosf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cacosh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cacoshf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cacoshl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cacosl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/carg.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cargf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cargl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/casin.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/casinf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/casinh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/casinhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/casinhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/casinl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/catan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/catanf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/catanh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/catanhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/catanhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/catanl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ccos.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ccosf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ccosh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ccoshf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ccoshl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ccosl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cexp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cexpf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cexpl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cimag.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cimagf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cimagl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/clog.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/clogf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/clogl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/conj.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/conjf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/conjl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cpow.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cpowf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cpowl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cproj.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cprojf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/cprojl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/creal.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/crealf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/creall.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csin.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csinf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csinh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csinhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csinhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csinl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csqrt.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csqrtf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/csqrtl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ctan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ctanf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ctanh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ctanhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ctanhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/complex/ctanl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isalnum.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isalpha.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isdigit.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isgraph.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/islower.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isprint.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isspace.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isupper.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/isxdigit.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/tolower.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/ctype/toupper.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/errno/__errno_location.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/exit/assert.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/fenv/__flt_rounds.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/fenv/fegetexceptflag.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/fenv/feholdexcept.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/fenv/fesetexceptflag.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/fenv/fesetround.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/fenv/feupdateenv.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/fenv/x86_64/fenv.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/include/errno.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/include/features.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/include/stdlib.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/include/string.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/include/sys/time.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/include/time.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/atomic.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/complex_impl.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/floatscan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/floatscan.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/intscan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/intscan.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/libm.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/shgetc.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/shgetc.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/internal/stdio_impl.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__cos.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__cosdf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__cosl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__expo2.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__expo2f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__fpclassify.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__fpclassifyf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__fpclassifyl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__invtrigl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__invtrigl.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_divzero.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_divzerof.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_invalid.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_invalidf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_invalidl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_oflow.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_oflowf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_uflow.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_uflowf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_xflow.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__math_xflowf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__polevll.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__rem_pio2.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__rem_pio2_large.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__rem_pio2f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__rem_pio2l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__signbit.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__signbitf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__signbitl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__sin.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__sindf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__sinl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__tan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__tandf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/__tanl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/acos.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/acosf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/acosh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/acoshf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/acoshl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/acosl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/asin.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/asinf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/asinh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/asinhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/asinhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/asinl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atan2.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atan2f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atan2l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atanf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atanh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atanhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atanhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/atanl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/cbrt.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/cbrtf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/cbrtl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ceil.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ceilf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ceill.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/copysign.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/copysignf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/copysignl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/cos.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/cosf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/cosh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/coshf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/coshl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/cosl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/erf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/erff.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/erfl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp10.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp10f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp10l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp2.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp2f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp2f_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp2f_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp2l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/exp_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/expf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/expl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/expm1.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/expm1f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/expm1l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fabs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fabsf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fabsl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fdim.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fdimf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fdiml.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/finite.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/finitef.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/floor.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/floorf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/floorl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fma.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmaf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmal.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmax.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmaxf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmaxl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmin.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fminf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fminl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmod.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmodf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/fmodl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/frexp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/frexpf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/frexpl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/hypot.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/hypotf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/hypotl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ilogb.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ilogbf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ilogbl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/j0.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/j0f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/j1.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/j1f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/jn.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/jnf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ldexp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ldexpf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/ldexpl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lgamma.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lgamma_r.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lgammaf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lgammaf_r.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lgammal.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/llrint.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/llrintf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/llrintl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/llround.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/llroundf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/llroundl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log10.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log10f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log10l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log1p.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log1pf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log1pl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log2.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log2_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log2_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log2f.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log2f_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log2f_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log2l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/log_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/logb.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/logbf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/logbl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/logf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/logf_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/logf_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/logl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lrint.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lrintf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lrintl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lround.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lroundf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/lroundl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/modf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/modff.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/modfl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nanf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nanl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nearbyint.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nearbyintf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nearbyintl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nextafter.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nextafterf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nextafterl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nexttoward.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nexttowardf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/nexttowardl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/pow.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/pow_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/pow_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/powf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/powf_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/powf_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/powl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/remainder.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/remainderf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/remainderl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/remquo.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/remquof.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/remquol.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/rint.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/rintf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/rintl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/round.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/roundf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/roundl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalb.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalbf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalbln.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalblnf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalblnl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalbn.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalbnf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/scalbnl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/signgam.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/significand.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/significandf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sin.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sincos.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sincosf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sincosl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sinf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sinh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sinhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sinhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sinl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sqrt.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sqrt_data.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sqrt_data.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sqrtf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/sqrtl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tan.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tanf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tanh.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tanhf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tanhl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tanl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tgamma.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tgammaf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/tgammal.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/trunc.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/truncf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/truncl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/__invtrigl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/acosl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/asinl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/atan2l.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/atanl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/ceill.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/exp2l.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/expl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/expm1l.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/fabs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/fabsf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/fabsl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/floorl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/fma.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/fmaf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/fmodl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/llrint.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/llrintf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/llrintl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/log10l.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/log1pl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/log2l.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/logl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/lrint.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/lrintf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/lrintl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/remainderl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/remquol.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/rintl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/sqrt.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/sqrtf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/sqrtl.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/math/x86_64/truncl.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/misc/a64l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/misc/basename.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/misc/dirname.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/prng/rand.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/setjmp/x86_64/longjmp.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/setjmp/x86_64/setjmp.s (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdio/__toread.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdio/__towrite.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdio/__uflow.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/abs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/atof.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/atoi.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/atol.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/atoll.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/bsearch.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/div.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/ecvt.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/fcvt.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/gcvt.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/imaxabs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/imaxdiv.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/labs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/ldiv.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/llabs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/lldiv.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/qsort.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/qsort_nr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/strtod.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/strtol.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/wcstod.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/stdlib/wcstol.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/bcmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/bcopy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/bzero.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/explicit_bzero.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/index.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memccpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memchr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memcmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memcpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memmem.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memmove.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/mempcpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memrchr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/memset.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/rindex.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/stpcpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/stpncpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strcasecmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strcasestr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strcat.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strchr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strchrnul.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strcmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strcpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strcspn.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strdup.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strerror_r.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strlcat.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strlcpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strlen.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strncasecmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strncat.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strncmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strncpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strndup.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strnlen.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strpbrk.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strrchr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strsep.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strspn.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strstr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strtok.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strtok_r.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/strverscmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcpcpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcpncpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcscasecmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcscasecmp_l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcscat.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcschr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcscmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcscpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcscspn.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsdup.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcslen.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsncasecmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsncasecmp_l.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsncat.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsncmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsncpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsnlen.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcspbrk.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsrchr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsspn.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcsstr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcstok.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wcswcs.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wmemchr.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wmemcmp.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wmemcpy.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wmemmove.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/musl/src/string/wmemset.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/.gitattributes (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/.travis.yml (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/LICENSE (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/Makefile (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/README.md (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/codecov.yml (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/printf.c (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/printf.h (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/printf.patch (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/test/catch.hpp (100%) rename src/{hyperlight_guest => hyperlight_guest_bin}/third_party/printf/test/test_suite.cpp (100%) diff --git a/Cargo.lock b/Cargo.lock index 349141199..9aa43fdbd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1168,9 +1168,6 @@ name = "hyperlight-guest" version = "0.5.0" dependencies = [ "anyhow", - "cc", - "cfg-if", - "glob", "hyperlight-common", "serde_json", ] @@ -1180,6 +1177,9 @@ name = "hyperlight-guest-bin" version = "0.4.0" dependencies = [ "buddy_system_allocator", + "cc", + "cfg-if", + "glob", "hyperlight-common", "hyperlight-guest", "log", diff --git a/Justfile b/Justfile index fd0684eed..f7e76c6df 100644 --- a/Justfile +++ b/Justfile @@ -175,8 +175,7 @@ run-rust-examples-linux target=default-target features="": (run-rust-examples ta ######################### tar-headers: (build-rust-capi) # build-rust-capi is a dependency because we need the hyperlight_guest.h to be built - # TODO(danbugs): update this when I'm done w/ the move - tar -zcvf include.tar.gz -C {{root}}/src/hyperlight_guest/third_party/ musl/include musl/arch/x86_64 printf/printf.h -C {{root}}/src/hyperlight_guest_capi include + tar -zcvf include.tar.gz -C {{root}}/src/hyperlight_guest_bin/third_party/ musl/include musl/arch/x86_64 printf/printf.h -C {{root}}/src/hyperlight_guest_capi include tar-static-lib: (build-rust-capi "release") (build-rust-capi "debug") tar -zcvf hyperlight-guest-c-api-linux.tar.gz -C {{root}}/target/x86_64-unknown-none/ release/libhyperlight_guest_capi.a -C {{root}}/target/x86_64-unknown-none/ debug/libhyperlight_guest_capi.a diff --git a/c.just b/c.just index c00adae7e..d83776cc5 100644 --- a/c.just +++ b/c.just @@ -3,8 +3,7 @@ mkdir := if os() == "windows" { "mkdir -f -p" } else { "mkdir -p"} # Elf options # We don't support stack protectors at the moment, but Arch Linux clang auto-enables them for -linux platforms, so explicitly disable them. c-compile-options-elf := '-nobuiltininc -H --target=x86_64-unknown-linux-none -fno-stack-protector -fstack-clash-protection -mstack-probe-size=4096 -fPIC' -# TODO(danbugs): update this when I'm done w/ the move -c-include-flags-elf := "-I " + root / "src/hyperlight_guest_capi/include/" + " -I " + root / "src/hyperlight_guest/third_party/musl/include/" + " -I " + root / "src/hyperlight_guest/third_party/musl/arch/x86_64" + " -I " + root / "src/hyperlight_guest/third_party/printf" +c-include-flags-elf := "-I " + root / "src/hyperlight_guest_capi/include/" + " -I " + root / "src/hyperlight_guest_bin/third_party/musl/include/" + " -I " + root / "src/hyperlight_guest_bin/third_party/musl/arch/x86_64" + " -I " + root / "src/hyperlight_guest_bin/third_party/printf" c-linker-options-elf := '--entry "entrypoint" --nostdlib -pie' c-flags-debug-elf := '-O0' c-flags-release-elf := '-O3' diff --git a/src/hyperlight_guest/Cargo.toml b/src/hyperlight_guest/Cargo.toml index 1a7ff7d71..7178cfa10 100644 --- a/src/hyperlight_guest/Cargo.toml +++ b/src/hyperlight_guest/Cargo.toml @@ -1,6 +1,5 @@ [package] name = "hyperlight-guest" -links = "c" version.workspace = true edition.workspace = true rust-version.workspace = true @@ -12,17 +11,7 @@ description = """ Library to build guest applications for hyperlight. """ -[features] -default = ["libc", "printf"] -libc = [] # compile musl libc -printf = [] # compile printf - [dependencies] anyhow = { version = "1.0.98", default-features = false } serde_json = { version = "1.0", default-features = false, features = ["alloc"] } hyperlight-common = { workspace = true } - -[build-dependencies] -cc = "1.2" -cfg-if = "1.0" -glob = "0.3.2" \ No newline at end of file diff --git a/src/hyperlight_guest_bin/Cargo.toml b/src/hyperlight_guest_bin/Cargo.toml index d91fbc11a..10038211f 100644 --- a/src/hyperlight_guest_bin/Cargo.toml +++ b/src/hyperlight_guest_bin/Cargo.toml @@ -1,5 +1,6 @@ [package] name = "hyperlight-guest-bin" +links = "c" version.workspace = true edition.workspace = true rust-version.workspace = true @@ -8,6 +9,11 @@ homepage.workspace = true repository.workspace = true readme.workspace = true +[features] +default = ["libc", "printf"] +libc = [] # compile musl libc +printf = [] # compile printf + [dependencies] hyperlight-guest = { workspace = true, default-features = false } hyperlight-common = { workspace = true, default-features = false } @@ -17,3 +23,8 @@ spin = "0.10.0" [lints] workspace = true + +[build-dependencies] +cc = "1.2" +cfg-if = "1.0" +glob = "0.3.2" diff --git a/src/hyperlight_guest/build.rs b/src/hyperlight_guest_bin/build.rs similarity index 99% rename from src/hyperlight_guest/build.rs rename to src/hyperlight_guest_bin/build.rs index 7e3eb1d38..96e4dc107 100644 --- a/src/hyperlight_guest/build.rs +++ b/src/hyperlight_guest_bin/build.rs @@ -109,8 +109,7 @@ fn cargo_main() { unsafe { env::set_var("AR_x86_64_pc_windows_msvc", "llvm-lib") }; } - // TODO(danbugs): update this when I'm done w/ the move. - cfg.compile("hyperlight_guest"); + cfg.compile("hyperlight_guest_bin"); } let out_dir = env::var("OUT_DIR").expect("cargo OUT_DIR not set"); diff --git a/src/hyperlight_guest_bin/src/guest_err.rs b/src/hyperlight_guest_bin/src/guest_err.rs index 6c082b528..d166bdacb 100644 --- a/src/hyperlight_guest_bin/src/guest_err.rs +++ b/src/hyperlight_guest_bin/src/guest_err.rs @@ -21,7 +21,6 @@ use hyperlight_guest::exit::halt; use crate::GUEST_HANDLE; -// TODO(danbugs): move this to `hyperlight_guest_bin` /// Exposes a C API to allow the guest to set an error /// /// # Safety diff --git a/src/hyperlight_guest/third_party/README.md b/src/hyperlight_guest_bin/third_party/README.md similarity index 100% rename from src/hyperlight_guest/third_party/README.md rename to src/hyperlight_guest_bin/third_party/README.md diff --git a/src/hyperlight_guest/third_party/musl/COPYRIGHT b/src/hyperlight_guest_bin/third_party/musl/COPYRIGHT similarity index 100% rename from src/hyperlight_guest/third_party/musl/COPYRIGHT rename to src/hyperlight_guest_bin/third_party/musl/COPYRIGHT diff --git a/src/hyperlight_guest/third_party/musl/README b/src/hyperlight_guest_bin/third_party/musl/README similarity index 100% rename from src/hyperlight_guest/third_party/musl/README rename to src/hyperlight_guest_bin/third_party/musl/README diff --git a/src/hyperlight_guest/third_party/musl/arch/generic/bits/errno.h b/src/hyperlight_guest_bin/third_party/musl/arch/generic/bits/errno.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/generic/bits/errno.h rename to src/hyperlight_guest_bin/third_party/musl/arch/generic/bits/errno.h diff --git a/src/hyperlight_guest/third_party/musl/arch/generic/fp_arch.h b/src/hyperlight_guest_bin/third_party/musl/arch/generic/fp_arch.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/generic/fp_arch.h rename to src/hyperlight_guest_bin/third_party/musl/arch/generic/fp_arch.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/atomic_arch.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/atomic_arch.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/atomic_arch.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/atomic_arch.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/alltypes.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/alltypes.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/alltypes.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/alltypes.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/fenv.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/fenv.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/fenv.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/fenv.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/float.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/float.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/float.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/float.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/io.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/io.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/io.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/io.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/limits.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/limits.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/limits.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/limits.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/mman.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/mman.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/mman.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/mman.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/posix.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/posix.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/posix.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/posix.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/ptrace.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/ptrace.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/ptrace.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/ptrace.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/reg.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/reg.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/reg.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/reg.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/setjmp.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/setjmp.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/setjmp.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/setjmp.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/bits/stdint.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/stdint.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/bits/stdint.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/bits/stdint.h diff --git a/src/hyperlight_guest/third_party/musl/arch/x86_64/reloc.h b/src/hyperlight_guest_bin/third_party/musl/arch/x86_64/reloc.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/arch/x86_64/reloc.h rename to src/hyperlight_guest_bin/third_party/musl/arch/x86_64/reloc.h diff --git a/src/hyperlight_guest/third_party/musl/include/alloca.h b/src/hyperlight_guest_bin/third_party/musl/include/alloca.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/alloca.h rename to src/hyperlight_guest_bin/third_party/musl/include/alloca.h diff --git a/src/hyperlight_guest/third_party/musl/include/assert.h b/src/hyperlight_guest_bin/third_party/musl/include/assert.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/assert.h rename to src/hyperlight_guest_bin/third_party/musl/include/assert.h diff --git a/src/hyperlight_guest/third_party/musl/include/byteswap.h b/src/hyperlight_guest_bin/third_party/musl/include/byteswap.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/byteswap.h rename to src/hyperlight_guest_bin/third_party/musl/include/byteswap.h diff --git a/src/hyperlight_guest/third_party/musl/include/complex.h b/src/hyperlight_guest_bin/third_party/musl/include/complex.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/complex.h rename to src/hyperlight_guest_bin/third_party/musl/include/complex.h diff --git a/src/hyperlight_guest/third_party/musl/include/ctype.h b/src/hyperlight_guest_bin/third_party/musl/include/ctype.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/ctype.h rename to src/hyperlight_guest_bin/third_party/musl/include/ctype.h diff --git a/src/hyperlight_guest/third_party/musl/include/endian.h b/src/hyperlight_guest_bin/third_party/musl/include/endian.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/endian.h rename to src/hyperlight_guest_bin/third_party/musl/include/endian.h diff --git a/src/hyperlight_guest/third_party/musl/include/errno.h b/src/hyperlight_guest_bin/third_party/musl/include/errno.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/errno.h rename to src/hyperlight_guest_bin/third_party/musl/include/errno.h diff --git a/src/hyperlight_guest/third_party/musl/include/features.h b/src/hyperlight_guest_bin/third_party/musl/include/features.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/features.h rename to src/hyperlight_guest_bin/third_party/musl/include/features.h diff --git a/src/hyperlight_guest/third_party/musl/include/fenv.h b/src/hyperlight_guest_bin/third_party/musl/include/fenv.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/fenv.h rename to src/hyperlight_guest_bin/third_party/musl/include/fenv.h diff --git a/src/hyperlight_guest/third_party/musl/include/float.h b/src/hyperlight_guest_bin/third_party/musl/include/float.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/float.h rename to src/hyperlight_guest_bin/third_party/musl/include/float.h diff --git a/src/hyperlight_guest/third_party/musl/include/inttypes.h b/src/hyperlight_guest_bin/third_party/musl/include/inttypes.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/inttypes.h rename to src/hyperlight_guest_bin/third_party/musl/include/inttypes.h diff --git a/src/hyperlight_guest/third_party/musl/include/libgen.h b/src/hyperlight_guest_bin/third_party/musl/include/libgen.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/libgen.h rename to src/hyperlight_guest_bin/third_party/musl/include/libgen.h diff --git a/src/hyperlight_guest/third_party/musl/include/limits.h b/src/hyperlight_guest_bin/third_party/musl/include/limits.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/limits.h rename to src/hyperlight_guest_bin/third_party/musl/include/limits.h diff --git a/src/hyperlight_guest/third_party/musl/include/math.h b/src/hyperlight_guest_bin/third_party/musl/include/math.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/math.h rename to src/hyperlight_guest_bin/third_party/musl/include/math.h diff --git a/src/hyperlight_guest/third_party/musl/include/memory.h b/src/hyperlight_guest_bin/third_party/musl/include/memory.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/memory.h rename to src/hyperlight_guest_bin/third_party/musl/include/memory.h diff --git a/src/hyperlight_guest/third_party/musl/include/setjmp.h b/src/hyperlight_guest_bin/third_party/musl/include/setjmp.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/setjmp.h rename to src/hyperlight_guest_bin/third_party/musl/include/setjmp.h diff --git a/src/hyperlight_guest/third_party/musl/include/stdarg.h b/src/hyperlight_guest_bin/third_party/musl/include/stdarg.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/stdarg.h rename to src/hyperlight_guest_bin/third_party/musl/include/stdarg.h diff --git a/src/hyperlight_guest/third_party/musl/include/stdbool.h b/src/hyperlight_guest_bin/third_party/musl/include/stdbool.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/stdbool.h rename to src/hyperlight_guest_bin/third_party/musl/include/stdbool.h diff --git a/src/hyperlight_guest/third_party/musl/include/stddef.h b/src/hyperlight_guest_bin/third_party/musl/include/stddef.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/stddef.h rename to src/hyperlight_guest_bin/third_party/musl/include/stddef.h diff --git a/src/hyperlight_guest/third_party/musl/include/stdint.h b/src/hyperlight_guest_bin/third_party/musl/include/stdint.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/stdint.h rename to src/hyperlight_guest_bin/third_party/musl/include/stdint.h diff --git a/src/hyperlight_guest/third_party/musl/include/stdio.h b/src/hyperlight_guest_bin/third_party/musl/include/stdio.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/stdio.h rename to src/hyperlight_guest_bin/third_party/musl/include/stdio.h diff --git a/src/hyperlight_guest/third_party/musl/include/stdlib.h b/src/hyperlight_guest_bin/third_party/musl/include/stdlib.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/stdlib.h rename to src/hyperlight_guest_bin/third_party/musl/include/stdlib.h diff --git a/src/hyperlight_guest/third_party/musl/include/string.h b/src/hyperlight_guest_bin/third_party/musl/include/string.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/string.h rename to src/hyperlight_guest_bin/third_party/musl/include/string.h diff --git a/src/hyperlight_guest/third_party/musl/include/strings.h b/src/hyperlight_guest_bin/third_party/musl/include/strings.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/strings.h rename to src/hyperlight_guest_bin/third_party/musl/include/strings.h diff --git a/src/hyperlight_guest/third_party/musl/include/sys/select.h b/src/hyperlight_guest_bin/third_party/musl/include/sys/select.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/sys/select.h rename to src/hyperlight_guest_bin/third_party/musl/include/sys/select.h diff --git a/src/hyperlight_guest/third_party/musl/include/sys/time.h b/src/hyperlight_guest_bin/third_party/musl/include/sys/time.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/sys/time.h rename to src/hyperlight_guest_bin/third_party/musl/include/sys/time.h diff --git a/src/hyperlight_guest/third_party/musl/include/sys/types.h b/src/hyperlight_guest_bin/third_party/musl/include/sys/types.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/sys/types.h rename to src/hyperlight_guest_bin/third_party/musl/include/sys/types.h diff --git a/src/hyperlight_guest/third_party/musl/include/tar.h b/src/hyperlight_guest_bin/third_party/musl/include/tar.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/tar.h rename to src/hyperlight_guest_bin/third_party/musl/include/tar.h diff --git a/src/hyperlight_guest/third_party/musl/include/time.h b/src/hyperlight_guest_bin/third_party/musl/include/time.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/time.h rename to src/hyperlight_guest_bin/third_party/musl/include/time.h diff --git a/src/hyperlight_guest/third_party/musl/include/wchar.h b/src/hyperlight_guest_bin/third_party/musl/include/wchar.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/wchar.h rename to src/hyperlight_guest_bin/third_party/musl/include/wchar.h diff --git a/src/hyperlight_guest/third_party/musl/include/wctype.h b/src/hyperlight_guest_bin/third_party/musl/include/wctype.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/include/wctype.h rename to src/hyperlight_guest_bin/third_party/musl/include/wctype.h diff --git a/src/hyperlight_guest/third_party/musl/src/complex/__cexp.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/__cexp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/__cexp.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/__cexp.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/__cexpf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/__cexpf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/__cexpf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/__cexpf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cabs.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cabs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cabs.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cabs.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cabsf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cabsf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cabsf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cabsf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cabsl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cabsl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cabsl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cabsl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cacos.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cacos.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cacos.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cacos.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cacosf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cacosf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cacosf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cacosf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cacosh.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cacosh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cacosh.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cacosh.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cacoshf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cacoshf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cacoshf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cacoshf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cacoshl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cacoshl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cacoshl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cacoshl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cacosl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cacosl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cacosl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cacosl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/carg.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/carg.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/carg.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/carg.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cargf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cargf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cargf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cargf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cargl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cargl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cargl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cargl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/casin.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/casin.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/casin.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/casin.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/casinf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/casinf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/casinf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/casinf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/casinh.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/casinh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/casinh.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/casinh.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/casinhf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/casinhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/casinhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/casinhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/casinhl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/casinhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/casinhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/casinhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/casinl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/casinl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/casinl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/casinl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/catan.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/catan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/catan.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/catan.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/catanf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/catanf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/catanf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/catanf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/catanh.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/catanh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/catanh.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/catanh.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/catanhf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/catanhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/catanhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/catanhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/catanhl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/catanhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/catanhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/catanhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/catanl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/catanl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/catanl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/catanl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ccos.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ccos.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ccos.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ccos.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ccosf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ccosf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ccosf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ccosf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ccosh.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ccosh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ccosh.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ccosh.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ccoshf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ccoshf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ccoshf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ccoshf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ccoshl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ccoshl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ccoshl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ccoshl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ccosl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ccosl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ccosl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ccosl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cexp.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cexp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cexp.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cexp.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cexpf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cexpf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cexpf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cexpf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cexpl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cexpl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cexpl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cexpl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cimag.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cimag.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cimag.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cimag.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cimagf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cimagf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cimagf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cimagf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cimagl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cimagl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cimagl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cimagl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/clog.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/clog.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/clog.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/clog.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/clogf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/clogf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/clogf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/clogf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/clogl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/clogl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/clogl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/clogl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/conj.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/conj.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/conj.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/conj.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/conjf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/conjf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/conjf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/conjf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/conjl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/conjl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/conjl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/conjl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cpow.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cpow.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cpow.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cpow.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cpowf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cpowf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cpowf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cpowf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cpowl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cpowl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cpowl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cpowl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cproj.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cproj.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cproj.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cproj.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cprojf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cprojf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cprojf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cprojf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/cprojl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/cprojl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/cprojl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/cprojl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/creal.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/creal.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/creal.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/creal.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/crealf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/crealf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/crealf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/crealf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/creall.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/creall.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/creall.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/creall.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csin.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csin.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csin.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csin.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csinf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csinf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csinf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csinf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csinh.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csinh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csinh.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csinh.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csinhf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csinhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csinhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csinhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csinhl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csinhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csinhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csinhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csinl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csinl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csinl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csinl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csqrt.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csqrt.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csqrt.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csqrt.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csqrtf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csqrtf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csqrtf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csqrtf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/csqrtl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/csqrtl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/csqrtl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/csqrtl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ctan.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ctan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ctan.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ctan.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ctanf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ctanf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ctanf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ctanf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ctanh.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ctanh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ctanh.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ctanh.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ctanhf.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ctanhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ctanhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ctanhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ctanhl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ctanhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ctanhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ctanhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/complex/ctanl.c b/src/hyperlight_guest_bin/third_party/musl/src/complex/ctanl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/complex/ctanl.c rename to src/hyperlight_guest_bin/third_party/musl/src/complex/ctanl.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isalnum.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isalnum.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isalnum.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isalnum.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isalpha.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isalpha.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isalpha.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isalpha.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isdigit.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isdigit.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isdigit.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isdigit.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isgraph.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isgraph.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isgraph.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isgraph.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/islower.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/islower.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/islower.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/islower.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isprint.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isprint.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isprint.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isprint.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isspace.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isspace.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isspace.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isspace.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isupper.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isupper.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isupper.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isupper.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/isxdigit.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/isxdigit.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/isxdigit.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/isxdigit.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/tolower.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/tolower.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/tolower.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/tolower.c diff --git a/src/hyperlight_guest/third_party/musl/src/ctype/toupper.c b/src/hyperlight_guest_bin/third_party/musl/src/ctype/toupper.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/ctype/toupper.c rename to src/hyperlight_guest_bin/third_party/musl/src/ctype/toupper.c diff --git a/src/hyperlight_guest/third_party/musl/src/errno/__errno_location.c b/src/hyperlight_guest_bin/third_party/musl/src/errno/__errno_location.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/errno/__errno_location.c rename to src/hyperlight_guest_bin/third_party/musl/src/errno/__errno_location.c diff --git a/src/hyperlight_guest/third_party/musl/src/exit/assert.c b/src/hyperlight_guest_bin/third_party/musl/src/exit/assert.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/exit/assert.c rename to src/hyperlight_guest_bin/third_party/musl/src/exit/assert.c diff --git a/src/hyperlight_guest/third_party/musl/src/fenv/__flt_rounds.c b/src/hyperlight_guest_bin/third_party/musl/src/fenv/__flt_rounds.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/fenv/__flt_rounds.c rename to src/hyperlight_guest_bin/third_party/musl/src/fenv/__flt_rounds.c diff --git a/src/hyperlight_guest/third_party/musl/src/fenv/fegetexceptflag.c b/src/hyperlight_guest_bin/third_party/musl/src/fenv/fegetexceptflag.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/fenv/fegetexceptflag.c rename to src/hyperlight_guest_bin/third_party/musl/src/fenv/fegetexceptflag.c diff --git a/src/hyperlight_guest/third_party/musl/src/fenv/feholdexcept.c b/src/hyperlight_guest_bin/third_party/musl/src/fenv/feholdexcept.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/fenv/feholdexcept.c rename to src/hyperlight_guest_bin/third_party/musl/src/fenv/feholdexcept.c diff --git a/src/hyperlight_guest/third_party/musl/src/fenv/fesetexceptflag.c b/src/hyperlight_guest_bin/third_party/musl/src/fenv/fesetexceptflag.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/fenv/fesetexceptflag.c rename to src/hyperlight_guest_bin/third_party/musl/src/fenv/fesetexceptflag.c diff --git a/src/hyperlight_guest/third_party/musl/src/fenv/fesetround.c b/src/hyperlight_guest_bin/third_party/musl/src/fenv/fesetround.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/fenv/fesetround.c rename to src/hyperlight_guest_bin/third_party/musl/src/fenv/fesetround.c diff --git a/src/hyperlight_guest/third_party/musl/src/fenv/feupdateenv.c b/src/hyperlight_guest_bin/third_party/musl/src/fenv/feupdateenv.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/fenv/feupdateenv.c rename to src/hyperlight_guest_bin/third_party/musl/src/fenv/feupdateenv.c diff --git a/src/hyperlight_guest/third_party/musl/src/fenv/x86_64/fenv.s b/src/hyperlight_guest_bin/third_party/musl/src/fenv/x86_64/fenv.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/fenv/x86_64/fenv.s rename to src/hyperlight_guest_bin/third_party/musl/src/fenv/x86_64/fenv.s diff --git a/src/hyperlight_guest/third_party/musl/src/include/errno.h b/src/hyperlight_guest_bin/third_party/musl/src/include/errno.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/include/errno.h rename to src/hyperlight_guest_bin/third_party/musl/src/include/errno.h diff --git a/src/hyperlight_guest/third_party/musl/src/include/features.h b/src/hyperlight_guest_bin/third_party/musl/src/include/features.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/include/features.h rename to src/hyperlight_guest_bin/third_party/musl/src/include/features.h diff --git a/src/hyperlight_guest/third_party/musl/src/include/stdlib.h b/src/hyperlight_guest_bin/third_party/musl/src/include/stdlib.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/include/stdlib.h rename to src/hyperlight_guest_bin/third_party/musl/src/include/stdlib.h diff --git a/src/hyperlight_guest/third_party/musl/src/include/string.h b/src/hyperlight_guest_bin/third_party/musl/src/include/string.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/include/string.h rename to src/hyperlight_guest_bin/third_party/musl/src/include/string.h diff --git a/src/hyperlight_guest/third_party/musl/src/include/sys/time.h b/src/hyperlight_guest_bin/third_party/musl/src/include/sys/time.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/include/sys/time.h rename to src/hyperlight_guest_bin/third_party/musl/src/include/sys/time.h diff --git a/src/hyperlight_guest/third_party/musl/src/include/time.h b/src/hyperlight_guest_bin/third_party/musl/src/include/time.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/include/time.h rename to src/hyperlight_guest_bin/third_party/musl/src/include/time.h diff --git a/src/hyperlight_guest/third_party/musl/src/internal/atomic.h b/src/hyperlight_guest_bin/third_party/musl/src/internal/atomic.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/atomic.h rename to src/hyperlight_guest_bin/third_party/musl/src/internal/atomic.h diff --git a/src/hyperlight_guest/third_party/musl/src/internal/complex_impl.h b/src/hyperlight_guest_bin/third_party/musl/src/internal/complex_impl.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/complex_impl.h rename to src/hyperlight_guest_bin/third_party/musl/src/internal/complex_impl.h diff --git a/src/hyperlight_guest/third_party/musl/src/internal/floatscan.c b/src/hyperlight_guest_bin/third_party/musl/src/internal/floatscan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/floatscan.c rename to src/hyperlight_guest_bin/third_party/musl/src/internal/floatscan.c diff --git a/src/hyperlight_guest/third_party/musl/src/internal/floatscan.h b/src/hyperlight_guest_bin/third_party/musl/src/internal/floatscan.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/floatscan.h rename to src/hyperlight_guest_bin/third_party/musl/src/internal/floatscan.h diff --git a/src/hyperlight_guest/third_party/musl/src/internal/intscan.c b/src/hyperlight_guest_bin/third_party/musl/src/internal/intscan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/intscan.c rename to src/hyperlight_guest_bin/third_party/musl/src/internal/intscan.c diff --git a/src/hyperlight_guest/third_party/musl/src/internal/intscan.h b/src/hyperlight_guest_bin/third_party/musl/src/internal/intscan.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/intscan.h rename to src/hyperlight_guest_bin/third_party/musl/src/internal/intscan.h diff --git a/src/hyperlight_guest/third_party/musl/src/internal/libm.h b/src/hyperlight_guest_bin/third_party/musl/src/internal/libm.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/libm.h rename to src/hyperlight_guest_bin/third_party/musl/src/internal/libm.h diff --git a/src/hyperlight_guest/third_party/musl/src/internal/shgetc.c b/src/hyperlight_guest_bin/third_party/musl/src/internal/shgetc.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/shgetc.c rename to src/hyperlight_guest_bin/third_party/musl/src/internal/shgetc.c diff --git a/src/hyperlight_guest/third_party/musl/src/internal/shgetc.h b/src/hyperlight_guest_bin/third_party/musl/src/internal/shgetc.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/shgetc.h rename to src/hyperlight_guest_bin/third_party/musl/src/internal/shgetc.h diff --git a/src/hyperlight_guest/third_party/musl/src/internal/stdio_impl.h b/src/hyperlight_guest_bin/third_party/musl/src/internal/stdio_impl.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/internal/stdio_impl.h rename to src/hyperlight_guest_bin/third_party/musl/src/internal/stdio_impl.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/__cos.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__cos.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__cos.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__cos.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__cosdf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__cosdf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__cosdf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__cosdf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__cosl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__cosl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__cosl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__cosl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__expo2.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__expo2.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__expo2.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__expo2.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__expo2f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__expo2f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__expo2f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__expo2f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__fpclassify.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__fpclassify.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__fpclassify.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__fpclassify.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__fpclassifyf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__fpclassifyf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__fpclassifyf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__fpclassifyf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__fpclassifyl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__fpclassifyl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__fpclassifyl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__fpclassifyl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__invtrigl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__invtrigl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__invtrigl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__invtrigl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__invtrigl.h b/src/hyperlight_guest_bin/third_party/musl/src/math/__invtrigl.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__invtrigl.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/__invtrigl.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_divzero.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_divzero.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_divzero.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_divzero.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_divzerof.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_divzerof.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_divzerof.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_divzerof.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_invalid.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_invalid.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_invalid.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_invalid.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_invalidf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_invalidf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_invalidf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_invalidf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_invalidl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_invalidl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_invalidl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_invalidl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_oflow.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_oflow.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_oflow.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_oflow.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_oflowf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_oflowf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_oflowf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_oflowf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_uflow.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_uflow.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_uflow.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_uflow.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_uflowf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_uflowf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_uflowf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_uflowf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_xflow.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_xflow.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_xflow.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_xflow.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__math_xflowf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__math_xflowf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__math_xflowf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__math_xflowf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__polevll.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__polevll.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__polevll.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__polevll.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__rem_pio2.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__rem_pio2.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__rem_pio2_large.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2_large.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__rem_pio2_large.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2_large.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__rem_pio2f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__rem_pio2f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__rem_pio2l.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__rem_pio2l.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__rem_pio2l.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__signbit.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__signbit.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__signbit.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__signbit.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__signbitf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__signbitf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__signbitf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__signbitf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__signbitl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__signbitl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__signbitl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__signbitl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__sin.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__sin.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__sin.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__sin.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__sindf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__sindf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__sindf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__sindf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__sinl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__sinl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__sinl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__sinl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__tan.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__tan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__tan.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__tan.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__tandf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__tandf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__tandf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__tandf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/__tanl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/__tanl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/__tanl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/__tanl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/acos.c b/src/hyperlight_guest_bin/third_party/musl/src/math/acos.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/acos.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/acos.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/acosf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/acosf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/acosf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/acosf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/acosh.c b/src/hyperlight_guest_bin/third_party/musl/src/math/acosh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/acosh.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/acosh.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/acoshf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/acoshf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/acoshf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/acoshf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/acoshl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/acoshl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/acoshl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/acoshl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/acosl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/acosl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/acosl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/acosl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/asin.c b/src/hyperlight_guest_bin/third_party/musl/src/math/asin.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/asin.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/asin.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/asinf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/asinf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/asinf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/asinf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/asinh.c b/src/hyperlight_guest_bin/third_party/musl/src/math/asinh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/asinh.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/asinh.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/asinhf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/asinhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/asinhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/asinhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/asinhl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/asinhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/asinhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/asinhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/asinl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/asinl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/asinl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/asinl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atan.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atan.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atan.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atan2.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atan2.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atan2.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atan2.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atan2f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atan2f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atan2f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atan2f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atan2l.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atan2l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atan2l.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atan2l.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atanf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atanf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atanf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atanf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atanh.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atanh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atanh.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atanh.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atanhf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atanhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atanhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atanhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atanhl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atanhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atanhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atanhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/atanl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/atanl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/atanl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/atanl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/cbrt.c b/src/hyperlight_guest_bin/third_party/musl/src/math/cbrt.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/cbrt.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/cbrt.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/cbrtf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/cbrtf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/cbrtf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/cbrtf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/cbrtl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/cbrtl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/cbrtl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/cbrtl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ceil.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ceil.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ceil.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ceil.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ceilf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ceilf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ceilf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ceilf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ceill.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ceill.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ceill.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ceill.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/copysign.c b/src/hyperlight_guest_bin/third_party/musl/src/math/copysign.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/copysign.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/copysign.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/copysignf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/copysignf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/copysignf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/copysignf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/copysignl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/copysignl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/copysignl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/copysignl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/cos.c b/src/hyperlight_guest_bin/third_party/musl/src/math/cos.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/cos.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/cos.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/cosf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/cosf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/cosf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/cosf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/cosh.c b/src/hyperlight_guest_bin/third_party/musl/src/math/cosh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/cosh.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/cosh.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/coshf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/coshf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/coshf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/coshf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/coshl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/coshl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/coshl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/coshl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/cosl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/cosl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/cosl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/cosl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/erf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/erf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/erf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/erf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/erff.c b/src/hyperlight_guest_bin/third_party/musl/src/math/erff.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/erff.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/erff.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/erfl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/erfl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/erfl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/erfl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp10.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp10.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp10.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp10.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp10f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp10f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp10f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp10f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp10l.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp10l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp10l.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp10l.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp2.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp2.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp2.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp2.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp2f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp2f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp2f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp2f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp2f_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp2f_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp2f_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp2f_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp2f_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/exp2f_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp2f_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp2f_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp2l.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp2l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp2l.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp2l.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/exp_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/exp_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/exp_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/exp_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/exp_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/expf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/expf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/expf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/expf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/expl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/expl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/expl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/expl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/expm1.c b/src/hyperlight_guest_bin/third_party/musl/src/math/expm1.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/expm1.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/expm1.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/expm1f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/expm1f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/expm1f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/expm1f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/expm1l.c b/src/hyperlight_guest_bin/third_party/musl/src/math/expm1l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/expm1l.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/expm1l.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fabs.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fabs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fabs.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fabs.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fabsf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fabsf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fabsf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fabsf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fabsl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fabsl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fabsl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fabsl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fdim.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fdim.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fdim.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fdim.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fdimf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fdimf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fdimf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fdimf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fdiml.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fdiml.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fdiml.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fdiml.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/finite.c b/src/hyperlight_guest_bin/third_party/musl/src/math/finite.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/finite.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/finite.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/finitef.c b/src/hyperlight_guest_bin/third_party/musl/src/math/finitef.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/finitef.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/finitef.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/floor.c b/src/hyperlight_guest_bin/third_party/musl/src/math/floor.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/floor.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/floor.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/floorf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/floorf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/floorf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/floorf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/floorl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/floorl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/floorl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/floorl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fma.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fma.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fma.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fma.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmaf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmaf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmaf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmaf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmal.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmal.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmal.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmal.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmax.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmax.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmax.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmax.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmaxf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmaxf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmaxf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmaxf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmaxl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmaxl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmaxl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmaxl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmin.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmin.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmin.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmin.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fminf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fminf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fminf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fminf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fminl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fminl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fminl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fminl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmod.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmod.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmod.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmod.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmodf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmodf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmodf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmodf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/fmodl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/fmodl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/fmodl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/fmodl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/frexp.c b/src/hyperlight_guest_bin/third_party/musl/src/math/frexp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/frexp.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/frexp.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/frexpf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/frexpf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/frexpf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/frexpf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/frexpl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/frexpl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/frexpl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/frexpl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/hypot.c b/src/hyperlight_guest_bin/third_party/musl/src/math/hypot.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/hypot.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/hypot.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/hypotf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/hypotf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/hypotf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/hypotf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/hypotl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/hypotl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/hypotl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/hypotl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ilogb.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ilogb.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ilogb.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ilogb.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ilogbf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ilogbf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ilogbf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ilogbf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ilogbl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ilogbl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ilogbl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ilogbl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/j0.c b/src/hyperlight_guest_bin/third_party/musl/src/math/j0.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/j0.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/j0.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/j0f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/j0f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/j0f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/j0f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/j1.c b/src/hyperlight_guest_bin/third_party/musl/src/math/j1.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/j1.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/j1.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/j1f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/j1f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/j1f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/j1f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/jn.c b/src/hyperlight_guest_bin/third_party/musl/src/math/jn.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/jn.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/jn.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/jnf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/jnf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/jnf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/jnf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ldexp.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ldexp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ldexp.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ldexp.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ldexpf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ldexpf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ldexpf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ldexpf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/ldexpl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/ldexpl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/ldexpl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/ldexpl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lgamma.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lgamma.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lgamma.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lgamma.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lgamma_r.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lgamma_r.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lgamma_r.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lgamma_r.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lgammaf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lgammaf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lgammaf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lgammaf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lgammaf_r.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lgammaf_r.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lgammaf_r.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lgammaf_r.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lgammal.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lgammal.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lgammal.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lgammal.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/llrint.c b/src/hyperlight_guest_bin/third_party/musl/src/math/llrint.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/llrint.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/llrint.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/llrintf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/llrintf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/llrintf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/llrintf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/llrintl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/llrintl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/llrintl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/llrintl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/llround.c b/src/hyperlight_guest_bin/third_party/musl/src/math/llround.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/llround.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/llround.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/llroundf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/llroundf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/llroundf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/llroundf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/llroundl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/llroundl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/llroundl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/llroundl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log10.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log10.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log10.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log10.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log10f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log10f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log10f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log10f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log10l.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log10l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log10l.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log10l.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log1p.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log1p.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log1p.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log1p.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log1pf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log1pf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log1pf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log1pf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log1pl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log1pl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log1pl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log1pl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log2.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log2.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log2.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log2.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log2_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log2_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log2_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log2_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log2_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/log2_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log2_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/log2_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/log2f.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log2f.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log2f.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log2f.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log2f_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log2f_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log2f_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log2f_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log2f_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/log2f_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log2f_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/log2f_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/log2l.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log2l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log2l.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log2l.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/log_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/log_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/log_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/log_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/log_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/log_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/logb.c b/src/hyperlight_guest_bin/third_party/musl/src/math/logb.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/logb.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/logb.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/logbf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/logbf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/logbf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/logbf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/logbl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/logbl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/logbl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/logbl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/logf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/logf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/logf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/logf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/logf_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/logf_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/logf_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/logf_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/logf_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/logf_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/logf_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/logf_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/logl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/logl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/logl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/logl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lrint.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lrint.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lrint.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lrint.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lrintf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lrintf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lrintf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lrintf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lrintl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lrintl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lrintl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lrintl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lround.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lround.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lround.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lround.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lroundf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lroundf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lroundf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lroundf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/lroundl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/lroundl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/lroundl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/lroundl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/modf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/modf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/modf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/modf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/modff.c b/src/hyperlight_guest_bin/third_party/musl/src/math/modff.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/modff.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/modff.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/modfl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/modfl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/modfl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/modfl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nan.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nan.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nan.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nanf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nanf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nanf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nanf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nanl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nanl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nanl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nanl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nearbyint.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nearbyint.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nearbyint.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nearbyint.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nearbyintf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nearbyintf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nearbyintf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nearbyintf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nearbyintl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nearbyintl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nearbyintl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nearbyintl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nextafter.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nextafter.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nextafter.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nextafter.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nextafterf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nextafterf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nextafterf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nextafterf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nextafterl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nextafterl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nextafterl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nextafterl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nexttoward.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nexttoward.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nexttoward.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nexttoward.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nexttowardf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nexttowardf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nexttowardf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nexttowardf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/nexttowardl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/nexttowardl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/nexttowardl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/nexttowardl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/pow.c b/src/hyperlight_guest_bin/third_party/musl/src/math/pow.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/pow.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/pow.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/pow_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/pow_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/pow_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/pow_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/pow_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/pow_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/pow_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/pow_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/powf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/powf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/powf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/powf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/powf_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/powf_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/powf_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/powf_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/powf_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/powf_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/powf_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/powf_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/powl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/powl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/powl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/powl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/remainder.c b/src/hyperlight_guest_bin/third_party/musl/src/math/remainder.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/remainder.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/remainder.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/remainderf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/remainderf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/remainderf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/remainderf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/remainderl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/remainderl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/remainderl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/remainderl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/remquo.c b/src/hyperlight_guest_bin/third_party/musl/src/math/remquo.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/remquo.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/remquo.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/remquof.c b/src/hyperlight_guest_bin/third_party/musl/src/math/remquof.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/remquof.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/remquof.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/remquol.c b/src/hyperlight_guest_bin/third_party/musl/src/math/remquol.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/remquol.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/remquol.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/rint.c b/src/hyperlight_guest_bin/third_party/musl/src/math/rint.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/rint.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/rint.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/rintf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/rintf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/rintf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/rintf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/rintl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/rintl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/rintl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/rintl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/round.c b/src/hyperlight_guest_bin/third_party/musl/src/math/round.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/round.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/round.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/roundf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/roundf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/roundf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/roundf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/roundl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/roundl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/roundl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/roundl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalb.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalb.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalb.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalb.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalbf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalbf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalbf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalbf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalbln.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalbln.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalbln.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalbln.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalblnf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalblnf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalblnf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalblnf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalblnl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalblnl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalblnl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalblnl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalbn.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalbn.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalbn.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalbn.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalbnf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalbnf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalbnf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalbnf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/scalbnl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/scalbnl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/scalbnl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/scalbnl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/signgam.c b/src/hyperlight_guest_bin/third_party/musl/src/math/signgam.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/signgam.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/signgam.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/significand.c b/src/hyperlight_guest_bin/third_party/musl/src/math/significand.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/significand.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/significand.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/significandf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/significandf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/significandf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/significandf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sin.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sin.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sin.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sin.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sincos.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sincos.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sincos.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sincos.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sincosf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sincosf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sincosf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sincosf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sincosl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sincosl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sincosl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sincosl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sinf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sinf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sinf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sinf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sinh.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sinh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sinh.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sinh.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sinhf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sinhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sinhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sinhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sinhl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sinhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sinhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sinhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sinl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sinl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sinl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sinl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sqrt.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sqrt.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sqrt.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sqrt.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sqrt_data.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sqrt_data.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sqrt_data.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sqrt_data.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sqrt_data.h b/src/hyperlight_guest_bin/third_party/musl/src/math/sqrt_data.h similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sqrt_data.h rename to src/hyperlight_guest_bin/third_party/musl/src/math/sqrt_data.h diff --git a/src/hyperlight_guest/third_party/musl/src/math/sqrtf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sqrtf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sqrtf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sqrtf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/sqrtl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/sqrtl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/sqrtl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/sqrtl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tan.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tan.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tan.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tan.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tanf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tanf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tanf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tanf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tanh.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tanh.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tanh.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tanh.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tanhf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tanhf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tanhf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tanhf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tanhl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tanhl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tanhl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tanhl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tanl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tanl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tanl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tanl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tgamma.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tgamma.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tgamma.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tgamma.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tgammaf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tgammaf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tgammaf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tgammaf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/tgammal.c b/src/hyperlight_guest_bin/third_party/musl/src/math/tgammal.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/tgammal.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/tgammal.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/trunc.c b/src/hyperlight_guest_bin/third_party/musl/src/math/trunc.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/trunc.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/trunc.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/truncf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/truncf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/truncf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/truncf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/truncl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/truncl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/truncl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/truncl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/__invtrigl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/__invtrigl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/__invtrigl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/__invtrigl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/acosl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/acosl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/acosl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/acosl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/asinl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/asinl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/asinl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/asinl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/atan2l.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/atan2l.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/atan2l.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/atan2l.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/atanl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/atanl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/atanl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/atanl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/ceill.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/ceill.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/ceill.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/ceill.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/exp2l.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/exp2l.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/exp2l.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/exp2l.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/expl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/expl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/expl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/expl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/expm1l.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/expm1l.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/expm1l.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/expm1l.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/fabs.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fabs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/fabs.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fabs.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/fabsf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fabsf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/fabsf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fabsf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/fabsl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fabsl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/fabsl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fabsl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/floorl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/floorl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/floorl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/floorl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/fma.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fma.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/fma.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fma.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/fmaf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fmaf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/fmaf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fmaf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/fmodl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fmodl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/fmodl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/fmodl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/llrint.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/llrint.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/llrint.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/llrint.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/llrintf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/llrintf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/llrintf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/llrintf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/llrintl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/llrintl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/llrintl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/llrintl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/log10l.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/log10l.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/log10l.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/log10l.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/log1pl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/log1pl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/log1pl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/log1pl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/log2l.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/log2l.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/log2l.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/log2l.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/logl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/logl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/logl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/logl.s diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/lrint.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/lrint.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/lrint.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/lrint.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/lrintf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/lrintf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/lrintf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/lrintf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/lrintl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/lrintl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/lrintl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/lrintl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/remainderl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/remainderl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/remainderl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/remainderl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/remquol.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/remquol.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/remquol.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/remquol.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/rintl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/rintl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/rintl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/rintl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/sqrt.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/sqrt.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/sqrt.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/sqrt.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/sqrtf.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/sqrtf.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/sqrtf.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/sqrtf.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/sqrtl.c b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/sqrtl.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/sqrtl.c rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/sqrtl.c diff --git a/src/hyperlight_guest/third_party/musl/src/math/x86_64/truncl.s b/src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/truncl.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/math/x86_64/truncl.s rename to src/hyperlight_guest_bin/third_party/musl/src/math/x86_64/truncl.s diff --git a/src/hyperlight_guest/third_party/musl/src/misc/a64l.c b/src/hyperlight_guest_bin/third_party/musl/src/misc/a64l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/misc/a64l.c rename to src/hyperlight_guest_bin/third_party/musl/src/misc/a64l.c diff --git a/src/hyperlight_guest/third_party/musl/src/misc/basename.c b/src/hyperlight_guest_bin/third_party/musl/src/misc/basename.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/misc/basename.c rename to src/hyperlight_guest_bin/third_party/musl/src/misc/basename.c diff --git a/src/hyperlight_guest/third_party/musl/src/misc/dirname.c b/src/hyperlight_guest_bin/third_party/musl/src/misc/dirname.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/misc/dirname.c rename to src/hyperlight_guest_bin/third_party/musl/src/misc/dirname.c diff --git a/src/hyperlight_guest/third_party/musl/src/prng/rand.c b/src/hyperlight_guest_bin/third_party/musl/src/prng/rand.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/prng/rand.c rename to src/hyperlight_guest_bin/third_party/musl/src/prng/rand.c diff --git a/src/hyperlight_guest/third_party/musl/src/setjmp/x86_64/longjmp.s b/src/hyperlight_guest_bin/third_party/musl/src/setjmp/x86_64/longjmp.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/setjmp/x86_64/longjmp.s rename to src/hyperlight_guest_bin/third_party/musl/src/setjmp/x86_64/longjmp.s diff --git a/src/hyperlight_guest/third_party/musl/src/setjmp/x86_64/setjmp.s b/src/hyperlight_guest_bin/third_party/musl/src/setjmp/x86_64/setjmp.s similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/setjmp/x86_64/setjmp.s rename to src/hyperlight_guest_bin/third_party/musl/src/setjmp/x86_64/setjmp.s diff --git a/src/hyperlight_guest/third_party/musl/src/stdio/__toread.c b/src/hyperlight_guest_bin/third_party/musl/src/stdio/__toread.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdio/__toread.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdio/__toread.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdio/__towrite.c b/src/hyperlight_guest_bin/third_party/musl/src/stdio/__towrite.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdio/__towrite.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdio/__towrite.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdio/__uflow.c b/src/hyperlight_guest_bin/third_party/musl/src/stdio/__uflow.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdio/__uflow.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdio/__uflow.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/abs.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/abs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/abs.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/abs.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/atof.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/atof.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/atof.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/atof.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/atoi.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/atoi.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/atoi.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/atoi.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/atol.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/atol.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/atol.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/atol.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/atoll.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/atoll.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/atoll.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/atoll.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/bsearch.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/bsearch.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/bsearch.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/bsearch.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/div.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/div.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/div.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/div.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/ecvt.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/ecvt.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/ecvt.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/ecvt.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/fcvt.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/fcvt.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/fcvt.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/fcvt.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/gcvt.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/gcvt.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/gcvt.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/gcvt.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/imaxabs.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/imaxabs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/imaxabs.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/imaxabs.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/imaxdiv.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/imaxdiv.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/imaxdiv.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/imaxdiv.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/labs.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/labs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/labs.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/labs.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/ldiv.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/ldiv.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/ldiv.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/ldiv.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/llabs.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/llabs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/llabs.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/llabs.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/lldiv.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/lldiv.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/lldiv.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/lldiv.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/qsort.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/qsort.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/qsort.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/qsort.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/qsort_nr.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/qsort_nr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/qsort_nr.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/qsort_nr.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/strtod.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/strtod.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/strtod.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/strtod.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/strtol.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/strtol.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/strtol.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/strtol.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/wcstod.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/wcstod.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/wcstod.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/wcstod.c diff --git a/src/hyperlight_guest/third_party/musl/src/stdlib/wcstol.c b/src/hyperlight_guest_bin/third_party/musl/src/stdlib/wcstol.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/stdlib/wcstol.c rename to src/hyperlight_guest_bin/third_party/musl/src/stdlib/wcstol.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/bcmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/bcmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/bcmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/bcmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/bcopy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/bcopy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/bcopy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/bcopy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/bzero.c b/src/hyperlight_guest_bin/third_party/musl/src/string/bzero.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/bzero.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/bzero.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/explicit_bzero.c b/src/hyperlight_guest_bin/third_party/musl/src/string/explicit_bzero.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/explicit_bzero.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/explicit_bzero.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/index.c b/src/hyperlight_guest_bin/third_party/musl/src/string/index.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/index.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/index.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memccpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memccpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memccpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memccpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memchr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memchr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memchr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memchr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memcmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memcmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memcmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memcmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memcpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memcpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memcpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memcpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memmem.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memmem.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memmem.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memmem.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memmove.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memmove.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memmove.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memmove.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/mempcpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/mempcpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/mempcpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/mempcpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memrchr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memrchr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memrchr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memrchr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/memset.c b/src/hyperlight_guest_bin/third_party/musl/src/string/memset.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/memset.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/memset.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/rindex.c b/src/hyperlight_guest_bin/third_party/musl/src/string/rindex.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/rindex.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/rindex.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/stpcpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/stpcpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/stpcpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/stpcpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/stpncpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/stpncpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/stpncpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/stpncpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strcasecmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strcasecmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strcasecmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strcasecmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strcasestr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strcasestr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strcasestr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strcasestr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strcat.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strcat.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strcat.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strcat.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strchr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strchr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strchr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strchr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strchrnul.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strchrnul.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strchrnul.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strchrnul.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strcmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strcmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strcmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strcmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strcpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strcpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strcpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strcpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strcspn.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strcspn.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strcspn.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strcspn.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strdup.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strdup.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strdup.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strdup.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strerror_r.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strerror_r.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strerror_r.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strerror_r.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strlcat.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strlcat.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strlcat.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strlcat.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strlcpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strlcpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strlcpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strlcpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strlen.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strlen.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strlen.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strlen.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strncasecmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strncasecmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strncasecmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strncasecmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strncat.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strncat.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strncat.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strncat.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strncmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strncmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strncmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strncmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strncpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strncpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strncpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strncpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strndup.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strndup.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strndup.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strndup.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strnlen.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strnlen.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strnlen.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strnlen.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strpbrk.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strpbrk.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strpbrk.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strpbrk.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strrchr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strrchr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strrchr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strrchr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strsep.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strsep.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strsep.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strsep.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strspn.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strspn.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strspn.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strspn.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strstr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strstr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strstr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strstr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strtok.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strtok.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strtok.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strtok.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strtok_r.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strtok_r.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strtok_r.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strtok_r.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/strverscmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/strverscmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/strverscmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/strverscmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcpcpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcpcpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcpcpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcpcpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcpncpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcpncpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcpncpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcpncpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcscasecmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcscasecmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcscasecmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcscasecmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcscasecmp_l.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcscasecmp_l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcscasecmp_l.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcscasecmp_l.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcscat.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcscat.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcscat.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcscat.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcschr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcschr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcschr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcschr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcscmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcscmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcscmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcscmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcscpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcscpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcscpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcscpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcscspn.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcscspn.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcscspn.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcscspn.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsdup.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsdup.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsdup.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsdup.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcslen.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcslen.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcslen.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcslen.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsncasecmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsncasecmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsncasecmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsncasecmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsncasecmp_l.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsncasecmp_l.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsncasecmp_l.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsncasecmp_l.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsncat.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsncat.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsncat.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsncat.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsncmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsncmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsncmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsncmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsncpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsncpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsncpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsncpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsnlen.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsnlen.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsnlen.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsnlen.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcspbrk.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcspbrk.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcspbrk.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcspbrk.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsrchr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsrchr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsrchr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsrchr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsspn.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsspn.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsspn.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsspn.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcsstr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcsstr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcsstr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcsstr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcstok.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcstok.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcstok.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcstok.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wcswcs.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wcswcs.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wcswcs.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wcswcs.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wmemchr.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wmemchr.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wmemchr.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wmemchr.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wmemcmp.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wmemcmp.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wmemcmp.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wmemcmp.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wmemcpy.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wmemcpy.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wmemcpy.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wmemcpy.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wmemmove.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wmemmove.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wmemmove.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wmemmove.c diff --git a/src/hyperlight_guest/third_party/musl/src/string/wmemset.c b/src/hyperlight_guest_bin/third_party/musl/src/string/wmemset.c similarity index 100% rename from src/hyperlight_guest/third_party/musl/src/string/wmemset.c rename to src/hyperlight_guest_bin/third_party/musl/src/string/wmemset.c diff --git a/src/hyperlight_guest/third_party/printf/.gitattributes b/src/hyperlight_guest_bin/third_party/printf/.gitattributes similarity index 100% rename from src/hyperlight_guest/third_party/printf/.gitattributes rename to src/hyperlight_guest_bin/third_party/printf/.gitattributes diff --git a/src/hyperlight_guest/third_party/printf/.travis.yml b/src/hyperlight_guest_bin/third_party/printf/.travis.yml similarity index 100% rename from src/hyperlight_guest/third_party/printf/.travis.yml rename to src/hyperlight_guest_bin/third_party/printf/.travis.yml diff --git a/src/hyperlight_guest/third_party/printf/LICENSE b/src/hyperlight_guest_bin/third_party/printf/LICENSE similarity index 100% rename from src/hyperlight_guest/third_party/printf/LICENSE rename to src/hyperlight_guest_bin/third_party/printf/LICENSE diff --git a/src/hyperlight_guest/third_party/printf/Makefile b/src/hyperlight_guest_bin/third_party/printf/Makefile similarity index 100% rename from src/hyperlight_guest/third_party/printf/Makefile rename to src/hyperlight_guest_bin/third_party/printf/Makefile diff --git a/src/hyperlight_guest/third_party/printf/README.md b/src/hyperlight_guest_bin/third_party/printf/README.md similarity index 100% rename from src/hyperlight_guest/third_party/printf/README.md rename to src/hyperlight_guest_bin/third_party/printf/README.md diff --git a/src/hyperlight_guest/third_party/printf/codecov.yml b/src/hyperlight_guest_bin/third_party/printf/codecov.yml similarity index 100% rename from src/hyperlight_guest/third_party/printf/codecov.yml rename to src/hyperlight_guest_bin/third_party/printf/codecov.yml diff --git a/src/hyperlight_guest/third_party/printf/printf.c b/src/hyperlight_guest_bin/third_party/printf/printf.c similarity index 100% rename from src/hyperlight_guest/third_party/printf/printf.c rename to src/hyperlight_guest_bin/third_party/printf/printf.c diff --git a/src/hyperlight_guest/third_party/printf/printf.h b/src/hyperlight_guest_bin/third_party/printf/printf.h similarity index 100% rename from src/hyperlight_guest/third_party/printf/printf.h rename to src/hyperlight_guest_bin/third_party/printf/printf.h diff --git a/src/hyperlight_guest/third_party/printf/printf.patch b/src/hyperlight_guest_bin/third_party/printf/printf.patch similarity index 100% rename from src/hyperlight_guest/third_party/printf/printf.patch rename to src/hyperlight_guest_bin/third_party/printf/printf.patch diff --git a/src/hyperlight_guest/third_party/printf/test/catch.hpp b/src/hyperlight_guest_bin/third_party/printf/test/catch.hpp similarity index 100% rename from src/hyperlight_guest/third_party/printf/test/catch.hpp rename to src/hyperlight_guest_bin/third_party/printf/test/catch.hpp diff --git a/src/hyperlight_guest/third_party/printf/test/test_suite.cpp b/src/hyperlight_guest_bin/third_party/printf/test/test_suite.cpp similarity index 100% rename from src/hyperlight_guest/third_party/printf/test/test_suite.cpp rename to src/hyperlight_guest_bin/third_party/printf/test/test_suite.cpp diff --git a/src/hyperlight_guest_capi/Cargo.toml b/src/hyperlight_guest_capi/Cargo.toml index da35e4458..66bc454ab 100644 --- a/src/hyperlight_guest_capi/Cargo.toml +++ b/src/hyperlight_guest_capi/Cargo.toml @@ -12,8 +12,8 @@ crate-type = ["staticlib"] workspace = true [dependencies] -hyperlight-guest = { workspace = true, default-features = true } -hyperlight-guest-bin = { workspace = true, default-features = false } +hyperlight-guest = { workspace = true, default-features = false } +hyperlight-guest-bin = { workspace = true, default-features = true } hyperlight-common = { workspace = true, default-features = false } log = { version = "0.4", default-features = false } diff --git a/src/hyperlight_guest_capi/cbindgen.toml b/src/hyperlight_guest_capi/cbindgen.toml index 9c59ff4c4..89a4b93de 100644 --- a/src/hyperlight_guest_capi/cbindgen.toml +++ b/src/hyperlight_guest_capi/cbindgen.toml @@ -10,8 +10,8 @@ header = "/* This file is automatically generated by cbindgen from hyperlight_gu [parse] parse_deps = true -include = ["hyperlight-guest", "log", "hyperlight-common"] -extra_bindings = ["hyperlight-guest"] +include = ["hyperlight-guest", "hyperlight-guest-bin", "log", "hyperlight-common"] +extra_bindings = ["hyperlight-guest-bin"] [enum] prefix_with_name = true diff --git a/src/hyperlight_guest_capi/src/lib.rs b/src/hyperlight_guest_capi/src/lib.rs index 8c98f007b..88011211d 100644 --- a/src/hyperlight_guest_capi/src/lib.rs +++ b/src/hyperlight_guest_capi/src/lib.rs @@ -3,10 +3,6 @@ extern crate alloc; -// TODO(danbugs): this is needed so the panic handler is actually brought in. -// We can remove it later once more functionality was moved to hyperlight-guest-bin -extern crate hyperlight_guest_bin; - pub mod dispatch; pub mod error; pub mod flatbuffer; diff --git a/src/tests/c_guests/c_callbackguest/main.c b/src/tests/c_guests/c_callbackguest/main.c index e51749745..e4fa2a678 100644 --- a/src/tests/c_guests/c_callbackguest/main.c +++ b/src/tests/c_guests/c_callbackguest/main.c @@ -1,11 +1,10 @@ // Included from hyperlight_guest_capi/include #include "hyperlight_guest.h" -// TODO(danbugs): update when I'm done w/ the move -// Included from hyperlight_guest/third_party/libc +// Included from hyperlight_guest_bin/third_party/libc #include "stdint.h" #include "stdio.h" #include "string.h" -// Included from hyperlight_guest/third_party/printf +// Included from hyperlight_guest_bin/third_party/printf #include "printf.h" int print_output(const char *message) { diff --git a/src/tests/c_guests/c_simpleguest/main.c b/src/tests/c_guests/c_simpleguest/main.c index 120604059..664b8441d 100644 --- a/src/tests/c_guests/c_simpleguest/main.c +++ b/src/tests/c_guests/c_simpleguest/main.c @@ -1,11 +1,10 @@ // Included from hyperlight_guest_capi/include #include "hyperlight_guest.h" -// TODO(danbugs): update when I'm done w/ the move -// Included from hyperlight_guest/third_party/libc +// Included from hyperlight_guest_bin/third_party/libc #include "stdint.h" #include "string.h" #include "stdlib.h" -// Included from hyperlight_guest/third_party/printf +// Included from hyperlight_guest_bin/third_party/printf #include "printf.h" #define GUEST_STACK_SIZE (65536) // default stack size diff --git a/src/tests/rust_guests/callbackguest/Cargo.lock b/src/tests/rust_guests/callbackguest/Cargo.lock index c8253cbc9..d2a844c76 100644 --- a/src/tests/rust_guests/callbackguest/Cargo.lock +++ b/src/tests/rust_guests/callbackguest/Cargo.lock @@ -40,9 +40,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.16" +version = "1.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" dependencies = [ "shlex", ] @@ -90,9 +90,6 @@ name = "hyperlight-guest" version = "0.5.0" dependencies = [ "anyhow", - "cc", - "cfg-if", - "glob", "hyperlight-common", "serde_json", ] @@ -102,6 +99,9 @@ name = "hyperlight-guest-bin" version = "0.4.0" dependencies = [ "buddy_system_allocator", + "cc", + "cfg-if", + "glob", "hyperlight-common", "hyperlight-guest", "log", diff --git a/src/tests/rust_guests/callbackguest/src/main.rs b/src/tests/rust_guests/callbackguest/src/main.rs index d242c7087..809adfefc 100644 --- a/src/tests/rust_guests/callbackguest/src/main.rs +++ b/src/tests/rust_guests/callbackguest/src/main.rs @@ -37,10 +37,6 @@ use hyperlight_guest_bin::guest_function::register::register_function; use hyperlight_guest_bin::guest_logger::log_message; use hyperlight_guest_bin::host_comm::{call_host_function, print_output_with_host_print}; -// TODO(danbugs): this is needed so the panic handler is actually brought in. -// We can remove it later once more functionality was moved to hyperlight-guest-bin -extern crate hyperlight_guest_bin; - fn send_message_to_host_method( method_name: &str, guest_message: &str, diff --git a/src/tests/rust_guests/simpleguest/Cargo.lock b/src/tests/rust_guests/simpleguest/Cargo.lock index bc5794169..a02b5e2b5 100644 --- a/src/tests/rust_guests/simpleguest/Cargo.lock +++ b/src/tests/rust_guests/simpleguest/Cargo.lock @@ -31,9 +31,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.16" +version = "1.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" dependencies = [ "shlex", ] @@ -81,9 +81,6 @@ name = "hyperlight-guest" version = "0.5.0" dependencies = [ "anyhow", - "cc", - "cfg-if", - "glob", "hyperlight-common", "serde_json", ] @@ -93,6 +90,9 @@ name = "hyperlight-guest-bin" version = "0.4.0" dependencies = [ "buddy_system_allocator", + "cc", + "cfg-if", + "glob", "hyperlight-common", "hyperlight-guest", "log", diff --git a/src/tests/rust_guests/simpleguest/src/main.rs b/src/tests/rust_guests/simpleguest/src/main.rs index f5232c3d8..3d6aa2b49 100644 --- a/src/tests/rust_guests/simpleguest/src/main.rs +++ b/src/tests/rust_guests/simpleguest/src/main.rs @@ -25,10 +25,6 @@ const MAX_BUFFER_SIZE: usize = 1024; extern crate alloc; -// TODO(danbugs): this is needed so the panic handler is actually brought in. -// We can remove it later once more functionality was moved to hyperlight-guest-bin -extern crate hyperlight_guest_bin; - use alloc::boxed::Box; use alloc::string::ToString; use alloc::vec::Vec; diff --git a/typos.toml b/typos.toml index 52d435227..0477c7778 100644 --- a/typos.toml +++ b/typos.toml @@ -2,8 +2,7 @@ extend-ignore-identifiers-re = ["Fo"] [files] -# TODO(danbugs): update this when I'm done w/ the move -extend-exclude = ["**/*.patch", "src/hyperlight_guest/third_party/**/*", "NOTICE.txt"] +extend-exclude = ["**/*.patch", "src/hyperlight_guest_bin/third_party/**/*", "NOTICE.txt"] [default.extend-words] # typ is used for field name as type is a reserved keyword From dc81b9544679b5375bf1c01613ca2169cf211dfc Mon Sep 17 00:00:00 2001 From: danbugs Date: Mon, 2 Jun 2025 00:59:37 +0000 Subject: [PATCH 6/9] [host/init_multiuse] fixing leftover warning from #494 Signed-off-by: danbugs --- Cargo.lock | 2 +- .../src/sandbox/initialized_multi_use.rs | 1 + .../rust_guests/callbackguest/Cargo.lock | 39 +------------------ src/tests/rust_guests/simpleguest/Cargo.lock | 39 +------------------ 4 files changed, 6 insertions(+), 75 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9aa43fdbd..d3dd1226b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1174,7 +1174,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" -version = "0.4.0" +version = "0.5.0" dependencies = [ "buddy_system_allocator", "cc", diff --git a/src/hyperlight_host/src/sandbox/initialized_multi_use.rs b/src/hyperlight_host/src/sandbox/initialized_multi_use.rs index 3ca9f5899..67075ea1a 100644 --- a/src/hyperlight_host/src/sandbox/initialized_multi_use.rs +++ b/src/hyperlight_host/src/sandbox/initialized_multi_use.rs @@ -16,6 +16,7 @@ limitations under the License. use std::sync::{Arc, Mutex}; +#[cfg(feature = "fuzzing")] use hyperlight_common::flatbuffer_wrappers::function_types::{ ParameterValue, ReturnType, ReturnValue, }; diff --git a/src/tests/rust_guests/callbackguest/Cargo.lock b/src/tests/rust_guests/callbackguest/Cargo.lock index d2a844c76..f732f5e37 100644 --- a/src/tests/rust_guests/callbackguest/Cargo.lock +++ b/src/tests/rust_guests/callbackguest/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "anyhow" @@ -69,12 +69,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hyperlight-common" version = "0.5.0" @@ -82,7 +76,6 @@ dependencies = [ "anyhow", "flatbuffers", "log", - "strum", ] [[package]] @@ -96,7 +89,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" -version = "0.4.0" +version = "0.5.0" dependencies = [ "buddy_system_allocator", "cc", @@ -163,12 +156,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rustversion" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" - [[package]] name = "ryu" version = "1.0.20" @@ -243,28 +230,6 @@ dependencies = [ "lock_api", ] -[[package]] -name = "strum" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - [[package]] name = "syn" version = "2.0.100" diff --git a/src/tests/rust_guests/simpleguest/Cargo.lock b/src/tests/rust_guests/simpleguest/Cargo.lock index a02b5e2b5..85a24ce42 100644 --- a/src/tests/rust_guests/simpleguest/Cargo.lock +++ b/src/tests/rust_guests/simpleguest/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "anyhow" @@ -60,12 +60,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hyperlight-common" version = "0.5.0" @@ -73,7 +67,6 @@ dependencies = [ "anyhow", "flatbuffers", "log", - "strum", ] [[package]] @@ -87,7 +80,7 @@ dependencies = [ [[package]] name = "hyperlight-guest-bin" -version = "0.4.0" +version = "0.5.0" dependencies = [ "buddy_system_allocator", "cc", @@ -154,12 +147,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rustversion" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" - [[package]] name = "ryu" version = "1.0.20" @@ -244,28 +231,6 @@ dependencies = [ "lock_api", ] -[[package]] -name = "strum" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - [[package]] name = "syn" version = "2.0.100" From 845a3653efc1c5b547ca6020b1ae1dec5ae3818a Mon Sep 17 00:00:00 2001 From: danbugs Date: Mon, 2 Jun 2025 20:45:10 +0000 Subject: [PATCH 7/9] [*] changed copyright text from 2024 to 2025 Signed-off-by: danbugs --- fuzz/fuzz_targets/guest_call.rs | 2 +- fuzz/fuzz_targets/host_call.rs | 2 +- src/hyperlight_common/src/flatbuffer_wrappers/function_call.rs | 2 +- src/hyperlight_common/src/flatbuffer_wrappers/function_types.rs | 2 +- src/hyperlight_common/src/flatbuffer_wrappers/guest_error.rs | 2 +- src/hyperlight_common/src/flatbuffer_wrappers/guest_log_data.rs | 2 +- .../src/flatbuffer_wrappers/guest_log_level.rs | 2 +- src/hyperlight_common/src/flatbuffer_wrappers/mod.rs | 2 +- src/hyperlight_common/src/flatbuffer_wrappers/util.rs | 2 +- src/hyperlight_common/src/lib.rs | 2 +- src/hyperlight_common/src/mem.rs | 2 +- src/hyperlight_guest/src/error.rs | 2 +- src/hyperlight_guest/src/exit.rs | 2 +- src/hyperlight_guest/src/guest_handle/handle.rs | 2 +- src/hyperlight_guest/src/guest_handle/host_comm.rs | 2 +- src/hyperlight_guest/src/guest_handle/io.rs | 2 +- src/hyperlight_guest/src/lib.rs | 2 +- src/hyperlight_guest_bin/build.rs | 2 +- src/hyperlight_guest_bin/src/exceptions/gdt.rs | 2 +- src/hyperlight_guest_bin/src/exceptions/handler.rs | 2 +- src/hyperlight_guest_bin/src/exceptions/idt.rs | 2 +- src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs | 2 +- src/hyperlight_guest_bin/src/guest_err.rs | 2 +- src/hyperlight_guest_bin/src/guest_function/call.rs | 2 +- src/hyperlight_guest_bin/src/guest_function/definition.rs | 2 +- src/hyperlight_guest_bin/src/guest_function/register.rs | 2 +- src/hyperlight_guest_bin/src/guest_logger.rs | 2 +- src/hyperlight_guest_bin/src/host_comm.rs | 2 +- src/hyperlight_guest_bin/src/lib.rs | 2 +- src/hyperlight_guest_bin/src/memory.rs | 2 +- src/hyperlight_host/benches/benchmarks.rs | 2 +- src/hyperlight_host/build.rs | 2 +- src/hyperlight_host/examples/func_ctx/main.rs | 2 +- src/hyperlight_host/examples/guest-debugging/main.rs | 2 +- src/hyperlight_host/examples/hello-world/main.rs | 2 +- src/hyperlight_host/examples/logging/main.rs | 2 +- src/hyperlight_host/examples/metrics/main.rs | 2 +- src/hyperlight_host/examples/tracing-chrome/main.rs | 2 +- src/hyperlight_host/examples/tracing-otlp/main.rs | 2 +- src/hyperlight_host/examples/tracing-tracy/main.rs | 2 +- src/hyperlight_host/examples/tracing/main.rs | 2 +- src/hyperlight_host/src/error.rs | 2 +- src/hyperlight_host/src/func/call_ctx.rs | 2 +- src/hyperlight_host/src/func/guest_dispatch.rs | 2 +- src/hyperlight_host/src/func/guest_err.rs | 2 +- src/hyperlight_host/src/func/host_functions.rs | 2 +- src/hyperlight_host/src/func/mod.rs | 2 +- src/hyperlight_host/src/func/param_type.rs | 2 +- src/hyperlight_host/src/func/ret_type.rs | 2 +- src/hyperlight_host/src/hyperlight_surrogate/src/main.rs | 2 +- src/hyperlight_host/src/hypervisor/fpu.rs | 2 +- src/hyperlight_host/src/hypervisor/gdb/arch.rs | 2 +- src/hyperlight_host/src/hypervisor/gdb/event_loop.rs | 2 +- src/hyperlight_host/src/hypervisor/gdb/kvm_debug.rs | 2 +- src/hyperlight_host/src/hypervisor/gdb/mod.rs | 2 +- src/hyperlight_host/src/hypervisor/gdb/mshv_debug.rs | 2 +- src/hyperlight_host/src/hypervisor/gdb/x86_64_target.rs | 2 +- src/hyperlight_host/src/hypervisor/handlers.rs | 2 +- src/hyperlight_host/src/hypervisor/hyperv_linux.rs | 2 +- src/hyperlight_host/src/hypervisor/hyperv_windows.rs | 2 +- src/hyperlight_host/src/hypervisor/hypervisor_handler.rs | 2 +- src/hyperlight_host/src/hypervisor/kvm.rs | 2 +- src/hyperlight_host/src/hypervisor/mod.rs | 2 +- src/hyperlight_host/src/hypervisor/surrogate_process.rs | 2 +- src/hyperlight_host/src/hypervisor/surrogate_process_manager.rs | 2 +- .../src/hypervisor/windows_hypervisor_platform.rs | 2 +- src/hyperlight_host/src/hypervisor/wrappers.rs | 2 +- src/hyperlight_host/src/lib.rs | 2 +- src/hyperlight_host/src/mem/elf.rs | 2 +- src/hyperlight_host/src/mem/exe.rs | 2 +- src/hyperlight_host/src/mem/layout.rs | 2 +- src/hyperlight_host/src/mem/memory_region.rs | 2 +- src/hyperlight_host/src/mem/mgr.rs | 2 +- src/hyperlight_host/src/mem/mod.rs | 2 +- src/hyperlight_host/src/mem/ptr.rs | 2 +- src/hyperlight_host/src/mem/ptr_addr_space.rs | 2 +- src/hyperlight_host/src/mem/ptr_offset.rs | 2 +- src/hyperlight_host/src/mem/shared_mem.rs | 2 +- src/hyperlight_host/src/mem/shared_mem_snapshot.rs | 2 +- src/hyperlight_host/src/mem/shared_mem_tests.rs | 2 +- src/hyperlight_host/src/metrics/mod.rs | 2 +- src/hyperlight_host/src/sandbox/config.rs | 2 +- src/hyperlight_host/src/sandbox/host_funcs.rs | 2 +- src/hyperlight_host/src/sandbox/hypervisor.rs | 2 +- src/hyperlight_host/src/sandbox/initialized_multi_use.rs | 2 +- src/hyperlight_host/src/sandbox/mem_access.rs | 2 +- src/hyperlight_host/src/sandbox/mem_mgr.rs | 2 +- src/hyperlight_host/src/sandbox/mod.rs | 2 +- src/hyperlight_host/src/sandbox/outb.rs | 2 +- src/hyperlight_host/src/sandbox/uninitialized.rs | 2 +- src/hyperlight_host/src/sandbox/uninitialized_evolve.rs | 2 +- src/hyperlight_host/src/sandbox_state/mod.rs | 2 +- src/hyperlight_host/src/sandbox_state/sandbox.rs | 2 +- src/hyperlight_host/src/sandbox_state/transition.rs | 2 +- src/hyperlight_host/src/seccomp/guest.rs | 2 +- src/hyperlight_host/src/seccomp/mod.rs | 2 +- src/hyperlight_host/src/signal_handlers/mod.rs | 2 +- .../src/signal_handlers/sigsys_signal_handler.rs | 2 +- src/hyperlight_host/src/testing/log_values.rs | 2 +- src/hyperlight_host/src/testing/mod.rs | 2 +- src/hyperlight_host/tests/common/mod.rs | 2 +- src/hyperlight_host/tests/integration_test.rs | 2 +- src/hyperlight_host/tests/sandbox_host_tests.rs | 2 +- src/hyperlight_testing/src/lib.rs | 2 +- src/hyperlight_testing/src/logger.rs | 2 +- src/hyperlight_testing/src/simplelogger.rs | 2 +- src/hyperlight_testing/src/tracing_subscriber.rs | 2 +- src/tests/rust_guests/callbackguest/src/main.rs | 2 +- src/tests/rust_guests/dummyguest/src/main.rs | 2 +- src/tests/rust_guests/simpleguest/src/main.rs | 2 +- 110 files changed, 110 insertions(+), 110 deletions(-) diff --git a/fuzz/fuzz_targets/guest_call.rs b/fuzz/fuzz_targets/guest_call.rs index e3b3dd398..2e0fcee00 100644 --- a/fuzz/fuzz_targets/guest_call.rs +++ b/fuzz/fuzz_targets/guest_call.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/fuzz/fuzz_targets/host_call.rs b/fuzz/fuzz_targets/host_call.rs index 2e7fe4bd6..bdd8ad760 100644 --- a/fuzz/fuzz_targets/host_call.rs +++ b/fuzz/fuzz_targets/host_call.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/flatbuffer_wrappers/function_call.rs b/src/hyperlight_common/src/flatbuffer_wrappers/function_call.rs index 987fb369a..74cda6679 100644 --- a/src/hyperlight_common/src/flatbuffer_wrappers/function_call.rs +++ b/src/hyperlight_common/src/flatbuffer_wrappers/function_call.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/flatbuffer_wrappers/function_types.rs b/src/hyperlight_common/src/flatbuffer_wrappers/function_types.rs index f0e3effb5..2c22364f7 100644 --- a/src/hyperlight_common/src/flatbuffer_wrappers/function_types.rs +++ b/src/hyperlight_common/src/flatbuffer_wrappers/function_types.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/flatbuffer_wrappers/guest_error.rs b/src/hyperlight_common/src/flatbuffer_wrappers/guest_error.rs index e39586af1..2b0efa991 100644 --- a/src/hyperlight_common/src/flatbuffer_wrappers/guest_error.rs +++ b/src/hyperlight_common/src/flatbuffer_wrappers/guest_error.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_data.rs b/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_data.rs index 36092805c..f005489c5 100644 --- a/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_data.rs +++ b/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_data.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_level.rs b/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_level.rs index 9ed83d205..8de346eb1 100644 --- a/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_level.rs +++ b/src/hyperlight_common/src/flatbuffer_wrappers/guest_log_level.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/flatbuffer_wrappers/mod.rs b/src/hyperlight_common/src/flatbuffer_wrappers/mod.rs index 39dc9b9cd..424ade97d 100644 --- a/src/hyperlight_common/src/flatbuffer_wrappers/mod.rs +++ b/src/hyperlight_common/src/flatbuffer_wrappers/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/flatbuffer_wrappers/util.rs b/src/hyperlight_common/src/flatbuffer_wrappers/util.rs index 0e387b03a..6d25752dc 100644 --- a/src/hyperlight_common/src/flatbuffer_wrappers/util.rs +++ b/src/hyperlight_common/src/flatbuffer_wrappers/util.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/lib.rs b/src/hyperlight_common/src/lib.rs index 590da589b..ef907dfaa 100644 --- a/src/hyperlight_common/src/lib.rs +++ b/src/hyperlight_common/src/lib.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_common/src/mem.rs b/src/hyperlight_common/src/mem.rs index 36d01e707..f25e37085 100644 --- a/src/hyperlight_common/src/mem.rs +++ b/src/hyperlight_common/src/mem.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest/src/error.rs b/src/hyperlight_guest/src/error.rs index 07bffa049..db7e01924 100644 --- a/src/hyperlight_guest/src/error.rs +++ b/src/hyperlight_guest/src/error.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest/src/exit.rs b/src/hyperlight_guest/src/exit.rs index 220b516f9..b09d5e180 100644 --- a/src/hyperlight_guest/src/exit.rs +++ b/src/hyperlight_guest/src/exit.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest/src/guest_handle/handle.rs b/src/hyperlight_guest/src/guest_handle/handle.rs index a7cfe2f6e..c18ba3540 100644 --- a/src/hyperlight_guest/src/guest_handle/handle.rs +++ b/src/hyperlight_guest/src/guest_handle/handle.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest/src/guest_handle/host_comm.rs b/src/hyperlight_guest/src/guest_handle/host_comm.rs index 657309db7..7704cba3a 100644 --- a/src/hyperlight_guest/src/guest_handle/host_comm.rs +++ b/src/hyperlight_guest/src/guest_handle/host_comm.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest/src/guest_handle/io.rs b/src/hyperlight_guest/src/guest_handle/io.rs index 701506506..ce8c82b0c 100644 --- a/src/hyperlight_guest/src/guest_handle/io.rs +++ b/src/hyperlight_guest/src/guest_handle/io.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest/src/lib.rs b/src/hyperlight_guest/src/lib.rs index 2dd93bb92..add2e21c7 100644 --- a/src/hyperlight_guest/src/lib.rs +++ b/src/hyperlight_guest/src/lib.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/build.rs b/src/hyperlight_guest_bin/build.rs index 96e4dc107..73588b5fa 100644 --- a/src/hyperlight_guest_bin/build.rs +++ b/src/hyperlight_guest_bin/build.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/exceptions/gdt.rs b/src/hyperlight_guest_bin/src/exceptions/gdt.rs index 34150ebd0..0a3b2cfb6 100644 --- a/src/hyperlight_guest_bin/src/exceptions/gdt.rs +++ b/src/hyperlight_guest_bin/src/exceptions/gdt.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/exceptions/handler.rs b/src/hyperlight_guest_bin/src/exceptions/handler.rs index 68e148220..5bc1a7e09 100644 --- a/src/hyperlight_guest_bin/src/exceptions/handler.rs +++ b/src/hyperlight_guest_bin/src/exceptions/handler.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/exceptions/idt.rs b/src/hyperlight_guest_bin/src/exceptions/idt.rs index 9c32471d7..f9cc9f8c3 100644 --- a/src/hyperlight_guest_bin/src/exceptions/idt.rs +++ b/src/hyperlight_guest_bin/src/exceptions/idt.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs b/src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs index 622554a24..0a0d63775 100644 --- a/src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs +++ b/src/hyperlight_guest_bin/src/exceptions/interrupt_entry.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/guest_err.rs b/src/hyperlight_guest_bin/src/guest_err.rs index d166bdacb..daedd3fbb 100644 --- a/src/hyperlight_guest_bin/src/guest_err.rs +++ b/src/hyperlight_guest_bin/src/guest_err.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/guest_function/call.rs b/src/hyperlight_guest_bin/src/guest_function/call.rs index 81d07780c..bdaed4212 100644 --- a/src/hyperlight_guest_bin/src/guest_function/call.rs +++ b/src/hyperlight_guest_bin/src/guest_function/call.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/guest_function/definition.rs b/src/hyperlight_guest_bin/src/guest_function/definition.rs index aa15f36a9..a60ca2e14 100644 --- a/src/hyperlight_guest_bin/src/guest_function/definition.rs +++ b/src/hyperlight_guest_bin/src/guest_function/definition.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/guest_function/register.rs b/src/hyperlight_guest_bin/src/guest_function/register.rs index a3cf2e6a2..e68ed6440 100644 --- a/src/hyperlight_guest_bin/src/guest_function/register.rs +++ b/src/hyperlight_guest_bin/src/guest_function/register.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/guest_logger.rs b/src/hyperlight_guest_bin/src/guest_logger.rs index 020e5d29e..c4223d7ea 100644 --- a/src/hyperlight_guest_bin/src/guest_logger.rs +++ b/src/hyperlight_guest_bin/src/guest_logger.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/host_comm.rs b/src/hyperlight_guest_bin/src/host_comm.rs index 7744bca41..c23d3ea0b 100644 --- a/src/hyperlight_guest_bin/src/host_comm.rs +++ b/src/hyperlight_guest_bin/src/host_comm.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/lib.rs b/src/hyperlight_guest_bin/src/lib.rs index dbefb0ad4..dcdd6974b 100644 --- a/src/hyperlight_guest_bin/src/lib.rs +++ b/src/hyperlight_guest_bin/src/lib.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_guest_bin/src/memory.rs b/src/hyperlight_guest_bin/src/memory.rs index 1b30c8536..48eb4f602 100644 --- a/src/hyperlight_guest_bin/src/memory.rs +++ b/src/hyperlight_guest_bin/src/memory.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/benches/benchmarks.rs b/src/hyperlight_host/benches/benchmarks.rs index fdabe8cae..560ef319d 100644 --- a/src/hyperlight_host/benches/benchmarks.rs +++ b/src/hyperlight_host/benches/benchmarks.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/build.rs b/src/hyperlight_host/build.rs index 4710d3cbd..4484e27d5 100644 --- a/src/hyperlight_host/build.rs +++ b/src/hyperlight_host/build.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/func_ctx/main.rs b/src/hyperlight_host/examples/func_ctx/main.rs index 4bfda0e23..9a6862cb8 100644 --- a/src/hyperlight_host/examples/func_ctx/main.rs +++ b/src/hyperlight_host/examples/func_ctx/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/guest-debugging/main.rs b/src/hyperlight_host/examples/guest-debugging/main.rs index fbdf3a84d..83c0c6b23 100644 --- a/src/hyperlight_host/examples/guest-debugging/main.rs +++ b/src/hyperlight_host/examples/guest-debugging/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/hello-world/main.rs b/src/hyperlight_host/examples/hello-world/main.rs index 77133ba83..57c0b4398 100644 --- a/src/hyperlight_host/examples/hello-world/main.rs +++ b/src/hyperlight_host/examples/hello-world/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/logging/main.rs b/src/hyperlight_host/examples/logging/main.rs index fc5e43f6c..fd2eddd51 100644 --- a/src/hyperlight_host/examples/logging/main.rs +++ b/src/hyperlight_host/examples/logging/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/metrics/main.rs b/src/hyperlight_host/examples/metrics/main.rs index cd8ae0bdc..4fd9f2183 100644 --- a/src/hyperlight_host/examples/metrics/main.rs +++ b/src/hyperlight_host/examples/metrics/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/tracing-chrome/main.rs b/src/hyperlight_host/examples/tracing-chrome/main.rs index 1d68aec89..a93e03fab 100644 --- a/src/hyperlight_host/examples/tracing-chrome/main.rs +++ b/src/hyperlight_host/examples/tracing-chrome/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/tracing-otlp/main.rs b/src/hyperlight_host/examples/tracing-otlp/main.rs index 51c0eb10c..55dacd98e 100644 --- a/src/hyperlight_host/examples/tracing-otlp/main.rs +++ b/src/hyperlight_host/examples/tracing-otlp/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/tracing-tracy/main.rs b/src/hyperlight_host/examples/tracing-tracy/main.rs index 1b2b6e5a3..1e5bc2c29 100644 --- a/src/hyperlight_host/examples/tracing-tracy/main.rs +++ b/src/hyperlight_host/examples/tracing-tracy/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/examples/tracing/main.rs b/src/hyperlight_host/examples/tracing/main.rs index e270b48d1..67f16cffa 100644 --- a/src/hyperlight_host/examples/tracing/main.rs +++ b/src/hyperlight_host/examples/tracing/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/error.rs b/src/hyperlight_host/src/error.rs index 7162f4fcf..8a143daac 100644 --- a/src/hyperlight_host/src/error.rs +++ b/src/hyperlight_host/src/error.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/func/call_ctx.rs b/src/hyperlight_host/src/func/call_ctx.rs index 412643c3d..baf47730f 100644 --- a/src/hyperlight_host/src/func/call_ctx.rs +++ b/src/hyperlight_host/src/func/call_ctx.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/func/guest_dispatch.rs b/src/hyperlight_host/src/func/guest_dispatch.rs index ad980b146..8531a4768 100644 --- a/src/hyperlight_host/src/func/guest_dispatch.rs +++ b/src/hyperlight_host/src/func/guest_dispatch.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/func/guest_err.rs b/src/hyperlight_host/src/func/guest_err.rs index a8fd87e5f..aa7ceb267 100644 --- a/src/hyperlight_host/src/func/guest_err.rs +++ b/src/hyperlight_host/src/func/guest_err.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/func/host_functions.rs b/src/hyperlight_host/src/func/host_functions.rs index 14c950faa..857f7fca7 100644 --- a/src/hyperlight_host/src/func/host_functions.rs +++ b/src/hyperlight_host/src/func/host_functions.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/func/mod.rs b/src/hyperlight_host/src/func/mod.rs index e813ea7d5..65dc2283f 100644 --- a/src/hyperlight_host/src/func/mod.rs +++ b/src/hyperlight_host/src/func/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/func/param_type.rs b/src/hyperlight_host/src/func/param_type.rs index 50de7f8c3..00f8aecf5 100644 --- a/src/hyperlight_host/src/func/param_type.rs +++ b/src/hyperlight_host/src/func/param_type.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/func/ret_type.rs b/src/hyperlight_host/src/func/ret_type.rs index 45bc36d34..16bfff90b 100644 --- a/src/hyperlight_host/src/func/ret_type.rs +++ b/src/hyperlight_host/src/func/ret_type.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hyperlight_surrogate/src/main.rs b/src/hyperlight_host/src/hyperlight_surrogate/src/main.rs index 68b2b6f1f..078e899fb 100644 --- a/src/hyperlight_host/src/hyperlight_surrogate/src/main.rs +++ b/src/hyperlight_host/src/hyperlight_surrogate/src/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/fpu.rs b/src/hyperlight_host/src/hypervisor/fpu.rs index 3cdd39134..f0b6cb6a2 100644 --- a/src/hyperlight_host/src/hypervisor/fpu.rs +++ b/src/hyperlight_host/src/hypervisor/fpu.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/gdb/arch.rs b/src/hyperlight_host/src/hypervisor/gdb/arch.rs index 5938112e3..e75eade74 100644 --- a/src/hyperlight_host/src/hypervisor/gdb/arch.rs +++ b/src/hyperlight_host/src/hypervisor/gdb/arch.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/gdb/event_loop.rs b/src/hyperlight_host/src/hypervisor/gdb/event_loop.rs index c21c66042..b1bd77665 100644 --- a/src/hyperlight_host/src/hypervisor/gdb/event_loop.rs +++ b/src/hyperlight_host/src/hypervisor/gdb/event_loop.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/gdb/kvm_debug.rs b/src/hyperlight_host/src/hypervisor/gdb/kvm_debug.rs index 354b385b3..cf9e58651 100644 --- a/src/hyperlight_host/src/hypervisor/gdb/kvm_debug.rs +++ b/src/hyperlight_host/src/hypervisor/gdb/kvm_debug.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/gdb/mod.rs b/src/hyperlight_host/src/hypervisor/gdb/mod.rs index 46c26d1dc..9ac795d23 100644 --- a/src/hyperlight_host/src/hypervisor/gdb/mod.rs +++ b/src/hyperlight_host/src/hypervisor/gdb/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/gdb/mshv_debug.rs b/src/hyperlight_host/src/hypervisor/gdb/mshv_debug.rs index 7d48fcae0..6107c415e 100644 --- a/src/hyperlight_host/src/hypervisor/gdb/mshv_debug.rs +++ b/src/hyperlight_host/src/hypervisor/gdb/mshv_debug.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/gdb/x86_64_target.rs b/src/hyperlight_host/src/hypervisor/gdb/x86_64_target.rs index a25098bf4..2aa82ac75 100644 --- a/src/hyperlight_host/src/hypervisor/gdb/x86_64_target.rs +++ b/src/hyperlight_host/src/hypervisor/gdb/x86_64_target.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/handlers.rs b/src/hyperlight_host/src/hypervisor/handlers.rs index 9dbb948af..4d76b0bf9 100644 --- a/src/hyperlight_host/src/hypervisor/handlers.rs +++ b/src/hyperlight_host/src/hypervisor/handlers.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/hyperv_linux.rs b/src/hyperlight_host/src/hypervisor/hyperv_linux.rs index 85dc514b5..0da2a9434 100644 --- a/src/hyperlight_host/src/hypervisor/hyperv_linux.rs +++ b/src/hyperlight_host/src/hypervisor/hyperv_linux.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/hyperv_windows.rs b/src/hyperlight_host/src/hypervisor/hyperv_windows.rs index 4a4ba591f..084fda388 100644 --- a/src/hyperlight_host/src/hypervisor/hyperv_windows.rs +++ b/src/hyperlight_host/src/hypervisor/hyperv_windows.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/hypervisor_handler.rs b/src/hyperlight_host/src/hypervisor/hypervisor_handler.rs index c7f46df9e..cf43cf3ca 100644 --- a/src/hyperlight_host/src/hypervisor/hypervisor_handler.rs +++ b/src/hyperlight_host/src/hypervisor/hypervisor_handler.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/kvm.rs b/src/hyperlight_host/src/hypervisor/kvm.rs index 3dd1cb1fc..b04464611 100644 --- a/src/hyperlight_host/src/hypervisor/kvm.rs +++ b/src/hyperlight_host/src/hypervisor/kvm.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/mod.rs b/src/hyperlight_host/src/hypervisor/mod.rs index 62cebe829..5f3aea052 100644 --- a/src/hyperlight_host/src/hypervisor/mod.rs +++ b/src/hyperlight_host/src/hypervisor/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/surrogate_process.rs b/src/hyperlight_host/src/hypervisor/surrogate_process.rs index 4ebbaec94..56da83074 100644 --- a/src/hyperlight_host/src/hypervisor/surrogate_process.rs +++ b/src/hyperlight_host/src/hypervisor/surrogate_process.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/surrogate_process_manager.rs b/src/hyperlight_host/src/hypervisor/surrogate_process_manager.rs index 7455148a4..ef3c367c8 100644 --- a/src/hyperlight_host/src/hypervisor/surrogate_process_manager.rs +++ b/src/hyperlight_host/src/hypervisor/surrogate_process_manager.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/windows_hypervisor_platform.rs b/src/hyperlight_host/src/hypervisor/windows_hypervisor_platform.rs index 14fd86b1d..711be5c39 100644 --- a/src/hyperlight_host/src/hypervisor/windows_hypervisor_platform.rs +++ b/src/hyperlight_host/src/hypervisor/windows_hypervisor_platform.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/hypervisor/wrappers.rs b/src/hyperlight_host/src/hypervisor/wrappers.rs index aa9943d6a..d6842e89c 100644 --- a/src/hyperlight_host/src/hypervisor/wrappers.rs +++ b/src/hyperlight_host/src/hypervisor/wrappers.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/lib.rs b/src/hyperlight_host/src/lib.rs index 6a974f23d..7682e0ee6 100644 --- a/src/hyperlight_host/src/lib.rs +++ b/src/hyperlight_host/src/lib.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/elf.rs b/src/hyperlight_host/src/mem/elf.rs index 1ac96a2c0..586e5906b 100644 --- a/src/hyperlight_host/src/mem/elf.rs +++ b/src/hyperlight_host/src/mem/elf.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/exe.rs b/src/hyperlight_host/src/mem/exe.rs index 05e6e445c..bf1724317 100644 --- a/src/hyperlight_host/src/mem/exe.rs +++ b/src/hyperlight_host/src/mem/exe.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/layout.rs b/src/hyperlight_host/src/mem/layout.rs index 08c0bab55..59a8c5ab7 100644 --- a/src/hyperlight_host/src/mem/layout.rs +++ b/src/hyperlight_host/src/mem/layout.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/memory_region.rs b/src/hyperlight_host/src/mem/memory_region.rs index 46177bb4b..b07f3aea3 100644 --- a/src/hyperlight_host/src/mem/memory_region.rs +++ b/src/hyperlight_host/src/mem/memory_region.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/mgr.rs b/src/hyperlight_host/src/mem/mgr.rs index 4854d90ab..8dfee2a7e 100644 --- a/src/hyperlight_host/src/mem/mgr.rs +++ b/src/hyperlight_host/src/mem/mgr.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/mod.rs b/src/hyperlight_host/src/mem/mod.rs index 0f66ec6b8..1bcc03eae 100644 --- a/src/hyperlight_host/src/mem/mod.rs +++ b/src/hyperlight_host/src/mem/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/ptr.rs b/src/hyperlight_host/src/mem/ptr.rs index eef1dea39..8fb3875e6 100644 --- a/src/hyperlight_host/src/mem/ptr.rs +++ b/src/hyperlight_host/src/mem/ptr.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/ptr_addr_space.rs b/src/hyperlight_host/src/mem/ptr_addr_space.rs index 3f84549a7..513f64d62 100644 --- a/src/hyperlight_host/src/mem/ptr_addr_space.rs +++ b/src/hyperlight_host/src/mem/ptr_addr_space.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/ptr_offset.rs b/src/hyperlight_host/src/mem/ptr_offset.rs index 9a3f3df27..ceff9210e 100644 --- a/src/hyperlight_host/src/mem/ptr_offset.rs +++ b/src/hyperlight_host/src/mem/ptr_offset.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/shared_mem.rs b/src/hyperlight_host/src/mem/shared_mem.rs index b976073b5..06cf2b845 100644 --- a/src/hyperlight_host/src/mem/shared_mem.rs +++ b/src/hyperlight_host/src/mem/shared_mem.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/shared_mem_snapshot.rs b/src/hyperlight_host/src/mem/shared_mem_snapshot.rs index 28d514b76..051b2c918 100644 --- a/src/hyperlight_host/src/mem/shared_mem_snapshot.rs +++ b/src/hyperlight_host/src/mem/shared_mem_snapshot.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/mem/shared_mem_tests.rs b/src/hyperlight_host/src/mem/shared_mem_tests.rs index 44c54bd03..10cb4b326 100644 --- a/src/hyperlight_host/src/mem/shared_mem_tests.rs +++ b/src/hyperlight_host/src/mem/shared_mem_tests.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/metrics/mod.rs b/src/hyperlight_host/src/metrics/mod.rs index 953702585..94f15779f 100644 --- a/src/hyperlight_host/src/metrics/mod.rs +++ b/src/hyperlight_host/src/metrics/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/config.rs b/src/hyperlight_host/src/sandbox/config.rs index 5c9f30f24..9e5f5cacb 100644 --- a/src/hyperlight_host/src/sandbox/config.rs +++ b/src/hyperlight_host/src/sandbox/config.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/host_funcs.rs b/src/hyperlight_host/src/sandbox/host_funcs.rs index 7bab361b3..eb407d7f0 100644 --- a/src/hyperlight_host/src/sandbox/host_funcs.rs +++ b/src/hyperlight_host/src/sandbox/host_funcs.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/hypervisor.rs b/src/hyperlight_host/src/sandbox/hypervisor.rs index 4ea4b68d7..7cd1154ee 100644 --- a/src/hyperlight_host/src/sandbox/hypervisor.rs +++ b/src/hyperlight_host/src/sandbox/hypervisor.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/initialized_multi_use.rs b/src/hyperlight_host/src/sandbox/initialized_multi_use.rs index 67075ea1a..31e4c9568 100644 --- a/src/hyperlight_host/src/sandbox/initialized_multi_use.rs +++ b/src/hyperlight_host/src/sandbox/initialized_multi_use.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/mem_access.rs b/src/hyperlight_host/src/sandbox/mem_access.rs index 7bf4fbdc2..d4fffb9bc 100644 --- a/src/hyperlight_host/src/sandbox/mem_access.rs +++ b/src/hyperlight_host/src/sandbox/mem_access.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/mem_mgr.rs b/src/hyperlight_host/src/sandbox/mem_mgr.rs index aadaa5091..86e95bf8d 100644 --- a/src/hyperlight_host/src/sandbox/mem_mgr.rs +++ b/src/hyperlight_host/src/sandbox/mem_mgr.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/mod.rs b/src/hyperlight_host/src/sandbox/mod.rs index 3cad349d6..374faf722 100644 --- a/src/hyperlight_host/src/sandbox/mod.rs +++ b/src/hyperlight_host/src/sandbox/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/outb.rs b/src/hyperlight_host/src/sandbox/outb.rs index 4dc91207f..82f0dd5ba 100644 --- a/src/hyperlight_host/src/sandbox/outb.rs +++ b/src/hyperlight_host/src/sandbox/outb.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/uninitialized.rs b/src/hyperlight_host/src/sandbox/uninitialized.rs index 30c136c15..44357bc41 100644 --- a/src/hyperlight_host/src/sandbox/uninitialized.rs +++ b/src/hyperlight_host/src/sandbox/uninitialized.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox/uninitialized_evolve.rs b/src/hyperlight_host/src/sandbox/uninitialized_evolve.rs index 05c445790..5c371c782 100644 --- a/src/hyperlight_host/src/sandbox/uninitialized_evolve.rs +++ b/src/hyperlight_host/src/sandbox/uninitialized_evolve.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox_state/mod.rs b/src/hyperlight_host/src/sandbox_state/mod.rs index 3a7bd52d5..474cad72a 100644 --- a/src/hyperlight_host/src/sandbox_state/mod.rs +++ b/src/hyperlight_host/src/sandbox_state/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox_state/sandbox.rs b/src/hyperlight_host/src/sandbox_state/sandbox.rs index 8731191ea..862214bd4 100644 --- a/src/hyperlight_host/src/sandbox_state/sandbox.rs +++ b/src/hyperlight_host/src/sandbox_state/sandbox.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/sandbox_state/transition.rs b/src/hyperlight_host/src/sandbox_state/transition.rs index 48b808b02..2624568cb 100644 --- a/src/hyperlight_host/src/sandbox_state/transition.rs +++ b/src/hyperlight_host/src/sandbox_state/transition.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/seccomp/guest.rs b/src/hyperlight_host/src/seccomp/guest.rs index 3b34dd2f5..a5b693351 100644 --- a/src/hyperlight_host/src/seccomp/guest.rs +++ b/src/hyperlight_host/src/seccomp/guest.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/seccomp/mod.rs b/src/hyperlight_host/src/seccomp/mod.rs index 3379e2be2..9edce3ed2 100644 --- a/src/hyperlight_host/src/seccomp/mod.rs +++ b/src/hyperlight_host/src/seccomp/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/signal_handlers/mod.rs b/src/hyperlight_host/src/signal_handlers/mod.rs index 29c367dc0..bc8f02cf2 100644 --- a/src/hyperlight_host/src/signal_handlers/mod.rs +++ b/src/hyperlight_host/src/signal_handlers/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/signal_handlers/sigsys_signal_handler.rs b/src/hyperlight_host/src/signal_handlers/sigsys_signal_handler.rs index db5f10489..1bab82e1e 100644 --- a/src/hyperlight_host/src/signal_handlers/sigsys_signal_handler.rs +++ b/src/hyperlight_host/src/signal_handlers/sigsys_signal_handler.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/testing/log_values.rs b/src/hyperlight_host/src/testing/log_values.rs index 25995f403..7c5a00a49 100644 --- a/src/hyperlight_host/src/testing/log_values.rs +++ b/src/hyperlight_host/src/testing/log_values.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/src/testing/mod.rs b/src/hyperlight_host/src/testing/mod.rs index 9a3699df8..4085ea0a3 100644 --- a/src/hyperlight_host/src/testing/mod.rs +++ b/src/hyperlight_host/src/testing/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/tests/common/mod.rs b/src/hyperlight_host/tests/common/mod.rs index 4174b0195..b3d465bf3 100644 --- a/src/hyperlight_host/tests/common/mod.rs +++ b/src/hyperlight_host/tests/common/mod.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/tests/integration_test.rs b/src/hyperlight_host/tests/integration_test.rs index e19c78804..885b413fa 100644 --- a/src/hyperlight_host/tests/integration_test.rs +++ b/src/hyperlight_host/tests/integration_test.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_host/tests/sandbox_host_tests.rs b/src/hyperlight_host/tests/sandbox_host_tests.rs index 581e17a07..9321ae8fb 100644 --- a/src/hyperlight_host/tests/sandbox_host_tests.rs +++ b/src/hyperlight_host/tests/sandbox_host_tests.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_testing/src/lib.rs b/src/hyperlight_testing/src/lib.rs index a1d2cf6e0..a1e718ad9 100644 --- a/src/hyperlight_testing/src/lib.rs +++ b/src/hyperlight_testing/src/lib.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_testing/src/logger.rs b/src/hyperlight_testing/src/logger.rs index 113f11000..82ae21774 100644 --- a/src/hyperlight_testing/src/logger.rs +++ b/src/hyperlight_testing/src/logger.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_testing/src/simplelogger.rs b/src/hyperlight_testing/src/simplelogger.rs index e8363a556..0b1f3cb72 100644 --- a/src/hyperlight_testing/src/simplelogger.rs +++ b/src/hyperlight_testing/src/simplelogger.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/hyperlight_testing/src/tracing_subscriber.rs b/src/hyperlight_testing/src/tracing_subscriber.rs index 32f34c5b7..d94cd8484 100644 --- a/src/hyperlight_testing/src/tracing_subscriber.rs +++ b/src/hyperlight_testing/src/tracing_subscriber.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/tests/rust_guests/callbackguest/src/main.rs b/src/tests/rust_guests/callbackguest/src/main.rs index 809adfefc..93518b782 100644 --- a/src/tests/rust_guests/callbackguest/src/main.rs +++ b/src/tests/rust_guests/callbackguest/src/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/tests/rust_guests/dummyguest/src/main.rs b/src/tests/rust_guests/dummyguest/src/main.rs index fd15f81b1..01063dbdb 100644 --- a/src/tests/rust_guests/dummyguest/src/main.rs +++ b/src/tests/rust_guests/dummyguest/src/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/tests/rust_guests/simpleguest/src/main.rs b/src/tests/rust_guests/simpleguest/src/main.rs index 3d6aa2b49..8435afd33 100644 --- a/src/tests/rust_guests/simpleguest/src/main.rs +++ b/src/tests/rust_guests/simpleguest/src/main.rs @@ -1,5 +1,5 @@ /* -Copyright 2024 The Hyperlight Authors. +Copyright 2025 The Hyperlight Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From e73821e85b03b2ec7a1fbdee3ce0ace9d82990d8 Mon Sep 17 00:00:00 2001 From: danbugs Date: Mon, 2 Jun 2025 20:50:12 +0000 Subject: [PATCH 8/9] [guest/guest-handle/host-comm] change name of call_host_without_returning function Signed-off-by: danbugs --- README.md | 2 +- src/hyperlight_guest/src/guest_handle/host_comm.rs | 4 ++-- src/hyperlight_guest_bin/src/host_comm.rs | 4 ++-- src/hyperlight_guest_capi/src/dispatch.rs | 4 ++-- src/tests/rust_guests/simpleguest/src/main.rs | 14 ++++++++++---- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 74db8bd92..2e09bdc9b 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ use hyperlight_common::flatbuffer_wrappers::util::get_flatbuffer_result_from_int use hyperlight_guest::error::{HyperlightGuestError, Result}; use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; use hyperlight_guest_bin::guest_function::register::register_function; -use hyperlight_guest_bin::host_comm::{call_host_function, call_host_function_without_returning}; +use hyperlight_guest_bin::host_comm::{call_host_function, call_host_function_without_returning_result}; fn print_output(function_call: &FunctionCall) -> Result> { if let ParameterValue::String(message) = function_call.parameters.clone().unwrap()[0].clone() { diff --git a/src/hyperlight_guest/src/guest_handle/host_comm.rs b/src/hyperlight_guest/src/guest_handle/host_comm.rs index 7704cba3a..4614cd775 100644 --- a/src/hyperlight_guest/src/guest_handle/host_comm.rs +++ b/src/hyperlight_guest/src/guest_handle/host_comm.rs @@ -58,7 +58,7 @@ impl GuestHandle { /// /// Note: The function return value must be obtained by calling /// `get_host_return_value`. - pub fn call_host_function_without_returning( + pub fn call_host_function_without_returning_result( &self, function_name: &str, parameters: Option>, @@ -95,7 +95,7 @@ impl GuestHandle { parameters: Option>, return_type: ReturnType, ) -> Result { - self.call_host_function_without_returning(function_name, parameters, return_type)?; + self.call_host_function_without_returning_result(function_name, parameters, return_type)?; self.get_host_return_value::() } diff --git a/src/hyperlight_guest_bin/src/host_comm.rs b/src/hyperlight_guest_bin/src/host_comm.rs index c23d3ea0b..823902291 100644 --- a/src/hyperlight_guest_bin/src/host_comm.rs +++ b/src/hyperlight_guest_bin/src/host_comm.rs @@ -44,13 +44,13 @@ where handle.call_host_function::(function_name, parameters, return_type) } -pub fn call_host_function_without_returning( +pub fn call_host_function_without_returning_result( function_name: &str, parameters: Option>, return_type: ReturnType, ) -> Result<()> { let handle = unsafe { GUEST_HANDLE }; - handle.call_host_function_without_returning(function_name, parameters, return_type) + handle.call_host_function_without_returning_result(function_name, parameters, return_type) } pub fn get_host_return_value>() -> Result { diff --git a/src/hyperlight_guest_capi/src/dispatch.rs b/src/hyperlight_guest_capi/src/dispatch.rs index cae805f8d..a292769d5 100644 --- a/src/hyperlight_guest_capi/src/dispatch.rs +++ b/src/hyperlight_guest_capi/src/dispatch.rs @@ -10,7 +10,7 @@ use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode; use hyperlight_guest::error::{HyperlightGuestError, Result}; use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; use hyperlight_guest_bin::guest_function::register::GuestFunctionRegister; -use hyperlight_guest_bin::host_comm::call_host_function_without_returning; +use hyperlight_guest_bin::host_comm::call_host_function_without_returning_result; use crate::types::{FfiFunctionCall, FfiVec}; static mut REGISTERED_C_GUEST_FUNCTIONS: GuestFunctionRegister = GuestFunctionRegister::new(); @@ -95,6 +95,6 @@ pub extern "C" fn hl_call_host_function(function_call: &FfiFunctionCall) { // Use the non-generic internal implementation // The C API will then call specific getter functions to fetch the properly typed return value - let _ = call_host_function_without_returning(&func_name, Some(parameters), return_type) + let _ = call_host_function_without_returning_result(&func_name, Some(parameters), return_type) .expect("Failed to call host function"); } diff --git a/src/tests/rust_guests/simpleguest/src/main.rs b/src/tests/rust_guests/simpleguest/src/main.rs index 8435afd33..716eb9ece 100644 --- a/src/tests/rust_guests/simpleguest/src/main.rs +++ b/src/tests/rust_guests/simpleguest/src/main.rs @@ -45,7 +45,9 @@ use hyperlight_guest::error::{HyperlightGuestError, Result}; use hyperlight_guest::exit::{abort_with_code, abort_with_code_and_message}; use hyperlight_guest_bin::guest_function::definition::GuestFunctionDefinition; use hyperlight_guest_bin::guest_function::register::register_function; -use hyperlight_guest_bin::host_comm::{call_host_function, call_host_function_without_returning}; +use hyperlight_guest_bin::host_comm::{ + call_host_function, call_host_function_without_returning_result, +}; use hyperlight_guest_bin::memory::malloc; use hyperlight_guest_bin::{guest_logger, MIN_STACK_ADDRESS}; use log::{error, LevelFilter}; @@ -1194,9 +1196,13 @@ fn fuzz_host_function(func: FunctionCall) -> Result> { // Because we do not know at compile time the actual return type of the host function to be called // we cannot use the `call_host_function` generic function. - // We need to use the `call_host_function_without_returning` function that does not retrieve the return + // We need to use the `call_host_function_without_returning_result` function that does not retrieve the return // value - call_host_function_without_returning(&host_func_name, Some(params), func.expected_return_type) - .expect("failed to call host function"); + call_host_function_without_returning_result( + &host_func_name, + Some(params), + func.expected_return_type, + ) + .expect("failed to call host function"); Ok(get_flatbuffer_result(())) } From a68ff5eac911cb6c89ecb1aade5f810018e57ab9 Mon Sep 17 00:00:00 2001 From: danbugs Date: Mon, 2 Jun 2025 20:52:12 +0000 Subject: [PATCH 9/9] [README] improved descritption of hyperlight-guest-bin crate Signed-off-by: danbugs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2e09bdc9b..e88bb3f19 100644 --- a/README.md +++ b/README.md @@ -144,7 +144,7 @@ the [./src/tests/rust_guests](./src/tests/rust_guests) directory for Rust guests - Hyperlight Guest Libraries (i.e., the ones to make it easier to create guests that run inside the VMs) - [src/hyperlight_guest](./src/hyperlight_guest) - The core Rust library for Hyperlight guests. It provides only the essential building blocks for interacting with the host environment, including the VM exit mechanism (`outb`), abstractions for calling host functions and receiving return values, and the input/output stacks used for guest-host communication. - - [src/hyperlight_guest_bin](./src/hyperlight_guest_bin/) - A minimal shim that allows using `hyperlight_guest` without adopting its more opinionated components (e.g., panic handler, heap initialization, musl-specific imports, logging, and exception handling). + - [src/hyperlight_guest_bin](./src/hyperlight_guest_bin/) - An extension to the core Rust library for Hyperlight guests. It contains more opinionated components (e.g., panic handler, heap initialization, musl-specific imports, logging, and exception handling). - [src/hyperlight_guest_capi](./src/hyperlight_guest_capi) - A C-compatible wrapper around `hyperlight_guest_bin`, exposing its core functionality for use in C programs and other languages via FFI. - Hyperlight Common (functionality used by both the host and the guest)