1*9c93ae13SMarkus Armbruster #ifndef I386_TARGET_SIGNAL_H 2*9c93ae13SMarkus Armbruster #define I386_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; 12c227f099SAnthony 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 2048 22a04e134aSths #define TARGET_SIGSTKSZ 8192 23a04e134aSths 24992f48a0Sblueswir1 static inline abi_ulong get_sp_from_cpustate(CPUX86State *state) 25198a74deSths { 26198a74deSths return state->regs[R_ESP]; 27198a74deSths } 28198a74deSths 29*9c93ae13SMarkus Armbruster #endif /* I386_TARGET_SIGNAL_H */ 30