24 lines
646 B
C
24 lines
646 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#if __alpha__
|
|
register unsigned long sp asm("$30");
|
|
#elif __arm__ || __aarch64__ || __csky__ || __m68k__ || __mips__ || __riscv
|
|
register unsigned long sp asm("sp");
|
|
#elif __i386__
|
|
register unsigned long sp asm("esp");
|
|
#elif __loongarch64
|
|
register unsigned long sp asm("$sp");
|
|
#elif __ppc__
|
|
register unsigned long sp asm("r1");
|
|
#elif __s390x__
|
|
register unsigned long sp asm("%15");
|
|
#elif __sh__
|
|
register unsigned long sp asm("r15");
|
|
#elif __x86_64__
|
|
register unsigned long sp asm("rsp");
|
|
#elif __XTENSA__
|
|
register unsigned long sp asm("a1");
|
|
#else
|
|
#error "implement current_stack_pointer equivalent"
|
|
#endif
|