Skip to content

Commit

Permalink
boot: Add freestanding stall
Browse files Browse the repository at this point in the history
One minor implementation change from the BootServices version: the Status value
is ignored rather than asserting it is `SUCCESS`. There shouldn't be any
practical difference, as stalling should always succeed. In the unlikely event
that some implementation returns an error, a panic is unlikely to be desirable
to the caller.
  • Loading branch information
nicholasbishop committed Aug 7, 2024
1 parent d4ae463 commit 6ca1cfb
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions uefi/src/boot.rs
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,18 @@ pub unsafe fn exit(
)
}

/// Stalls execution for the given number of microseconds.
pub fn stall(microseconds: usize) {
let bt = boot_services_raw_panicking();
let bt = unsafe { bt.as_ref() };

unsafe {
// No error conditions are defined in the spec for this function, so
// ignore the status.
let _ = (bt.stall)(microseconds);
}
}

/// A buffer returned by [`locate_handle_buffer`] that contains an array of
/// [`Handle`]s that support the requested protocol.
#[derive(Debug, Eq, PartialEq)]
Expand Down

0 comments on commit 6ca1cfb

Please sign in to comment.