blob: c7de300cd7d2862fb0756bdc151efc00d02902e8 [file] [log] [blame]
thsa04e1342007-09-27 13:57:58 +00001#ifndef TARGET_SIGNAL_H
2#define TARGET_SIGNAL_H
3
4#include "cpu.h"
5
6/* this struct defines a stack used during syscall handling */
7
8typedef struct target_sigaltstack {
blueswir1992f48a2007-10-14 16:27:31 +00009 abi_ulong ss_sp;
10 abi_long ss_flags;
11 abi_ulong ss_size;
Anthony Liguoric227f092009-10-01 16:12:16 -050012} target_stack_t;
thsa04e1342007-09-27 13:57:58 +000013
14
15/*
16 * sigaltstack controls
17 */
18#define TARGET_SS_ONSTACK 1
19#define TARGET_SS_DISABLE 2
20
21#define TARGET_MINSIGSTKSZ 4096
22#define TARGET_SIGSTKSZ 16384
23
ths198a74d2007-09-27 16:44:32 +000024#ifndef UREG_I6
25#define UREG_I6 6
26#endif
27#ifndef UREG_FP
28#define UREG_FP UREG_I6
29#endif
30
blueswir1992f48a2007-10-14 16:27:31 +000031static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state)
ths198a74d2007-09-27 16:44:32 +000032{
33 return state->regwptr[UREG_FP];
34}
35
thsa04e1342007-09-27 13:57:58 +000036#endif /* TARGET_SIGNAL_H */