qemu/linux-user/hppa/target_signal.h
<<
>>
Prefs
   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 */
  89