162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Modified 1998-2001, 2003
462306a36Sopenharmony_ci *	David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Unfortunately, this file is being included by bits/signal.h in
762306a36Sopenharmony_ci * glibc-2.x.  Hence the #ifdef __KERNEL__ ugliness.
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#ifndef _UAPI_ASM_IA64_SIGNAL_H
1062306a36Sopenharmony_ci#define _UAPI_ASM_IA64_SIGNAL_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#define SIGHUP		 1
1462306a36Sopenharmony_ci#define SIGINT		 2
1562306a36Sopenharmony_ci#define SIGQUIT		 3
1662306a36Sopenharmony_ci#define SIGILL		 4
1762306a36Sopenharmony_ci#define SIGTRAP		 5
1862306a36Sopenharmony_ci#define SIGABRT		 6
1962306a36Sopenharmony_ci#define SIGIOT		 6
2062306a36Sopenharmony_ci#define SIGBUS		 7
2162306a36Sopenharmony_ci#define SIGFPE		 8
2262306a36Sopenharmony_ci#define SIGKILL		 9
2362306a36Sopenharmony_ci#define SIGUSR1		10
2462306a36Sopenharmony_ci#define SIGSEGV		11
2562306a36Sopenharmony_ci#define SIGUSR2		12
2662306a36Sopenharmony_ci#define SIGPIPE		13
2762306a36Sopenharmony_ci#define SIGALRM		14
2862306a36Sopenharmony_ci#define SIGTERM		15
2962306a36Sopenharmony_ci#define SIGSTKFLT	16
3062306a36Sopenharmony_ci#define SIGCHLD		17
3162306a36Sopenharmony_ci#define SIGCONT		18
3262306a36Sopenharmony_ci#define SIGSTOP		19
3362306a36Sopenharmony_ci#define SIGTSTP		20
3462306a36Sopenharmony_ci#define SIGTTIN		21
3562306a36Sopenharmony_ci#define SIGTTOU		22
3662306a36Sopenharmony_ci#define SIGURG		23
3762306a36Sopenharmony_ci#define SIGXCPU		24
3862306a36Sopenharmony_ci#define SIGXFSZ		25
3962306a36Sopenharmony_ci#define SIGVTALRM	26
4062306a36Sopenharmony_ci#define SIGPROF		27
4162306a36Sopenharmony_ci#define SIGWINCH	28
4262306a36Sopenharmony_ci#define SIGIO		29
4362306a36Sopenharmony_ci#define SIGPOLL		SIGIO
4462306a36Sopenharmony_ci/*
4562306a36Sopenharmony_ci#define SIGLOST		29
4662306a36Sopenharmony_ci*/
4762306a36Sopenharmony_ci#define SIGPWR		30
4862306a36Sopenharmony_ci#define SIGSYS		31
4962306a36Sopenharmony_ci/* signal 31 is no longer "unused", but the SIGUNUSED macro remains for backwards compatibility */
5062306a36Sopenharmony_ci#define	SIGUNUSED	31
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci/* These should not be considered constants from userland.  */
5362306a36Sopenharmony_ci#define SIGRTMIN	32
5462306a36Sopenharmony_ci#define SIGRTMAX	_NSIG
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci#define SA_RESTORER	0x04000000
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci/*
5962306a36Sopenharmony_ci * The minimum stack size needs to be fairly large because we want to
6062306a36Sopenharmony_ci * be sure that an app compiled for today's CPUs will continue to run
6162306a36Sopenharmony_ci * on all future CPU models.  The CPU model matters because the signal
6262306a36Sopenharmony_ci * frame needs to have space for the complete machine state, including
6362306a36Sopenharmony_ci * all physical stacked registers.  The number of physical stacked
6462306a36Sopenharmony_ci * registers is CPU model dependent, but given that the width of
6562306a36Sopenharmony_ci * ar.rsc.loadrs is 14 bits, we can assume that they'll never take up
6662306a36Sopenharmony_ci * more than 16KB of space.
6762306a36Sopenharmony_ci */
6862306a36Sopenharmony_ci#if 1
6962306a36Sopenharmony_ci  /*
7062306a36Sopenharmony_ci   * This is a stupid typo: the value was _meant_ to be 131072 (0x20000), but I typed it
7162306a36Sopenharmony_ci   * in wrong. ;-(  To preserve backwards compatibility, we leave the kernel at the
7262306a36Sopenharmony_ci   * incorrect value and fix libc only.
7362306a36Sopenharmony_ci   */
7462306a36Sopenharmony_ci# define MINSIGSTKSZ	131027	/* min. stack size for sigaltstack() */
7562306a36Sopenharmony_ci#else
7662306a36Sopenharmony_ci# define MINSIGSTKSZ	131072	/* min. stack size for sigaltstack() */
7762306a36Sopenharmony_ci#endif
7862306a36Sopenharmony_ci#define SIGSTKSZ	262144	/* default stack size for sigaltstack() */
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci#include <asm-generic/signal-defs.h>
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci# ifndef __ASSEMBLY__
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci#  include <linux/types.h>
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci/* Avoid too many header ordering problems.  */
8862306a36Sopenharmony_cistruct siginfo;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_citypedef struct sigaltstack {
9162306a36Sopenharmony_ci	void __user *ss_sp;
9262306a36Sopenharmony_ci	int ss_flags;
9362306a36Sopenharmony_ci	__kernel_size_t ss_size;
9462306a36Sopenharmony_ci} stack_t;
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci# endif /* !__ASSEMBLY__ */
9862306a36Sopenharmony_ci#endif /* _UAPI_ASM_IA64_SIGNAL_H */
99