1*47ae93cdSMichael Clark #ifndef TARGET_SIGNAL_H 2*47ae93cdSMichael Clark #define TARGET_SIGNAL_H 3*47ae93cdSMichael Clark 4*47ae93cdSMichael Clark #include "cpu.h" 5*47ae93cdSMichael Clark 6*47ae93cdSMichael Clark typedef struct target_sigaltstack { 7*47ae93cdSMichael Clark abi_ulong ss_sp; 8*47ae93cdSMichael Clark abi_int ss_flags; 9*47ae93cdSMichael Clark abi_ulong ss_size; 10*47ae93cdSMichael Clark } target_stack_t; 11*47ae93cdSMichael Clark 12*47ae93cdSMichael Clark #define TARGET_SS_ONSTACK 1 13*47ae93cdSMichael Clark #define TARGET_SS_DISABLE 2 14*47ae93cdSMichael Clark 15*47ae93cdSMichael Clark #define TARGET_MINSIGSTKSZ 2048 16*47ae93cdSMichael Clark #define TARGET_SIGSTKSZ 8192 17*47ae93cdSMichael Clark 18*47ae93cdSMichael Clark static inline abi_ulong get_sp_from_cpustate(CPURISCVState *state) 19*47ae93cdSMichael Clark { 20*47ae93cdSMichael Clark return state->gpr[xSP]; 21*47ae93cdSMichael Clark } 22*47ae93cdSMichael Clark 23*47ae93cdSMichael Clark #endif /* TARGET_SIGNAL_H */ 24