cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

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 */