1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
pub mod control_regs; pub mod descriptor; pub mod dtables; pub mod io; pub mod irq; pub mod msr; pub mod paging; pub mod flags; pub mod segmentation; pub mod task; pub mod tlb; #[derive(Copy, Clone, PartialEq, Eq)] #[repr(u8)] pub enum PrivilegeLevel { Ring0 = 0, Ring1 = 1, Ring2 = 2, Ring3 = 3, } #[inline(always)] pub unsafe fn halt() { asm!("hlt" :::: "volatile"); }