Expand description

Tiny no_std crate that loads and boots Real Mode code from an x86-64 kernel.

Example Usage

Before calling realjump, you need to do the following in your kernel:

  • Disable interrupts
  • Identity map the lowest 1MiB memory as executable
  • Halt all other processors
let mbr = {
    // Load your MBR from somewhere
    let mut bin = [0xf4; 512];
    bin[510] = 0x55;
    bin[511] = 0xaa;
    bin
};

unsafe {
    realjump::boot_mbr(&mbr).unwrap();
}

Enums

An error.

Constants

Size of the bootstrap code.

The maximum payload size.

Functions

Copy a payload to a destination, then jump to it.

Boot a GRUB2 core image.

Boot an MBR.

Copy a payload to a destination, then jump to an offset.