]>
Commit | Line | Data |
---|---|---|
925ccf32 RH |
1 | #ifndef HPPA_TARGET_SIGNAL_H |
2 | #define HPPA_TARGET_SIGNAL_H | |
3 | ||
db30b1aa LV |
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 | |
9d660adc | 37 | #define TARGET_SIGRTMIN 32 |
db30b1aa LV |
38 | |
39 | #define TARGET_SIG_BLOCK 0 | |
40 | #define TARGET_SIG_UNBLOCK 1 | |
41 | #define TARGET_SIG_SETMASK 2 | |
42 | ||
925ccf32 RH |
43 | /* this struct defines a stack used during syscall handling */ |
44 | ||
45 | typedef struct target_sigaltstack { | |
46 | abi_ulong ss_sp; | |
ce437484 | 47 | abi_int ss_flags; |
925ccf32 RH |
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 | ||
db30b1aa LV |
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 | ||
925ccf32 | 66 | #define TARGET_MINSIGSTKSZ 2048 |
925ccf32 | 67 | |
fba08745 CG |
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 | ||
a22fccd8 RH |
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 | ||
925ccf32 | 87 | #endif /* HPPA_TARGET_SIGNAL_H */ |