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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox