From: Carlos O'Donell <carlos@baldric.uwo.ca>
To: parisc-linux@lists.parisc-linux.org
Cc: Randolph Chung <tausq@debian.org>
Subject: [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos
Date: Sat, 8 Nov 2003 15:58:25 -0500 [thread overview]
Message-ID: <20031108205825.GI21080@systemhalted> (raw)
In-Reply-To: <20031108205955.7039B49402D@palinux.hppa>
On Sat, Nov 08, 2003 at 01:59:55PM -0700, Carlos O'Donell wrote:
> CVSROOT: /var/cvs
> Module name: linux-2.6
> Changes by: carlos 03/11/08 13:59:55
>
> Modified files:
> arch/parisc/kernel: traps.c
>
> Log message:
> Cleanup trap handling for codes 13,15,16 and 17. In particular forward port 13, and make 17 non-fatal to the kernel (only the process should die).
tausq,
Here's the trap handler cleanup I promised. Please comment.
c.
Index: Makefile
===================================================================
RCS file: /var/cvs/linux-2.6/Makefile,v
retrieving revision 1.83
diff -u -p -r1.83 Makefile
--- Makefile 2 Nov 2003 04:40:49 -0000 1.83
+++ Makefile 8 Nov 2003 20:53:32 -0000
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 0
-EXTRAVERSION = -test9-pa4
+EXTRAVERSION = -test9-pa5
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
Index: arch/parisc/kernel/traps.c
===================================================================
RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/traps.c,v
retrieving revision 1.10
diff -u -p -r1.10 traps.c
--- arch/parisc/kernel/traps.c 8 Oct 2003 20:52:07 -0000 1.10
+++ arch/parisc/kernel/traps.c 8 Nov 2003 20:53:35 -0000
@@ -557,20 +557,41 @@ void handle_interruption(int code, struc
si.si_addr = (void *) regs->iaoq[0];
force_sig_info(SIGFPE, &si, current);
return;
-
+
+ case 13:
+ /* Conditional Trap
+ The condition succees in an instruction which traps
+ on condition */
+ si.si_signo = SIGFPE;
+ /* Set to zero, and let the userspace app figure it out from
+ the insn pointed to by si_addr */
+ si.si_code = 0;
+ si.si_addr = (void *) regs->iaoq[0];
+ force_sig_info(SIGFPE, &si, current);
+ return;
+
case 14:
/* Assist Exception Trap, i.e. floating point exception. */
die_if_kernel("Floating point exception", regs, 0); /* quiet */
handle_fpe(regs);
return;
-
+
+ case 15:
+ /* Data TLB miss fault/Data page fault */
+ /* Fall through */
+ case 16:
+ /* Non-access instruction TLB miss fault */
+ /* The instruction TLB entry needed for the target address of the FIC
+ is absent, and hardware can't find it, so we get to cleanup */
+ /* Fall through */
case 17:
/* Non-access data TLB miss fault/Non-access data page fault */
/* TODO: Still need to add slow path emulation code here */
- pdc_chassis_send_status(PDC_CHASSIS_DIRECT_PANIC);
-
+ /* TODO: Understand what is meant by the TODO listed
+ above this one. (Carlos) */
fault_address = regs->ior;
- parisc_terminate("Non access data tlb fault!",regs,code,fault_address);
+ fault_space = regs->isr;
+ break;
case 18:
/* PCXS only -- later cpu's split this into types 26,27 & 28 */
@@ -580,9 +601,8 @@ void handle_interruption(int code, struc
return;
}
/* Fall Through */
-
- case 15: /* Data TLB miss fault/Data page fault */
- case 26: /* PCXL: Data memory access rights trap */
+ case 26:
+ /* PCXL: Data memory access rights trap */
fault_address = regs->ior;
fault_space = regs->isr;
break;
@@ -638,7 +658,6 @@ void handle_interruption(int code, struc
up_read(¤t->mm->mmap_sem);
}
/* Fall Through */
-
case 27:
/* Data memory protection ID trap */
die_if_kernel("Protection id trap", regs, code);
next parent reply other threads:[~2003-11-08 21:03 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20031108205955.7039B49402D@palinux.hppa>
2003-11-08 20:58 ` Carlos O'Donell [this message]
[not found] ` <3FAD63B7.6020805@tiscali.be>
2003-11-08 22:00 ` [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos Carlos O'Donell
[not found] <20031108210057.7FFAB49402D@palinux.hppa>
2003-11-08 21:16 ` Joel Soete
2003-11-08 22:11 ` Carlos O'Donell
[not found] <20031210224026.33A39494275@palinux.hppa>
2003-12-11 1:03 ` Carlos O'Donell
[not found] <20031211004856.66476494275@palinux.hppa>
2003-12-11 1:23 ` Carlos O'Donell
[not found] <20040128051247.D6C6C4941AA@palinux.hppa>
2004-01-28 5:23 ` Carlos O'Donell
[not found] <20040128051415.4C9724941AA@palinux.hppa>
2004-01-28 5:25 ` Carlos O'Donell
[not found] <20040128060516.492DE4941AA@palinux.hppa>
2004-01-28 14:00 ` [parisc-linux] " Joel Soete
2004-01-28 23:11 ` Carlos O'Donell
2004-01-29 7:28 ` Joel Soete
2004-01-29 9:25 ` Joel Soete
2004-02-01 20:05 ` Randolph Chung
2004-02-02 10:25 ` Joel Soete
2004-02-02 17:50 ` Joel Soete
[not found] <20040203215113.E38D0494194@palinux.hppa>
2004-02-03 21:53 ` [parisc-linux] " Carlos O'Donell
[not found] <20040203230410.71952494194@palinux.hppa>
2004-02-03 23:07 ` Carlos O'Donell
[not found] <20040426044648.93EE4494593@palinux.hppa>
2004-04-26 4:51 ` Carlos O'Donell
[not found] <20040428231338.BB0124945C3@palinux.hppa>
2004-04-28 23:15 ` Carlos O'Donell
2004-04-28 23:51 ` Carlos O'Donell
[not found] <20040430141548.EFE284945CD@palinux.hppa>
2004-04-30 15:57 ` Carlos O'Donell
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=20031108205825.GI21080@systemhalted \
--to=carlos@baldric.uwo.ca \
--cc=parisc-linux@lists.parisc-linux.org \
--cc=tausq@debian.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.