xref: /openbmc/qemu/linux-user/aarch64/target_signal.h (revision 9f172adb35123a093aec8feb74de0e126ae2138e)
1 #ifndef AARCH64_TARGET_SIGNAL_H
2 #define AARCH64_TARGET_SIGNAL_H
3 
4 #include "cpu.h"
5 
6 /* this struct defines a stack used during syscall handling */
7 
8 typedef struct target_sigaltstack {
9     abi_ulong ss_sp;
10     abi_int ss_flags;
11     abi_ulong ss_size;
12 } target_stack_t;
13 
14 
15 /*
16  * sigaltstack controls
17  */
18 #define TARGET_SS_ONSTACK 1
19 #define TARGET_SS_DISABLE 2
20 
21 #define TARGET_MINSIGSTKSZ 2048
22 #define TARGET_SIGSTKSZ 8192
23 
24 static inline abi_ulong get_sp_from_cpustate(CPUARMState *state)
25 {
26    return state->xregs[31];
27 }
28 
29 void setup_frame(int sig, struct target_sigaction *ka,
30                  target_sigset_t *set, CPUARMState *env);
31 void setup_rt_frame(int sig, struct target_sigaction *ka,
32                     target_siginfo_t *info, target_sigset_t *set,
33                     CPUARMState *env);
34 #endif /* AARCH64_TARGET_SIGNAL_H */
35