[prev in list] [next in list] [prev in thread] [next in thread]
List: git-commits-head
Subject: ppc64: updates for Ingo's signal changes
From: Linux Kernel Mailing List <linux-kernel () vger ! kernel ! org>
Date: 2002-09-30 3:50:45
[Download RAW message or body]
ChangeSet 1.573.62.5, 2002/09/30 13:50:45+10:00, anton@samba.org
ppc64: updates for Ingo's signal changes
# This patch includes the following deltas:
# ChangeSet 1.573.62.4 -> 1.573.62.5
# arch/ppc64/kernel/signal.c 1.18 -> 1.19
# include/asm-ppc64/thread_info.h 1.4 -> 1.5
# arch/ppc64/mm/fault.c 1.6 -> 1.7
# arch/ppc64/kernel/signal32.c 1.24 -> 1.25
#
arch/ppc64/kernel/signal.c | 20 ++++++++++----------
arch/ppc64/kernel/signal32.c | 16 ++++++++--------
arch/ppc64/mm/fault.c | 3 ++-
include/asm-ppc64/thread_info.h | 10 +++++-----
4 files changed, 25 insertions(+), 24 deletions(-)
diff -Nru a/arch/ppc64/kernel/signal.c b/arch/ppc64/kernel/signal.c
--- a/arch/ppc64/kernel/signal.c Wed Oct 16 10:09:06 2002
+++ b/arch/ppc64/kernel/signal.c Wed Oct 16 10:09:06 2002
@@ -108,11 +108,11 @@
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
regs->gpr[3] = -EINTR;
while (1) {
@@ -144,11 +144,11 @@
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
regs->gpr[3] = -EINTR;
while (1) {
@@ -225,10 +225,10 @@
|| copy_from_user(&st, &rt_sf->uc.uc_stack, sizeof(st)))
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
if (regs->msr & MSR_FP)
giveup_fpu(current);
@@ -345,10 +345,10 @@
set.sig[1] = sigctx._unused[3];
#endif
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
if (regs->msr & MSR_FP)
giveup_fpu(current);
@@ -499,11 +499,11 @@
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
}
return;
diff -Nru a/arch/ppc64/kernel/signal32.c b/arch/ppc64/kernel/signal32.c
--- a/arch/ppc64/kernel/signal32.c Wed Oct 16 10:09:06 2002
+++ b/arch/ppc64/kernel/signal32.c Wed Oct 16 10:09:06 2002
@@ -235,10 +235,10 @@
*/
set.sig[0] = sigctx.oldmask + ((long)(sigctx._unused[3]) << 32);
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
if (regs->msr & MSR_FP )
giveup_fpu(current);
/* Last stacked signal - restore registers */
@@ -454,10 +454,10 @@
*/
sigdelsetmask(&set, ~_BLOCKABLE);
/* update the current based on the sigmask found in the rt_stackframe */
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
/* If currently owning the floating point - give them up */
if (regs->msr & MSR_FP)
@@ -841,11 +841,11 @@
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
regs->gpr[3] = -EINTR;
while (1) {
@@ -1018,11 +1018,11 @@
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sigmask_lock);
+ spin_lock_irq(¤t->sig->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sigmask_lock);
+ spin_unlock_irq(¤t->sig->siglock);
}
return;
diff -Nru a/arch/ppc64/mm/fault.c b/arch/ppc64/mm/fault.c
--- a/arch/ppc64/mm/fault.c Wed Oct 16 10:09:06 2002
+++ b/arch/ppc64/mm/fault.c Wed Oct 16 10:09:06 2002
@@ -27,6 +27,7 @@
#include <linux/mman.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
+#include <linux/smp_lock.h>
#include <asm/page.h>
#include <asm/pgtable.h>
@@ -79,7 +80,7 @@
}
#endif
- if (in_interrupt() || mm == NULL) {
+ if (in_atomic() || mm == NULL) {
bad_page_fault(regs, address, SIGSEGV);
return;
}
diff -Nru a/include/asm-ppc64/thread_info.h b/include/asm-ppc64/thread_info.h
--- a/include/asm-ppc64/thread_info.h Wed Oct 16 10:09:06 2002
+++ b/include/asm-ppc64/thread_info.h Wed Oct 16 10:09:06 2002
@@ -32,11 +32,11 @@
*/
#define INIT_THREAD_INFO(tsk) \
{ \
- task: &tsk, \
- exec_domain: &default_exec_domain, \
- flags: 0, \
- cpu: 0, \
- preempt_count: 1, \
+ .task = &tsk, \
+ .exec_domain = &default_exec_domain, \
+ .flags = 0, \
+ .cpu = 0, \
+ .preempt_count = 1, \
}
#define init_thread_info (init_thread_union.thread_info)
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic