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
#![cfg(target_arch = "x86_64")] //! Special x86_64 instructions. pub mod interrupts; pub mod port; pub mod random; pub mod segmentation; pub mod tables; pub mod tlb; /// Halts the CPU until the next interrupt arrives. #[inline] pub fn hlt() { unsafe { asm!("hlt" :::: "volatile"); } } /// Emits a '[magic breakpoint](https://wiki.osdev.org/Bochs#Magic_Breakpoint)' instruction for the [Bochs](http://bochs.sourceforge.net/) CPU /// emulator. Make sure to set `magic_break: enabled=1` in your `.bochsrc` file. #[inline] pub fn bochs_breakpoint() { unsafe { asm!("xchgw %bx, %bx" :::: "volatile"); } }