xref: /qemu/linux-user/sparc/target_signal.h (revision 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517)
19c93ae13SMarkus Armbruster #ifndef SPARC_TARGET_SIGNAL_H
29c93ae13SMarkus Armbruster #define SPARC_TARGET_SIGNAL_H
3a04e134aSths 
41bdefb5aSLaurent Vivier #define TARGET_SIGHUP            1
51bdefb5aSLaurent Vivier #define TARGET_SIGINT            2
61bdefb5aSLaurent Vivier #define TARGET_SIGQUIT           3
71bdefb5aSLaurent Vivier #define TARGET_SIGILL            4
81bdefb5aSLaurent Vivier #define TARGET_SIGTRAP           5
91bdefb5aSLaurent Vivier #define TARGET_SIGABRT           6
101bdefb5aSLaurent Vivier #define TARGET_SIGIOT            6
11*e64c6d42SRichard Henderson #define TARGET_SIGEMT            7
121bdefb5aSLaurent Vivier #define TARGET_SIGFPE            8
131bdefb5aSLaurent Vivier #define TARGET_SIGKILL           9
141bdefb5aSLaurent Vivier #define TARGET_SIGBUS           10
151bdefb5aSLaurent Vivier #define TARGET_SIGSEGV          11
161bdefb5aSLaurent Vivier #define TARGET_SIGSYS           12
171bdefb5aSLaurent Vivier #define TARGET_SIGPIPE          13
181bdefb5aSLaurent Vivier #define TARGET_SIGALRM          14
191bdefb5aSLaurent Vivier #define TARGET_SIGTERM          15
201bdefb5aSLaurent Vivier #define TARGET_SIGURG           16
211bdefb5aSLaurent Vivier #define TARGET_SIGSTOP          17
221bdefb5aSLaurent Vivier #define TARGET_SIGTSTP          18
231bdefb5aSLaurent Vivier #define TARGET_SIGCONT          19
241bdefb5aSLaurent Vivier #define TARGET_SIGCHLD          20
251bdefb5aSLaurent Vivier #define TARGET_SIGTTIN          21
261bdefb5aSLaurent Vivier #define TARGET_SIGTTOU          22
271bdefb5aSLaurent Vivier #define TARGET_SIGIO            23
281bdefb5aSLaurent Vivier #define TARGET_SIGXCPU          24
291bdefb5aSLaurent Vivier #define TARGET_SIGXFSZ          25
301bdefb5aSLaurent Vivier #define TARGET_SIGVTALRM        26
311bdefb5aSLaurent Vivier #define TARGET_SIGPROF          27
321bdefb5aSLaurent Vivier #define TARGET_SIGWINCH         28
331bdefb5aSLaurent Vivier #define TARGET_SIGPWR           29
341bdefb5aSLaurent Vivier #define TARGET_SIGUSR1          30
351bdefb5aSLaurent Vivier #define TARGET_SIGUSR2          31
361bdefb5aSLaurent Vivier #define TARGET_SIGRTMIN         32
371bdefb5aSLaurent Vivier 
381bdefb5aSLaurent Vivier #define TARGET_SIG_BLOCK          0x01 /* for blocking signals */
391bdefb5aSLaurent Vivier #define TARGET_SIG_UNBLOCK        0x02 /* for unblocking signals */
401bdefb5aSLaurent Vivier #define TARGET_SIG_SETMASK        0x04 /* for setting the signal mask */
411bdefb5aSLaurent Vivier 
42a04e134aSths /* this struct defines a stack used during syscall handling */
43a04e134aSths 
44a04e134aSths typedef struct target_sigaltstack {
45992f48a0Sblueswir1     abi_ulong ss_sp;
46ce437484SLemonBoy     abi_int 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 
571bdefb5aSLaurent Vivier #define TARGET_SA_NOCLDSTOP    8u
581bdefb5aSLaurent Vivier #define TARGET_SA_NOCLDWAIT    0x100u
591bdefb5aSLaurent Vivier #define TARGET_SA_SIGINFO      0x200u
601bdefb5aSLaurent Vivier #define TARGET_SA_ONSTACK      1u
611bdefb5aSLaurent Vivier #define TARGET_SA_RESTART      2u
621bdefb5aSLaurent Vivier #define TARGET_SA_NODEFER      0x20u
631bdefb5aSLaurent Vivier #define TARGET_SA_RESETHAND    4u
641bdefb5aSLaurent Vivier #define TARGET_ARCH_HAS_SA_RESTORER 1
651bdefb5aSLaurent Vivier #define TARGET_ARCH_HAS_KA_RESTORER 1
661bdefb5aSLaurent Vivier 
67a04e134aSths #define TARGET_MINSIGSTKSZ	4096
68a04e134aSths 
69bb3347f8SRichard Henderson #ifdef TARGET_ABI32
70cb6ac802SLaurent Vivier #define TARGET_ARCH_HAS_SETUP_FRAME
713f7685eaSRichard Henderson #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 1
723f7685eaSRichard Henderson #else
733f7685eaSRichard Henderson /* For sparc64, use of KA_RESTORER is mandatory. */
743f7685eaSRichard Henderson #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 0
75bb3347f8SRichard Henderson #endif
76fba08745SChen Gang 
77fba08745SChen Gang /* bit-flags */
78fba08745SChen Gang #define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
79fba08745SChen Gang /* mask for all SS_xxx flags */
80fba08745SChen Gang #define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM
81fba08745SChen Gang 
829c93ae13SMarkus Armbruster #endif /* SPARC_TARGET_SIGNAL_H */
83