1 #ifndef SPARC_TARGET_SIGNAL_H 2 #define SPARC_TARGET_SIGNAL_H 3 4 #define TARGET_SIGHUP 1 5 #define TARGET_SIGINT 2 6 #define TARGET_SIGQUIT 3 7 #define TARGET_SIGILL 4 8 #define TARGET_SIGTRAP 5 9 #define TARGET_SIGABRT 6 10 #define TARGET_SIGIOT 6 11 #define TARGET_SIGEMT 7 12 #define TARGET_SIGFPE 8 13 #define TARGET_SIGKILL 9 14 #define TARGET_SIGBUS 10 15 #define TARGET_SIGSEGV 11 16 #define TARGET_SIGSYS 12 17 #define TARGET_SIGPIPE 13 18 #define TARGET_SIGALRM 14 19 #define TARGET_SIGTERM 15 20 #define TARGET_SIGURG 16 21 #define TARGET_SIGSTOP 17 22 #define TARGET_SIGTSTP 18 23 #define TARGET_SIGCONT 19 24 #define TARGET_SIGCHLD 20 25 #define TARGET_SIGTTIN 21 26 #define TARGET_SIGTTOU 22 27 #define TARGET_SIGIO 23 28 #define TARGET_SIGXCPU 24 29 #define TARGET_SIGXFSZ 25 30 #define TARGET_SIGVTALRM 26 31 #define TARGET_SIGPROF 27 32 #define TARGET_SIGWINCH 28 33 #define TARGET_SIGPWR 29 34 #define TARGET_SIGUSR1 30 35 #define TARGET_SIGUSR2 31 36 #define TARGET_SIGRTMIN 32 37 38 #define TARGET_SIG_BLOCK 0x01 /* for blocking signals */ 39 #define TARGET_SIG_UNBLOCK 0x02 /* for unblocking signals */ 40 #define TARGET_SIG_SETMASK 0x04 /* for setting the signal mask */ 41 42 /* this struct defines a stack used during syscall handling */ 43 44 typedef struct target_sigaltstack { 45 abi_ulong ss_sp; 46 abi_int ss_flags; 47 abi_ulong ss_size; 48 } target_stack_t; 49 50 51 /* 52 * sigaltstack controls 53 */ 54 #define TARGET_SS_ONSTACK 1 55 #define TARGET_SS_DISABLE 2 56 57 #define TARGET_SA_NOCLDSTOP 8u 58 #define TARGET_SA_NOCLDWAIT 0x100u 59 #define TARGET_SA_SIGINFO 0x200u 60 #define TARGET_SA_ONSTACK 1u 61 #define TARGET_SA_RESTART 2u 62 #define TARGET_SA_NODEFER 0x20u 63 #define TARGET_SA_RESETHAND 4u 64 #define TARGET_ARCH_HAS_SA_RESTORER 1 65 #define TARGET_ARCH_HAS_KA_RESTORER 1 66 67 #define TARGET_MINSIGSTKSZ 4096 68 69 #ifdef TARGET_ABI32 70 #define TARGET_ARCH_HAS_SETUP_FRAME 71 #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 1 72 #else 73 /* For sparc64, use of KA_RESTORER is mandatory. */ 74 #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 0 75 #endif 76 77 /* bit-flags */ 78 #define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */ 79 /* mask for all SS_xxx flags */ 80 #define TARGET_SS_FLAG_BITS TARGET_SS_AUTODISARM 81 82 #endif /* SPARC_TARGET_SIGNAL_H */ 83