arch/sparc/include/uapi/asm/signal.h

Source file repositories/reference/linux-study-clean/arch/sparc/include/uapi/asm/signal.h

File Facts

System
Linux kernel
Corpus path
arch/sparc/include/uapi/asm/signal.h
Extension
.h
Size
4742 bytes
Lines
182
Domain
Architecture Layer
Bucket
arch/sparc
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct sigstack {
	/* XXX 32-bit pointers pinhead XXX */
	char *the_stack;
	int   cur_status;
};

/* Sigvec flags */
#define _SV_SSTACK    1u    /* This signal handler should use sig-stack */
#define _SV_INTR      2u    /* Sig return should not restart system call */
#define _SV_RESET     4u    /* Set handler to SIG_DFL upon taken signal */
#define _SV_IGNCHILD  8u    /* Do not send SIGCHLD */

/*
 * sa_flags values: SA_STACK is not currently supported, but will allow the
 * usage of signal stacks by using the (now obsolete) sa_restorer field in
 * the sigaction structure as a stack pointer. This is now possible due to
 * the changes in signal handling. LBT 010493.
 * SA_RESTART flag to get restarting signals (which were the default long ago)
 */
#define SA_NOCLDSTOP	_SV_IGNCHILD
#define SA_STACK	_SV_SSTACK
#define SA_ONSTACK	_SV_SSTACK
#define SA_RESTART	_SV_INTR
#define SA_RESETHAND	_SV_RESET
#define SA_NODEFER	0x20u
#define SA_NOCLDWAIT    0x100u
#define SA_SIGINFO      0x200u

#define SIG_BLOCK          0x01	/* for blocking signals */
#define SIG_UNBLOCK        0x02	/* for unblocking signals */
#define SIG_SETMASK        0x04	/* for setting the signal mask */

#define MINSIGSTKSZ	4096
#define SIGSTKSZ	16384


#include <asm-generic/signal-defs.h>
#include <asm/posix_types.h>

#ifndef __KERNEL__
struct __new_sigaction {
	__sighandler_t		sa_handler;
	unsigned long		sa_flags;
	__sigrestore_t		sa_restorer;  /* not used by Linux/SPARC yet */
	__new_sigset_t		sa_mask;
};

struct __old_sigaction {
	__sighandler_t		sa_handler;
	__old_sigset_t		sa_mask;
	unsigned long		sa_flags;
	void			(*sa_restorer)(void);  /* not used by Linux/SPARC yet */
};
#endif

typedef struct sigaltstack {
	void			__user *ss_sp;
	int			ss_flags;
	__kernel_size_t		ss_size;
} stack_t;


#endif /* !(__ASSEMBLER__) */

#endif /* _UAPI__SPARC_SIGNAL_H */

Annotation

Implementation Notes