[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1393804559-7701-1-git-send-email-richard@nod.at>
Date: Mon, 3 Mar 2014 00:55:49 +0100
From: Richard Weinberger <richard@....at>
To: linux-kernel@...r.kernel.org
Cc: linux-arch@...r.kernel.org, viro@...iv.linux.org.uk,
vgupta@...opsys.com, catalin.marinas@....com, will.deacon@....com,
hskinnemoen@...il.com, egtvedt@...fundet.no, vapier@...too.org,
msalter@...hat.com, a-jacquiot@...com, starvik@...s.com,
jesper.nilsson@...s.com, dhowells@...hat.com, rkuo@...eaurora.org,
tony.luck@...el.com, fenghua.yu@...el.com, takata@...ux-m32r.org,
geert@...ux-m68k.org, james.hogan@...tec.com, monstr@...str.eu,
yasutake.koichi@...panasonic.com, ralf@...ux-mips.org,
jonas@...thpole.se, jejb@...isc-linux.org, deller@....de,
benh@...nel.crashing.org, paulus@...ba.org, schwidefsky@...ibm.com,
heiko.carstens@...ibm.com, liqin.linux@...il.com,
lennox.wu@...il.com, cmetcalf@...era.com, gxt@...c.pku.edu.cn,
linux-xtensa@...ux-xtensa.org, akpm@...ux-foundation.org,
oleg@...hat.com, tj@...nel.org, hch@...radead.org
Subject: Global signal cleanup, take 2
This is v2 of the global signal cleanup series.
This patch series moves all remaining archs to the get_signal() and
signal_setup_done() functions. Currently these archs use open coded
variants of the said functions. Further, unused parameters get removed
from get_signal_to_deliver(), tracehook_signal_handler() and signal_delivered().
The following archs got zero build testing:
arc, c6x, cris-v32, hexagon, metag, score, unicore, sh64.
Changes since v1:
- Dropped "h8300: Use get_signal() signal_setup_done()", architecture got ripped out
- Dropped "openrisc: Use get_signal() signal_setup_done()", merged via openrisc tree
- Added ack to "c6x: Use get_signal() signal_setup_done()"
- Added ack to "hexagon: Use get_signal() signal_setup_done()"
- Added ack to "score: Use get_signal() signal_setup_done()"
- Added a common helper to translate signals
- Fixed some build issues
- Addressed comments
Signal translation using exec_domain is in a strange state.
Some archs support it, some not, some only kind of.
I fear mostly because of copy&paste developerment.
Here a small overview of my findings:
alpha: no translation
arc: supports translation
arm: supports translation
arm64: supports translation
avr32: no translation
blackfin: is confused, puts translated signal on stack frame, untranslated on regs->r0
c6x: no translation
cris: no translation, quote: /* TODO what is the current->exec_domain stuff and invmap ? */
frv: is confused, puts translated signal on stack frame, untranslated on regs->gr8
hexagon: no translation
ia64: no translation
m32r: supports translation
m68k: supports translation
metag: no translation
microblaze: supports translation
mips: no translation
mn10300: is confused, puts translated signal on stack frame, untranslated on regs->d0
openrisc: no translation, quote: /* TODO what is the current->exec_domain stuff and invmap ? */
parisc: no translation
powerpc: no translation
s390: supports translation
score: no translation
sh: supports translation
sparc: no translation
tile: support translation
um: support translation (only x86_64)
unicore32: support translation
x86: support translation (only ia32)
xtensa: support translation
I'm wondering on which archs exec domains (and therefore signal translation)
are fully supported.
I guess we can remove the signal translation stuff from most archs.
Maybe hch can tell us more.
The whole series can also be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc.git signal_v2
arch/arc/kernel/signal.c | 52 ++++-----------
arch/arm/kernel/signal.c | 14 ----
arch/arm64/include/asm/signal32.h | 7 --
arch/arm64/kernel/signal.c | 55 +++++-----------
arch/arm64/kernel/signal32.c | 8 +-
arch/avr32/kernel/signal.c | 43 +++++-------
arch/blackfin/kernel/signal.c | 42 ++++--------
arch/c6x/kernel/signal.c | 43 +++++-------
arch/cris/arch-v10/kernel/signal.c | 79 +++++++++--------------
arch/cris/arch-v32/kernel/signal.c | 77 ++++++++--------------
arch/frv/kernel/signal.c | 122 ++++++++++++------------------------
arch/hexagon/kernel/signal.c | 45 +++++--------
arch/ia64/kernel/signal.c | 46 ++++++-------
arch/m32r/kernel/signal.c | 52 +++++----------
arch/m68k/kernel/signal.c | 78 +++++++----------------
arch/metag/kernel/signal.c | 55 +++++++---------
arch/microblaze/kernel/signal.c | 56 +++++-----------
arch/mips/include/asm/abi.h | 10 +-
arch/mips/kernel/signal.c | 66 +++++++------------
arch/mips/kernel/signal32.c | 39 ++++-------
arch/mips/kernel/signal_n32.c | 20 ++---
arch/mn10300/kernel/signal.c | 112 +++++++++++----------------------
arch/parisc/kernel/signal.c | 58 +++++++----------
arch/powerpc/kernel/signal.c | 31 +++------
arch/powerpc/kernel/signal.h | 12 +--
arch/powerpc/kernel/signal_32.c | 36 ++++------
arch/powerpc/kernel/signal_64.c | 28 +++-----
arch/s390/kernel/compat_signal.c | 92 ++++++++++-----------------
arch/s390/kernel/entry.h | 4 -
arch/s390/kernel/signal.c | 92 +++++++++------------------
arch/score/kernel/signal.c | 43 +++++-------
arch/sh/kernel/signal_32.c | 94 +++++++++------------------
arch/sh/kernel/signal_64.c | 97 ++++++++++------------------
arch/tile/include/asm/compat.h | 3
arch/tile/kernel/compat_signal.c | 37 ++++------
arch/tile/kernel/signal.c | 62 +++++++-----------
arch/um/include/shared/frame_kern.h | 12 +--
arch/um/kernel/signal.c | 27 +++----
arch/unicore32/kernel/signal.c | 73 +++++++--------------
arch/x86/kernel/signal.c | 9 --
arch/x86/um/signal.c | 52 ++++++---------
arch/xtensa/kernel/signal.c | 51 +++++----------
include/linux/signal.h | 27 +++----
include/linux/tracehook.h | 8 --
kernel/signal.c | 46 ++++++-------
45 files changed, 800 insertions(+), 1315 deletions(-)
Thanks,
//richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists