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