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