hardware 0.0.9

A no_std bare-metal hardware abstraction layer — all port I/O, memory and swap allocations are guarded at runtime. Do not consider this dependency stable before x.1.x
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::arch::x86_64::io::{outb, outl};

pub fn reboot() {
    unsafe {
        outb(0x64, 0xFE);
    }
}

pub fn shutdown() {
    unsafe {
        outl(0x604, 0x2000);
        outb(0x64, 0xFE);
    }
    loop {
        core::hint::spin_loop();
    }
}