| /* 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 __powerpc__ |
| 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 |