From c0ede9e4046a0882d83ae4b45c7dfac86fb7c15d Mon Sep 17 00:00:00 2001 From: Bobby Bingham Date: Sat, 30 Apr 2016 19:18:17 -0500 Subject: add powerpc64 port --- arch/powerpc64/bits/signal.h | 108 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 arch/powerpc64/bits/signal.h (limited to 'arch/powerpc64/bits/signal.h') diff --git a/arch/powerpc64/bits/signal.h b/arch/powerpc64/bits/signal.h new file mode 100644 index 00000000..45aeea0d --- /dev/null +++ b/arch/powerpc64/bits/signal.h @@ -0,0 +1,108 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 4096 +#define SIGSTKSZ 10240 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +typedef unsigned long greg_t, gregset_t[48]; + +typedef struct { + double fpregs[32]; + double fpscr; +} fpregset_t; + +typedef struct { + unsigned __int128 vrregs[32]; + unsigned _pad[3]; + unsigned vrsave; + unsigned vscr; + unsigned _pad2[3]; +} vrregset_t; + +typedef struct sigcontext +{ + unsigned long _unused[4]; + int signal; + int _pad0; + unsigned long handler; + unsigned long oldmask; + void *regs; + gregset_t gp_regs; + fpregset_t fp_regs; + vrregset_t *v_regs; + long vmx_reserve[34+34+32+1]; +} mcontext_t; + +#else + +typedef struct { + long __regs[4+4+48+33+1+34+34+32+1]; +} mcontext_t; + +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + mcontext_t uc_mcontext; +} ucontext_t; + +#define SA_NOCLDSTOP 1U +#define SA_NOCLDWAIT 2U +#define SA_SIGINFO 4U +#define SA_ONSTACK 0x08000000U +#define SA_RESTART 0x10000000U +#define SA_NODEFER 0x40000000U +#define SA_RESETHAND 0x80000000U +#define SA_RESTORER 0x04000000U + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 -- cgit v1.2.1