1 #ifndef HPPA_TARGET_SIGNAL_H 2 #define HPPA_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_SIGSTKFLT 7 12 #define TARGET_SIGFPE 8 13 #define TARGET_SIGKILL 9 14 #define TARGET_SIGBUS 10 15 #define TARGET_SIGSEGV 11 16 #define TARGET_SIGXCPU 12 17 #define TARGET_SIGPIPE 13 18 #define TARGET_SIGALRM 14 19 #define TARGET_SIGTERM 15 20 #define TARGET_SIGUSR1 16 21 #define TARGET_SIGUSR2 17 22 #define TARGET_SIGCHLD 18 23 #define TARGET_SIGPWR 19 24 #define TARGET_SIGVTALRM 20 25 #define TARGET_SIGPROF 21 26 #define TARGET_SIGIO 22 27 #define TARGET_SIGPOLL TARGET_SIGIO 28 #define TARGET_SIGWINCH 23 29 #define TARGET_SIGSTOP 24 30 #define TARGET_SIGTSTP 25 31 #define TARGET_SIGCONT 26 32 #define TARGET_SIGTTIN 27 33 #define TARGET_SIGTTOU 28 34 #define TARGET_SIGURG 29 35 #define TARGET_SIGXFSZ 30 36 #define TARGET_SIGSYS 31 37 #define TARGET_SIGRTMIN 32 38 39 #define TARGET_SIG_BLOCK 0 40 #define TARGET_SIG_UNBLOCK 1 41 #define TARGET_SIG_SETMASK 2 42 43 /* this struct defines a stack used during syscall handling */ 44 45 typedef struct target_sigaltstack { 46 abi_ulong ss_sp; 47 abi_int ss_flags; 48 abi_ulong ss_size; 49 } target_stack_t; 50 51 52 /* 53 * sigaltstack controls 54 */ 55 #define TARGET_SS_ONSTACK 1 56 #define TARGET_SS_DISABLE 2 57 58 #define TARGET_SA_ONSTACK 0x00000001 59 #define TARGET_SA_RESETHAND 0x00000004 60 #define TARGET_SA_NOCLDSTOP 0x00000008 61 #define TARGET_SA_SIGINFO 0x00000010 62 #define TARGET_SA_NODEFER 0x00000020 63 #define TARGET_SA_RESTART 0x00000040 64 #define TARGET_SA_NOCLDWAIT 0x00000080 65 66 #define TARGET_MINSIGSTKSZ 2048 67 68 /* bit-flags */ 69 #define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */ 70 /* mask for all SS_xxx flags */ 71 #define TARGET_SS_FLAG_BITS TARGET_SS_AUTODISARM 72 73 /* 74 * We cannot use a bare sigtramp page for hppa-linux. 75 * 76 * Unlike other guests where we use the instructions at PC to validate 77 * an offset from SP, the hppa libgcc signal frame fallback unwinding uses 78 * the PC address itself to find the frame. This is due to the fact that 79 * the hppa grows the stack upward, and the frame is of unknown size. 80 * 81 * TODO: We should be able to use a VDSO to address this, by providing 82 * proper unwind info for the sigtramp code, at which point the fallback 83 * unwinder will not be used. 84 */ 85 #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 0 86 87 #endif /* HPPA_TARGET_SIGNAL_H */ 88