All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de
To: linux-kernel@vger.kernel.org
Cc: john.williams@petalogix.com, monstr@monstr.eu,
	linux-api@vger.kernel.org, linux-arch@vger.kernel.org,
	liqin.chen@sunplusct.com, Sam Ravnborg <sam@ravnborg.org>,
	Remis Lima Baima <remis.developer@googlemail.com>
Subject: [RFC 06/17] asm-generic: add a complete signal.h
Date: Mon, 27 Apr 2009 17:01:20 +0200	[thread overview]
Message-ID: <20090427150318.207970321@arndb.de> (raw)
In-Reply-To: 20090427142010.587518220@arndb.de

[-- Attachment #1: add-generic-signal-h.patch --]
[-- Type: text/plain, Size: 4151 bytes --]

There used to be an asm-generic/signal.h, but not one that
could be used out of the box. This renames the existing file
to asm-generic/signal-defs.h and adds a new asm-generic/signal.h
with common definitions for sigaction and sigaltstack, but
not for the old-style signal handlers.

New architectures should only implement rt-signals and use this
generic header.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com>
---
---
 include/asm-generic/Kbuild   |    1 	1 +	0 -	0 !
 include/asm-generic/signal.h |  131 	131 +	0 -	0 !
 2 files changed, 132 insertions(+)

Index: linux-2.6/include/asm-generic/signal.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-generic/signal.h
@@ -0,0 +1,131 @@
+#ifndef __ASM_GENERIC_SIGNAL_H
+#define __ASM_GENERIC_SIGNAL_H
+
+#include <linux/types.h>
+
+#define _NSIG		64
+#define _NSIG_BPW	__BITS_PER_LONG
+#define _NSIG_WORDS	(_NSIG / _NSIG_BPW)
+
+#define SIGHUP		 1
+#define SIGINT		 2
+#define SIGQUIT		 3
+#define SIGILL		 4
+#define SIGTRAP		 5
+#define SIGABRT		 6
+#define SIGIOT		 6
+#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 SIGLOST		29
+*/
+#define SIGPWR		30
+#define SIGSYS		31
+#define	SIGUNUSED	31
+
+/* These should not be considered constants from userland.  */
+#define SIGRTMIN	32
+#ifndef SIGRTMAX
+#define SIGRTMAX	_NSIG
+#endif
+
+/*
+ * SA_FLAGS values:
+ *
+ * SA_ONSTACK indicates that a registered stack_t will be used.
+ * SA_RESTART flag to get restarting signals (which were the default long ago)
+ * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
+ * SA_RESETHAND clears the handler when the signal is delivered.
+ * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
+ * SA_NODEFER prevents the current signal from being masked in the handler.
+ *
+ * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
+ * Unix names RESETHAND and NODEFER respectively.
+ */
+#define SA_NOCLDSTOP	0x00000001
+#define SA_NOCLDWAIT	0x00000002
+#define SA_SIGINFO	0x00000004
+#define SA_ONSTACK	0x08000000
+#define SA_RESTART	0x10000000
+#define SA_NODEFER	0x40000000
+#define SA_RESETHAND	0x80000000
+
+#define SA_NOMASK	SA_NODEFER
+#define SA_ONESHOT	SA_RESETHAND
+
+/*
+ * New architectures should not define the obsolete
+ *	SA_RESTORER	0x04000000
+ */
+
+/*
+ * sigaltstack controls
+ */
+#define SS_ONSTACK	1
+#define SS_DISABLE	2
+
+#define MINSIGSTKSZ	2048
+#define SIGSTKSZ	8192
+
+#ifndef __ASSEMBLY__
+typedef struct {
+	unsigned long sig[_NSIG_WORDS];
+} sigset_t;
+
+/* not actually used, but required for linux/syscalls.h */
+typedef unsigned long old_sigset_t;
+
+#include <asm-generic/signal-defs.h>
+
+struct sigaction {
+	__sighandler_t sa_handler;
+	unsigned long sa_flags;
+#ifdef SA_RESTORER
+	__sigrestore_t sa_restorer;
+#endif
+	sigset_t sa_mask;		/* mask last for extensibility */
+};
+
+struct k_sigaction {
+	struct sigaction sa;
+};
+
+typedef struct sigaltstack {
+	void __user *ss_sp;
+	int ss_flags;
+	size_t ss_size;
+} stack_t;
+
+#ifdef __KERNEL__
+
+#include <asm/sigcontext.h>
+#undef __HAVE_ARCH_SIG_BITOPS
+
+#define ptrace_signal_deliver(regs, cookie) do { } while (0)
+
+#endif /* __KERNEL__ */
+#endif /* __ASSEMBLY__ */
+
+#endif /* _ASM_GENERIC_SIGNAL_H */
Index: linux-2.6/include/asm-generic/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-generic/Kbuild
+++ linux-2.6/include/asm-generic/Kbuild
@@ -5,6 +5,7 @@ header-y += ioctl.h
 header-y += mman-common.h
 header-y += poll.h
 header-y += signal-defs.h
+header-y += signal.h
 header-y += statfs.h
 header-y += termios.h
 

-- 

  parent reply	other threads:[~2009-04-27 15:01 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-27 15:01 [RFC 00/17] asm-generic ABI files for microblaze arnd-r2nGTMty4D4
2009-04-27 15:01 ` arnd
2009-04-27 15:01 ` [RFC 01/17] asm-generic: rename termios.h to termios-base.h arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 02/17] asm-generic: rename signal.h to signal-defs.h arnd
2009-04-27 15:01 ` [RFC 03/17] asm-generic: rename mman.h to mman-common.h arnd
2009-04-27 15:01 ` [RFC 04/17] asm-generic: introduce asm/bitsperlong.h arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 05/17] asm-generic: add complete termios.h arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` arnd [this message]
2009-04-27 15:01 ` [RFC 07/17] asm-generic: make generic mman.h header generic arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 08/17] asm-generic: provide generic sysv ipc headers arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 09/17] asm-generic: provide a common types.h arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 10/17] asm-generic: provide generic ABI headers arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 11/17] asm-generic: add a generic unistd.h arnd
2009-04-27 15:01 ` [RFC 12/17] asm-generic: add generic unaligned.h arnd
2009-04-27 15:01 ` [RFC 13/17] ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 14/17] syscalls.h add the missing sys_pipe2 declaration arnd
2009-04-27 15:01 ` [RFC 15/17] microblaze: fall back on generic header files for the ABI arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 16/17] microblaze: clean up signal handling arnd-r2nGTMty4D4
2009-04-27 15:01   ` arnd
2009-04-27 15:01 ` [RFC 17/17] microblaze: use generic unistd.h syscall list arnd
2009-04-30 14:07 ` diff between asm-generic and x86 headers Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090427150318.207970321@arndb.de \
    --to=arnd@arndb.de \
    --cc=john.williams@petalogix.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liqin.chen@sunplusct.com \
    --cc=monstr@monstr.eu \
    --cc=remis.developer@googlemail.com \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.