xref: /qemu/linux-user/sparc/target_signal.h (revision 1bdefb5ac73a8a5f7cc4858627424ea88d6db6de)
19c93ae13SMarkus Armbruster #ifndef SPARC_TARGET_SIGNAL_H
29c93ae13SMarkus Armbruster #define SPARC_TARGET_SIGNAL_H
3a04e134aSths 
4*1bdefb5aSLaurent Vivier #define TARGET_SIGHUP            1
5*1bdefb5aSLaurent Vivier #define TARGET_SIGINT            2
6*1bdefb5aSLaurent Vivier #define TARGET_SIGQUIT           3
7*1bdefb5aSLaurent Vivier #define TARGET_SIGILL            4
8*1bdefb5aSLaurent Vivier #define TARGET_SIGTRAP           5
9*1bdefb5aSLaurent Vivier #define TARGET_SIGABRT           6
10*1bdefb5aSLaurent Vivier #define TARGET_SIGIOT            6
11*1bdefb5aSLaurent Vivier #define TARGET_SIGSTKFLT         7 /* actually EMT */
12*1bdefb5aSLaurent Vivier #define TARGET_SIGFPE            8
13*1bdefb5aSLaurent Vivier #define TARGET_SIGKILL           9
14*1bdefb5aSLaurent Vivier #define TARGET_SIGBUS           10
15*1bdefb5aSLaurent Vivier #define TARGET_SIGSEGV          11
16*1bdefb5aSLaurent Vivier #define TARGET_SIGSYS           12
17*1bdefb5aSLaurent Vivier #define TARGET_SIGPIPE          13
18*1bdefb5aSLaurent Vivier #define TARGET_SIGALRM          14
19*1bdefb5aSLaurent Vivier #define TARGET_SIGTERM          15
20*1bdefb5aSLaurent Vivier #define TARGET_SIGURG           16
21*1bdefb5aSLaurent Vivier #define TARGET_SIGSTOP          17
22*1bdefb5aSLaurent Vivier #define TARGET_SIGTSTP          18
23*1bdefb5aSLaurent Vivier #define TARGET_SIGCONT          19
24*1bdefb5aSLaurent Vivier #define TARGET_SIGCHLD          20
25*1bdefb5aSLaurent Vivier #define TARGET_SIGTTIN          21
26*1bdefb5aSLaurent Vivier #define TARGET_SIGTTOU          22
27*1bdefb5aSLaurent Vivier #define TARGET_SIGIO            23
28*1bdefb5aSLaurent Vivier #define TARGET_SIGXCPU          24
29*1bdefb5aSLaurent Vivier #define TARGET_SIGXFSZ          25
30*1bdefb5aSLaurent Vivier #define TARGET_SIGVTALRM        26
31*1bdefb5aSLaurent Vivier #define TARGET_SIGPROF          27
32*1bdefb5aSLaurent Vivier #define TARGET_SIGWINCH         28
33*1bdefb5aSLaurent Vivier #define TARGET_SIGPWR           29
34*1bdefb5aSLaurent Vivier #define TARGET_SIGUSR1          30
35*1bdefb5aSLaurent Vivier #define TARGET_SIGUSR2          31
36*1bdefb5aSLaurent Vivier #define TARGET_SIGRTMIN         32
37*1bdefb5aSLaurent Vivier 
38*1bdefb5aSLaurent Vivier #define TARGET_SIG_BLOCK          0x01 /* for blocking signals */
39*1bdefb5aSLaurent Vivier #define TARGET_SIG_UNBLOCK        0x02 /* for unblocking signals */
40*1bdefb5aSLaurent Vivier #define TARGET_SIG_SETMASK        0x04 /* for setting the signal mask */
41*1bdefb5aSLaurent Vivier 
42a04e134aSths /* this struct defines a stack used during syscall handling */
43a04e134aSths 
44a04e134aSths typedef struct target_sigaltstack {
45992f48a0Sblueswir1 	abi_ulong ss_sp;
46992f48a0Sblueswir1 	abi_long ss_flags;
47992f48a0Sblueswir1 	abi_ulong ss_size;
48c227f099SAnthony Liguori } target_stack_t;
49a04e134aSths 
50a04e134aSths 
51a04e134aSths /*
52a04e134aSths  * sigaltstack controls
53a04e134aSths  */
54a04e134aSths #define TARGET_SS_ONSTACK	1
55a04e134aSths #define TARGET_SS_DISABLE	2
56a04e134aSths 
57*1bdefb5aSLaurent Vivier #define TARGET_SA_NOCLDSTOP    8u
58*1bdefb5aSLaurent Vivier #define TARGET_SA_NOCLDWAIT    0x100u
59*1bdefb5aSLaurent Vivier #define TARGET_SA_SIGINFO      0x200u
60*1bdefb5aSLaurent Vivier #define TARGET_SA_ONSTACK      1u
61*1bdefb5aSLaurent Vivier #define TARGET_SA_RESTART      2u
62*1bdefb5aSLaurent Vivier #define TARGET_SA_NODEFER      0x20u
63*1bdefb5aSLaurent Vivier #define TARGET_SA_RESETHAND    4u
64*1bdefb5aSLaurent Vivier #define TARGET_ARCH_HAS_SA_RESTORER 1
65*1bdefb5aSLaurent Vivier #define TARGET_ARCH_HAS_KA_RESTORER 1
66*1bdefb5aSLaurent Vivier 
67a04e134aSths #define TARGET_MINSIGSTKSZ	4096
68a04e134aSths #define TARGET_SIGSTKSZ		16384
69a04e134aSths 
70cb6ac802SLaurent Vivier #define TARGET_ARCH_HAS_SETUP_FRAME
719c93ae13SMarkus Armbruster #endif /* SPARC_TARGET_SIGNAL_H */
72