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 #define TARGET_SIGSTKSZ 8192 68 69 /* bit-flags */ 70 #define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */ 71 /* mask for all SS_xxx flags */ 72 #define TARGET_SS_FLAG_BITS TARGET_SS_AUTODISARM 73 74 /* 75 * We cannot use a bare sigtramp page for hppa-linux. 76 * 77 * Unlike other guests where we use the instructions at PC to validate 78 * an offset from SP, the hppa libgcc signal frame fallback unwinding uses 79 * the PC address itself to find the frame. This is due to the fact that 80 * the hppa grows the stack upward, and the frame is of unknown size. 81 * 82 * TODO: We should be able to use a VDSO to address this, by providing 83 * proper unwind info for the sigtramp code, at which point the fallback 84 * unwinder will not be used. 85 */ 86 #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 0 87 88 #endif /* HPPA_TARGET_SIGNAL_H */ 89