pub fn boot(&mut self) -> ! {
        if !self.footer.success() {
            self.footer.decrement_attempts();
        }

        unsafe {
            // Set the stack pointer to 0.
            // Set the instruction pointer to the beginning of the image.
            // TODO: Move the ISV to the beginning of the image.
            asm!(
                "mov sp, $0;
                 mov ip, $1;"
                :
                :
                "r" (0),
                "r" (self.footer.start_address().unwrap())
            );
        }
        unreachable!()
    }
/// Boots the image.
///
/// If the image has not been marked as having successfully booted, the number of remaining
/// boot attempts is decremented.
Boots the image.
If the image has not been marked as having successfully booted, the number of remaining
boot attempts is decremented.
Boots the image . If the image has not been marked as having successfully booted the number of remaining boot attempts is decremented .
pub fn boot(&mut self) -> ! {
        if !self.footer.success() {
            self.footer.decrement_attempts();
        }
        unsafe {
            // Set the stack pointer to 0.
            // Set the instruction pointer to the beginning of the image.
            // TODO: Move the ISV to the beginning of the image.
            asm!(
                "mov sp, $0;
                 mov ip, $1;"
                :
                :
                "r" (0),
                "r" (self.footer.start_address().unwrap())
            );
        }
        unreachable!()
    }
pub fn boot ( & mut self ) -> ! { if ! self . footer . success ( ) { self . footer . decrement_attempts ( ) ; } unsafe { // Set the stack pointer to 0. // Set the instruction pointer to the beginning of the image. // TODO: Move the ISV to the beginning of the image. asm ! ( " " " " ( 0 ) " " ( self footer start_address ( ) unwrap ( ) ) ) ; } unreachable ! ( ) }
Boots the image.
Boots the image .
&mut self
&mut self