bootloader 0.8.7-alpha-000

An experimental pure-Rust x86 bootloader.
Documentation
/// Enables Streaming SIMD Extensions (SSE) support for loaded kernels.
pub fn enable_sse() {
    use bit_field::BitField;
    use x86_64::registers::control::Cr0;
    let mut flags = Cr0::read_raw();
    flags.set_bit(2, false);
    flags.set_bit(1, true);
    flags.set_bit(9, true);
    flags.set_bit(10, true);
    unsafe {
        Cr0::write_raw(flags);
    }
    // For now, we must use inline ASM here
    let mut cr4: u64;
    unsafe {
        asm!("mov %cr4, $0" : "=r" (cr4));
    }
    cr4.set_bit(9, true);
    cr4.set_bit(10, true);
    unsafe {
        asm!("mov $0, %cr4" :: "r" (cr4) : "memory");
    }
}