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