diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 61 |
1 files changed, 9 insertions, 52 deletions
@@ -1,11 +1,11 @@ +#![cfg(any(target_arch="x86", target_arch="x86_64"))] + #![feature(const_fn)] #![feature(asm)] +#![feature(associated_consts)] #![no_std] #![cfg_attr(test, allow(unused_features))] -#![crate_name = "x86"] -#![crate_type = "lib"] - #[macro_use] extern crate bitflags; @@ -16,57 +16,14 @@ extern crate raw_cpuid; #[macro_use] extern crate phf; +#[cfg(target_arch="x86")] +pub mod bits32; +#[cfg(target_arch="x86_64")] +pub mod bits64; +pub mod shared; + 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; -pub mod sgx; -#[cfg(feature = "performance-counter")] -pub mod perfcnt; -pub mod cpuid { - pub use raw_cpuid::*; -} -pub mod tlb; |