Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhisto

USER $USER

ARG RUST_TOOLCHAIN=1.89
ARG RUST_TOOLCHAIN=1.94

# Install rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/CargoAudit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
# TODO: Once the runner image is updated to include the necessary tools (without downloading), we can switch to the common workflow.
- uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1
with:
toolchain: "1.89"
toolchain: "1.94"

- uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2.0.0
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/CargoPublish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"

- name: Check crate versions
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/CreateDevcontainerImage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:
USER: vscode
GROUP: vscode
LLVM_VERSION: 18
RUST_TOOLCHAIN_DEFAULT: 1.89
RUST_TOOLCHAIN_DEFAULT: 1.94
RUST_TOOLCHAIN_FILE: rust-toolchain.toml

# There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu.
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/CreateRelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -53,7 +53,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -123,7 +123,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -138,7 +138,7 @@ jobs:
echo "HYPERLIGHT_VERSION=$version"

- name: Install cargo-hyperlight
run: cargo install cargo-hyperlight --version 0.1.10 --locked --force
run: just ensure-cargo-hyperlight

- name: Build and archive guest library + header files
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/PrimeCaches.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/RustNightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
src/tests/rust_guests -> target

- name: Install cargo-hyperlight
run: cargo install cargo-hyperlight --version 0.1.10 --locked --force
run: just ensure-cargo-hyperlight

- name: Build and move Rust guests
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/dep_benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dep_build_guests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
src/tests/rust_guests -> target

- name: Install cargo-hyperlight
run: cargo install cargo-hyperlight --version 0.1.10 --locked --force
run: just ensure-cargo-hyperlight

- name: Build Rust guests
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dep_build_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/dep_code_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
run: just fmt-check

- name: Install cargo-hyperlight
run: cargo install cargo-hyperlight --version 0.1.10 --locked --force
run: just ensure-cargo-hyperlight

- name: clippy exhaustive check (debug)
run: just clippy-exhaustive debug
Expand Down Expand Up @@ -104,7 +104,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -139,7 +139,7 @@ jobs:
run: just fmt-check

- name: Install cargo-hyperlight
run: cargo install cargo-hyperlight --version 0.1.10 --locked --force
run: just ensure-cargo-hyperlight

- name: clippy (debug)
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dep_fuzzing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dep_run_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:

- uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dep_update_guest_locks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
- name: Setup Rust toolchain
uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0
with:
rust-toolchain: "1.89"
rust-toolchain: "1.94"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ build target=default-target:
guests: build-and-move-rust-guests build-and-move-c-guests

ensure-cargo-hyperlight:
cargo install --locked cargo-hyperlight
# Force reinstall so self-hosted runners don't keep a preinstalled binary with the same semver.
cargo install --locked --version 0.1.11 --force cargo-hyperlight
cargo hyperlight --version
{{ if os() == "windows" { "Get-Command cargo-hyperlight" } else { "command -v cargo-hyperlight" } }}
Comment on lines 50 to +54

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ran as part of just guest, which will now reinstall cargo-hyperlight evertime which seems wrong

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont know what went wrong with the runners but this was the fix, I'll look at it some more


witguest-wit:
cargo install --locked wasm-tools
Expand Down
4 changes: 2 additions & 2 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@
# for rustfmt and old toolchains to verify MSRV
toolchains = lib.mapAttrs (_: customisedRustChannelOf) {
stable = {
date = "2025-12-11";
date = "2026-03-05";
channel = "stable";
sha256 = "sha256-sqSWJDUxc+zaz1nBWMAJKTAGBuGWP25GCftIOlCEAtA=";
sha256 = "sha256-qqF33vNuAdU5vua96VKVIwuc43j4EFeEXbjQ6+l4mO4=";
Comment thread
simongdavies marked this conversation as resolved.
};
nightly = {
date = "2026-02-27";
Expand Down
2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[toolchain]
channel = "1.89"
channel = "1.94"
# Target used for guest binaries. This is an additive list of targets in addition to host platform.
# Will install the target if not already installed when building guest binaries.
targets = ["x86_64-unknown-none", "x86_64-unknown-linux-musl"]
1 change: 1 addition & 0 deletions src/hyperlight_common/src/virtq/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ impl Layout {
}

const _: () = {
#[allow(clippy::panic)]
#[allow(clippy::unwrap_used)]
const fn verify_layout(num_descs: usize) {
let base = 0x1000u64;
Expand Down
2 changes: 1 addition & 1 deletion src/hyperlight_common/src/virtq/ring.rs
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ impl RingCursor {
let new = self.head + n;
let wraps = new / self.size;
self.head = new % self.size;
if wraps % 2 != 0 {
if !wraps.is_multiple_of(2) {
self.wrap = !self.wrap;
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/hyperlight_guest_bin/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ pub(crate) extern "C" fn generic_init(
hyperlight_guest_tracing::flush();
}

dispatch_function as usize as u64
dispatch_function as *const () as usize as u64
}

#[cfg(feature = "macros")]
Expand Down
4 changes: 4 additions & 0 deletions src/hyperlight_guest_tracing/src/invariant_tsc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ use core::arch::x86_64::{__cpuid, _rdtsc};
/// Check if the processor supports invariant TSC
///
/// Returns true if CPUID.80000007H:EDX[8] is set, indicating invariant TSC support
// TODO: Remove this when MSRV is raised above 1.89.
// On Rust 1.89, __cpuid requires `unsafe`; on newer compilers it is safe and
// clippy flags these blocks as unnecessary.
#[allow(unused_unsafe)]
pub fn has_invariant_tsc() -> bool {
// Check if extended CPUID functions are available
let max_extended = unsafe { __cpuid(0x80000000) };
Comment thread
simongdavies marked this conversation as resolved.
Expand Down
8 changes: 8 additions & 0 deletions src/hyperlight_host/src/hypervisor/hyperlight_vm/x86_64.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1256,6 +1256,10 @@ mod tests {
/// - size: CPUID.0DH.n:EAX - size in bytes
/// - offset: CPUID.0DH.n:EBX - offset from XSAVE base (standard format only)
/// - align_64: CPUID.0DH.n:ECX bit 1 - true if 64-byte aligned (compacted format)
// TODO: Remove this when MSRV is raised above 1.89.
// On Rust 1.89, __cpuid_count requires `unsafe`; on newer compilers it is safe and
// clippy flags these blocks as unnecessary.
#[allow(unused_unsafe)]
fn xsave_component_info(comp_id: u32) -> (usize, usize, bool) {
let result = unsafe { std::arch::x86_64::__cpuid_count(0xD, comp_id) };
let size = result.eax as usize;
Expand All @@ -1266,6 +1270,10 @@ mod tests {

/// Query CPUID.0DH.00H for the bitmap of supported user state components.
/// EDX:EAX forms a 64-bit bitmap where bit i indicates support for component i.
// TODO: Remove this when MSRV is raised above 1.89.
// On Rust 1.89, __cpuid_count requires `unsafe`; on newer compilers it is safe and
// clippy flags these blocks as unnecessary.
#[allow(unused_unsafe)]
fn xsave_supported_components() -> u64 {
let result = unsafe { std::arch::x86_64::__cpuid_count(0xD, 0) };
(result.edx as u64) << 32 | (result.eax as u64)
Expand Down
6 changes: 4 additions & 2 deletions src/tests/rust_guests/simpleguest/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,10 @@ fn test_exception_handler(
/// Install handler for a specific vector
#[guest_function("InstallHandler")]
fn install_handler(vector: i32) {
hyperlight_guest_bin::exception::arch::HANDLERS[vector as usize]
.store(test_exception_handler as usize as u64, Ordering::Release);
hyperlight_guest_bin::exception::arch::HANDLERS[vector as usize].store(
test_exception_handler as *const () as usize as u64,
Ordering::Release,
);
}

/// Get how many times the handler was invoked
Expand Down
Loading