1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _ASM_SCS_H 3*4882a593Smuzhiyun #define _ASM_SCS_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifdef __ASSEMBLY__ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #include <asm/asm-offsets.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifdef CONFIG_SHADOW_CALL_STACK 10*4882a593Smuzhiyun scs_sp .req x18 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun .macro scs_load tsk, tmp 13*4882a593Smuzhiyun ldr scs_sp, [\tsk, #TSK_TI_SCS_SP] 14*4882a593Smuzhiyun .endm 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun .macro scs_save tsk, tmp 17*4882a593Smuzhiyun str scs_sp, [\tsk, #TSK_TI_SCS_SP] 18*4882a593Smuzhiyun .endm 19*4882a593Smuzhiyun #else 20*4882a593Smuzhiyun .macro scs_load tsk, tmp 21*4882a593Smuzhiyun .endm 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun .macro scs_save tsk, tmp 24*4882a593Smuzhiyun .endm 25*4882a593Smuzhiyun #endif /* CONFIG_SHADOW_CALL_STACK */ 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #endif /* __ASSEMBLY __ */ 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun #endif /* _ASM_SCS_H */ 30