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