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 { 9992f48a0Sblueswir1 abi_ulong ss_sp; 10992f48a0Sblueswir1 abi_long ss_flags; 11992f48a0Sblueswir1 abi_ulong ss_size; 12*c227f099SAnthony Liguori } 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 24198a74deSths #ifndef UREG_I6 25198a74deSths #define UREG_I6 6 26198a74deSths #endif 27198a74deSths #ifndef UREG_FP 28198a74deSths #define UREG_FP UREG_I6 29198a74deSths #endif 30198a74deSths 31992f48a0Sblueswir1 static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state) 32198a74deSths { 33198a74deSths return state->regwptr[UREG_FP]; 34198a74deSths } 35198a74deSths 36a04e134aSths #endif /* TARGET_SIGNAL_H */ 37