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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
#![feature(const_fn)] #![feature(asm)] #![no_std] #![cfg_attr(test, allow(unused_features))] #![crate_name = "x86"] #![crate_type = "lib"] #[macro_use] mod bitflags; #[macro_use] extern crate raw_cpuid; #[cfg(feature = "performance-counter")] #[macro_use] extern crate phf; mod std { pub use core::fmt; pub use core::ops; pub use core::option; } macro_rules! bit { ( $x:expr ) => { 1 << $x }; } macro_rules! check_flag { ($doc:meta, $fun:ident, $flag:ident) => ( #[$doc] pub fn $fun(&self) -> bool { self.contains($flag) } ) } macro_rules! is_bit_set { ($field:expr, $bit:expr) => ( $field & (1 << $bit) > 0 ) } macro_rules! check_bit_fn { ($doc:meta, $fun:ident, $field:ident, $bit:expr) => ( #[$doc] pub fn $fun(&self) -> bool { is_bit_set!(self.$field, $bit) } ) } pub mod io; pub mod controlregs; pub mod msr; pub mod time; pub mod irq; pub mod rflags; pub mod paging; pub mod segmentation; pub mod task; pub mod dtables; pub mod syscall; #[cfg(feature = "performance-counter")] pub mod perfcnt; pub mod cpuid { pub use raw_cpuid::*; } pub mod tlb;