From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Xenomai core <Xenomai-core@domain.hid>
Subject: [Xenomai-core] [pull request] Signals support.
Date: Wed, 02 Dec 2009 01:07:28 +0100 [thread overview]
Message-ID: <4B15AFC0.6020805@domain.hid> (raw)
Hi,
here come the pull request for user-space signals support. The simple
solution; handling signals upon system call return, has been implemented
since the other solution (handling signals upon any return to
user-space) required to change the I-pipe patch, and so made the
upcoming 2.5 only compatible with newer patches.
We pass to kernel-space a sixth argument which is a pointer where
information about received signals is stored by kernel.
The only architecture for which the implementation is peculiar is
x86_32, because the register used as sixth argument is ebp, also used
for the libc backtrace function implementation, so I tried to find a
solution which makes backtracing still possible (otherwise we would have
said bye-bye to involuntary mode changes chasing with SIGXCPU) without
breaking too many things.
A new test, creatively called sigtest allows to unit-test the signal
support.
The following changes since commit 5a29ba38d7563097b73f53615fb3fcb7a7e5a6a5:
Philippe Gerum (1):
nucleus: initialize heap->stat_link holder
are available in the git repository at:
git+ssh://git.xenomai.org/xenomai-gch.git for-head
Gilles Chanteperdrix (12):
bind: Replace bind.h with a convenience library.
skins: add per-skin user-space signal handler, and dispatch function.
arm: implement signals handling
powerpc: implement signals handling
x86_64: implement signals handling
x86_32: implement signals handling
nucleus: implement kernel-space per-thread per-skin signals handling.
skins: move sigshadow to libxeno_common
posix: fix pthread_cond_wait restarting
native: fix rt_cond_wait restarting
testsuite: add user-space real-time signals unit test
build: bootstrap
Philippe Gerum (2):
blackfin: introduce support for real-time signals
nios: implement signals handling
Makefile.in | 193 +-
aclocal.m4 | 323 +-
config/Makefile.in | 43 +-
configure | 5869 ++++++++++++--------
configure.in | 5 +
doc/Makefile.in | 131 +-
doc/docbook/Makefile.in | 131 +-
doc/docbook/custom-stylesheets/Makefile.in | 131 +-
doc/docbook/custom-stylesheets/xsl/Makefile.in | 131 +-
.../custom-stylesheets/xsl/common/Makefile.in | 43 +-
doc/docbook/custom-stylesheets/xsl/fo/Makefile.in | 43 +-
.../custom-stylesheets/xsl/html/Makefile.in | 43 +-
doc/docbook/xenomai/Makefile.in | 43 +-
doc/doxygen/Makefile.in | 43 +-
doc/man/Makefile.in | 215 +-
doc/txt/Makefile.in | 82 +-
include/Makefile.am | 2 +-
include/Makefile.in | 194 +-
include/analogy/Makefile.in | 105 +-
include/asm-arm/Makefile.in | 170 +-
include/asm-arm/bits/Makefile.in | 105 +-
include/asm-arm/features.h | 2 +-
include/asm-arm/syscall.h | 66 +-
include/asm-blackfin/Makefile.in | 170 +-
include/asm-blackfin/bits/Makefile.in | 105 +-
include/asm-blackfin/features.h | 2 +-
include/asm-blackfin/syscall.h | 241 +-
include/asm-generic/Makefile.in | 170 +-
include/asm-generic/bits/Makefile.in | 105 +-
include/asm-generic/bits/bind.h | 305 +-
include/asm-generic/bits/current.h | 3 +
include/asm-generic/bits/sigshadow.h | 74 +-
include/asm-generic/syscall.h | 58 +-
include/asm-nios2/Makefile.in | 170 +-
include/asm-nios2/bits/Makefile.in | 105 +-
include/asm-nios2/syscall.h | 73 +-
include/asm-powerpc/Makefile.in | 170 +-
include/asm-powerpc/bits/Makefile.in | 105 +-
include/asm-powerpc/features.h | 2 +-
include/asm-powerpc/syscall.h | 58 +-
include/asm-sim/Makefile.in | 170 +-
include/asm-sim/bits/Makefile.in | 105 +-
include/asm-x86/Makefile.in | 170 +-
include/asm-x86/bits/Makefile.in | 105 +-
include/asm-x86/features_32.h | 2 +-
include/asm-x86/features_64.h | 2 +-
include/asm-x86/syscall.h | 219 +-
include/native/Makefile.in | 105 +-
include/native/cond.h | 6 +-
include/native/syscall.h | 3 +-
include/nucleus/Makefile.in | 105 +-
include/nucleus/shadow.h | 6 +
include/nucleus/thread.h | 7 +
include/posix/Makefile.in | 170 +-
include/posix/sys/Makefile.in | 105 +-
include/psos+/Makefile.in | 105 +-
include/rtai/Makefile.in | 105 +-
include/rtdm/Makefile.in | 105 +-
include/testing/sigtest_syscall.h | 16 +
include/uitron/Makefile.in | 105 +-
include/vrtx/Makefile.in | 105 +-
include/vxworks/Makefile.in | 105 +-
ksrc/drivers/testing/Config.in | 2 +
ksrc/drivers/testing/Kconfig | 10 +-
ksrc/drivers/testing/Makefile | 8 +-
ksrc/drivers/testing/sigtest_module.c | 137 +
ksrc/nucleus/pod.c | 5 +-
ksrc/nucleus/shadow.c | 119 +-
ksrc/nucleus/thread.c | 4 +
ksrc/skins/native/cond.c | 51 +-
ksrc/skins/native/syscall.c | 74 +-
ksrc/skins/posix/syscall.c | 29 +-
ksrc/skins/psos+/syscall.c | 1 +
ksrc/skins/rtai/syscall.c | 1 +
ksrc/skins/rtdm/syscall.c | 1 +
ksrc/skins/uitron/syscall.c | 1 +
ksrc/skins/vrtx/syscall.c | 1 +
ksrc/skins/vxworks/syscall.c | 1 +
scripts/Makefile.in | 104 +-
src/Makefile.in | 131 +-
src/drvlib/Makefile.in | 131 +-
src/drvlib/analogy/Makefile.in | 149 +-
src/include/Makefile.in | 47 +-
src/include/xeno_config.h.in | 3 -
src/rtdk/Makefile.in | 137 +-
src/skins/Makefile.am | 2 +-
src/skins/Makefile.in | 133 +-
src/skins/common/Makefile.am | 12 +
src/skins/common/Makefile.in | 537 ++
src/skins/common/bind.c | 99 +
src/skins/common/current.c | 74 +
src/skins/common/sem_heap.c | 88 +
src/skins/common/sem_heap.h | 12 +
src/skins/common/sigshadow.c | 75 +
src/skins/native/Makefile.am | 2 +
src/skins/native/Makefile.in | 206 +-
src/skins/native/cond.c | 55 +-
src/skins/native/init.c | 2 +-
src/skins/posix/Makefile.am | 2 +
src/skins/posix/Makefile.in | 194 +-
src/skins/posix/cond.c | 44 +-
src/skins/posix/init.c | 3 +-
src/skins/psos+/Makefile.am | 2 +
src/skins/psos+/Makefile.in | 158 +-
src/skins/psos+/init.c | 3 +-
src/skins/rtai/Makefile.am | 2 +
src/skins/rtai/Makefile.in | 128 +-
src/skins/rtai/init.c | 3 +-
src/skins/rtdm/Makefile.am | 2 +
src/skins/rtdm/Makefile.in | 128 +-
src/skins/rtdm/init.c | 3 +-
src/skins/uitron/Makefile.am | 2 +
src/skins/uitron/Makefile.in | 146 +-
src/skins/uitron/init.c | 3 +-
src/skins/vrtx/Makefile.am | 2 +
src/skins/vrtx/Makefile.in | 182 +-
src/skins/vrtx/init.c | 2 +-
src/skins/vxworks/Makefile.am | 2 +
src/skins/vxworks/Makefile.in | 188 +-
src/skins/vxworks/init.c | 2 +-
src/testsuite/Makefile.am | 2 +-
src/testsuite/Makefile.in | 133 +-
src/testsuite/clocktest/Makefile.in | 133 +-
src/testsuite/cyclic/Makefile.in | 133 +-
src/testsuite/irqbench/Makefile.in | 137 +-
src/testsuite/klatency/Makefile.in | 133 +-
src/testsuite/latency/Makefile.in | 133 +-
src/testsuite/sigtest/Makefile.am | 29 +
src/testsuite/sigtest/Makefile.in | 553 ++
src/testsuite/sigtest/runinfo.in | 1 +
src/testsuite/sigtest/sigtest.c | 315 ++
src/testsuite/switchtest/Makefile.in | 133 +-
src/testsuite/unit/Makefile.in | 149 +-
src/utils/Makefile.in | 131 +-
src/utils/analogy/Makefile.in | 185 +-
src/utils/can/Makefile.in | 185 +-
src/utils/ps/Makefile.in | 129 +-
137 files changed, 9130 insertions(+), 9084 deletions(-)
create mode 100644 include/testing/sigtest_syscall.h
create mode 100644 ksrc/drivers/testing/sigtest_module.c
create mode 100644 src/skins/common/Makefile.am
create mode 100644 src/skins/common/Makefile.in
create mode 100644 src/skins/common/bind.c
create mode 100644 src/skins/common/current.c
create mode 100644 src/skins/common/sem_heap.c
create mode 100644 src/skins/common/sem_heap.h
create mode 100644 src/skins/common/sigshadow.c
create mode 100644 src/testsuite/sigtest/Makefile.am
create mode 100644 src/testsuite/sigtest/Makefile.in
create mode 100644 src/testsuite/sigtest/runinfo.in
create mode 100644 src/testsuite/sigtest/sigtest.c
--
Gilles.
next reply other threads:[~2009-12-02 0:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-02 0:07 Gilles Chanteperdrix [this message]
2009-12-02 0:18 ` [Xenomai-core] [pull request] Signals support Gilles Chanteperdrix
2009-12-02 8:39 ` Jan Kiszka
2009-12-02 9:15 ` Gilles Chanteperdrix
2009-12-02 9:19 ` Jan Kiszka
2009-12-02 16:19 ` Gilles Chanteperdrix
2009-12-02 16:34 ` Jan Kiszka
2009-12-02 16:43 ` Gilles Chanteperdrix
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=4B15AFC0.6020805@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=Xenomai-core@domain.hid \
/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.