1a04e134aSths #ifndef TARGET_SIGNAL_H 2a04e134aSths #define TARGET_SIGNAL_H 3a04e134aSths 4a04e134aSths #include "cpu.h" 5a04e134aSths 6a04e134aSths /* this struct defines a stack used during syscall handling */ 7a04e134aSths 8a04e134aSths typedef struct target_sigaltstack { 9a04e134aSths target_ulong ss_sp; 10a04e134aSths target_long ss_flags; 11a04e134aSths target_ulong ss_size; 12a04e134aSths } target_stack_t; 13a04e134aSths 14a04e134aSths 15a04e134aSths /* 16a04e134aSths * sigaltstack controls 17a04e134aSths */ 18a04e134aSths #define TARGET_SS_ONSTACK 1 19a04e134aSths #define TARGET_SS_DISABLE 2 20a04e134aSths 21a04e134aSths #define TARGET_MINSIGSTKSZ 4096 22a04e134aSths #define TARGET_SIGSTKSZ 16384 23a04e134aSths 24*198a74deSths #ifndef UREG_I6 25*198a74deSths #define UREG_I6 6 26*198a74deSths #endif 27*198a74deSths #ifndef UREG_FP 28*198a74deSths #define UREG_FP UREG_I6 29*198a74deSths #endif 30*198a74deSths 31*198a74deSths static inline target_ulong get_sp_from_cpustate(CPUSPARCState *state) 32*198a74deSths { 33*198a74deSths return state->regwptr[UREG_FP]; 34*198a74deSths } 35*198a74deSths 36a04e134aSths #endif /* TARGET_SIGNAL_H */ 37