1*1744aea1SAndreas Schwab #ifndef TARGET_SIGNAL_H 2*1744aea1SAndreas Schwab #define TARGET_SIGNAL_H 3*1744aea1SAndreas Schwab 4*1744aea1SAndreas Schwab #include "cpu.h" 5*1744aea1SAndreas Schwab 6*1744aea1SAndreas Schwab /* this struct defines a stack used during syscall handling */ 7*1744aea1SAndreas Schwab 8*1744aea1SAndreas Schwab typedef struct target_sigaltstack { 9*1744aea1SAndreas Schwab abi_ulong ss_sp; 10*1744aea1SAndreas Schwab abi_int ss_flags; 11*1744aea1SAndreas Schwab abi_ulong ss_size; 12*1744aea1SAndreas Schwab } target_stack_t; 13*1744aea1SAndreas Schwab 14*1744aea1SAndreas Schwab 15*1744aea1SAndreas Schwab /* 16*1744aea1SAndreas Schwab * sigaltstack controls 17*1744aea1SAndreas Schwab */ 18*1744aea1SAndreas Schwab #define TARGET_SS_ONSTACK 1 19*1744aea1SAndreas Schwab #define TARGET_SS_DISABLE 2 20*1744aea1SAndreas Schwab 21*1744aea1SAndreas Schwab #define TARGET_MINSIGSTKSZ 2048 22*1744aea1SAndreas Schwab #define TARGET_SIGSTKSZ 8192 23*1744aea1SAndreas Schwab 24*1744aea1SAndreas Schwab static inline abi_ulong get_sp_from_cpustate(CPUARMState *state) 25*1744aea1SAndreas Schwab { 26*1744aea1SAndreas Schwab return state->xregs[31]; 27*1744aea1SAndreas Schwab } 28*1744aea1SAndreas Schwab 29*1744aea1SAndreas Schwab #endif /* TARGET_SIGNAL_H */ 30