00001 #ifndef __L4UTIL__INCLUDE__ARCH_AMD64__STACK_IMPL_H__ 00002 #define __L4UTIL__INCLUDE__ARCH_AMD64__STACK_IMPL_H__ 00003 00004 EXTERN_C_BEGIN 00005 00006 #ifndef _L4UTIL_STACK_H 00007 #error Do not include stack_impl.h directly, use stack.h instead 00008 #endif 00009 00010 L4_INLINE l4_addr_t l4util_stack_get_sp(void) 00011 { 00012 l4_addr_t rsp; 00013 00014 asm("movq %%rsp, %0\n\t" : "=r" (rsp) : ); 00015 return rsp; 00016 } 00017 00018 EXTERN_C_END 00019 00020 #endif /* ! __L4UTIL__INCLUDE__ARCH_AMD64__STACK_IMPL_H__ */