diff options
Diffstat (limited to 'src/bits32/mod.rs')
-rw-r--r-- | src/bits32/mod.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/bits32/mod.rs b/src/bits32/mod.rs index f02ff4d..1267023 100644 --- a/src/bits32/mod.rs +++ b/src/bits32/mod.rs @@ -6,8 +6,11 @@ pub mod segmentation; pub mod task; #[cfg(target_arch = "x86")] +use core::arch::asm; + +#[cfg(target_arch = "x86")] #[inline(always)] pub unsafe fn stack_jmp(stack: *mut (), ip: *const ()) -> ! { - llvm_asm!("mov esp, $0; jmp $1" :: "rg"(stack), "r"(ip) :: "volatile", "intel"); + asm!("movl {0}, %esp; jmp {1}", in(reg) stack, in(reg) ip, options(att_syntax)); loop {} } |