1/* SPDX-License-Identifier: GPL-2.0 */
2
3#if __alpha__
4register unsigned long sp asm("$30");
5#elif __arm__ || __aarch64__ || __csky__ || __m68k__ || __mips__ || __riscv
6register unsigned long sp asm("sp");
7#elif __i386__
8register unsigned long sp asm("esp");
9#elif __loongarch64
10register unsigned long sp asm("$sp");
11#elif __ppc__
12register unsigned long sp asm("r1");
13#elif __s390x__
14register unsigned long sp asm("%15");
15#elif __sh__
16register unsigned long sp asm("r15");
17#elif __x86_64__
18register unsigned long sp asm("rsp");
19#elif __XTENSA__
20register unsigned long sp asm("a1");
21#else
22#error "implement current_stack_pointer equivalent"
23#endif
24