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
--
next prev parent reply other threads:[~2009-04-27 15:07 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox