pub enum BootPath {
EfiHandover64 {
entry: u64,
},
ProtectedMode32 {
entry: u32,
},
}Expand description
Boot protocol decision logic
Based on GRUB bootloader approach:
- EFI handover protocol when handover_offset != 0 → Bootloader does NOT call ExitBootServices (kernel does it)
- 32-bit protected mode fallback otherwise → Bootloader MUST call ExitBootServices before jumping
Variants§
EfiHandover64
EFI Handover Protocol Entry: kernel_addr + handover_offset + 512 Boot services MUST be active (kernel will exit them)
ProtectedMode32
Legacy: 32-bit protected mode fallback Boot services MUST be exited before calling
Implementations§
Source§impl BootPath
impl BootPath
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BootPath
impl RefUnwindSafe for BootPath
impl Send for BootPath
impl Sync for BootPath
impl Unpin for BootPath
impl UnwindSafe for BootPath
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more