target_signal.h (2747B)
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 45typedef 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 */