19c93ae13SMarkus Armbruster #ifndef SPARC_TARGET_SIGNAL_H 29c93ae13SMarkus Armbruster #define SPARC_TARGET_SIGNAL_H 3a04e134aSths 4*1bdefb5aSLaurent Vivier #define TARGET_SIGHUP 1 5*1bdefb5aSLaurent Vivier #define TARGET_SIGINT 2 6*1bdefb5aSLaurent Vivier #define TARGET_SIGQUIT 3 7*1bdefb5aSLaurent Vivier #define TARGET_SIGILL 4 8*1bdefb5aSLaurent Vivier #define TARGET_SIGTRAP 5 9*1bdefb5aSLaurent Vivier #define TARGET_SIGABRT 6 10*1bdefb5aSLaurent Vivier #define TARGET_SIGIOT 6 11*1bdefb5aSLaurent Vivier #define TARGET_SIGSTKFLT 7 /* actually EMT */ 12*1bdefb5aSLaurent Vivier #define TARGET_SIGFPE 8 13*1bdefb5aSLaurent Vivier #define TARGET_SIGKILL 9 14*1bdefb5aSLaurent Vivier #define TARGET_SIGBUS 10 15*1bdefb5aSLaurent Vivier #define TARGET_SIGSEGV 11 16*1bdefb5aSLaurent Vivier #define TARGET_SIGSYS 12 17*1bdefb5aSLaurent Vivier #define TARGET_SIGPIPE 13 18*1bdefb5aSLaurent Vivier #define TARGET_SIGALRM 14 19*1bdefb5aSLaurent Vivier #define TARGET_SIGTERM 15 20*1bdefb5aSLaurent Vivier #define TARGET_SIGURG 16 21*1bdefb5aSLaurent Vivier #define TARGET_SIGSTOP 17 22*1bdefb5aSLaurent Vivier #define TARGET_SIGTSTP 18 23*1bdefb5aSLaurent Vivier #define TARGET_SIGCONT 19 24*1bdefb5aSLaurent Vivier #define TARGET_SIGCHLD 20 25*1bdefb5aSLaurent Vivier #define TARGET_SIGTTIN 21 26*1bdefb5aSLaurent Vivier #define TARGET_SIGTTOU 22 27*1bdefb5aSLaurent Vivier #define TARGET_SIGIO 23 28*1bdefb5aSLaurent Vivier #define TARGET_SIGXCPU 24 29*1bdefb5aSLaurent Vivier #define TARGET_SIGXFSZ 25 30*1bdefb5aSLaurent Vivier #define TARGET_SIGVTALRM 26 31*1bdefb5aSLaurent Vivier #define TARGET_SIGPROF 27 32*1bdefb5aSLaurent Vivier #define TARGET_SIGWINCH 28 33*1bdefb5aSLaurent Vivier #define TARGET_SIGPWR 29 34*1bdefb5aSLaurent Vivier #define TARGET_SIGUSR1 30 35*1bdefb5aSLaurent Vivier #define TARGET_SIGUSR2 31 36*1bdefb5aSLaurent Vivier #define TARGET_SIGRTMIN 32 37*1bdefb5aSLaurent Vivier 38*1bdefb5aSLaurent Vivier #define TARGET_SIG_BLOCK 0x01 /* for blocking signals */ 39*1bdefb5aSLaurent Vivier #define TARGET_SIG_UNBLOCK 0x02 /* for unblocking signals */ 40*1bdefb5aSLaurent Vivier #define TARGET_SIG_SETMASK 0x04 /* for setting the signal mask */ 41*1bdefb5aSLaurent Vivier 42a04e134aSths /* this struct defines a stack used during syscall handling */ 43a04e134aSths 44a04e134aSths typedef struct target_sigaltstack { 45992f48a0Sblueswir1 abi_ulong ss_sp; 46992f48a0Sblueswir1 abi_long ss_flags; 47992f48a0Sblueswir1 abi_ulong ss_size; 48c227f099SAnthony Liguori } target_stack_t; 49a04e134aSths 50a04e134aSths 51a04e134aSths /* 52a04e134aSths * sigaltstack controls 53a04e134aSths */ 54a04e134aSths #define TARGET_SS_ONSTACK 1 55a04e134aSths #define TARGET_SS_DISABLE 2 56a04e134aSths 57*1bdefb5aSLaurent Vivier #define TARGET_SA_NOCLDSTOP 8u 58*1bdefb5aSLaurent Vivier #define TARGET_SA_NOCLDWAIT 0x100u 59*1bdefb5aSLaurent Vivier #define TARGET_SA_SIGINFO 0x200u 60*1bdefb5aSLaurent Vivier #define TARGET_SA_ONSTACK 1u 61*1bdefb5aSLaurent Vivier #define TARGET_SA_RESTART 2u 62*1bdefb5aSLaurent Vivier #define TARGET_SA_NODEFER 0x20u 63*1bdefb5aSLaurent Vivier #define TARGET_SA_RESETHAND 4u 64*1bdefb5aSLaurent Vivier #define TARGET_ARCH_HAS_SA_RESTORER 1 65*1bdefb5aSLaurent Vivier #define TARGET_ARCH_HAS_KA_RESTORER 1 66*1bdefb5aSLaurent Vivier 67a04e134aSths #define TARGET_MINSIGSTKSZ 4096 68a04e134aSths #define TARGET_SIGSTKSZ 16384 69a04e134aSths 70cb6ac802SLaurent Vivier #define TARGET_ARCH_HAS_SETUP_FRAME 719c93ae13SMarkus Armbruster #endif /* SPARC_TARGET_SIGNAL_H */ 72