1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
//! Access to various system and model specific registers. pub mod control; pub mod model_specific; pub mod rflags; /// Gets the current instruction pointer. Note that this is only approximate as it requires a few /// instructions to execute. #[inline(always)] pub fn read_rip() -> u64 { let rip: u64; unsafe { asm!( "lea (%rip), $0" : "=r"(rip) ::: "volatile" ); } rip }