[parisc-linux] Re: Getting up and running

Matthew Wilcox willy@debian.org
Sat, 15 Sep 2001 18:00:47 +0100


On Sat, Sep 15, 2001 at 03:24:07PM +0200, Albert Strasheim wrote:
> Is someone actively working on this? I would only be too happy to help
> test any patches on this machine.

How does this look?  I can't test it because I don't have a 720-era machine,
but it ought to work, I think...

Index: traps.c
===================================================================
RCS file: /home/cvs/parisc/linux/arch/parisc/kernel/traps.c,v
retrieving revision 1.52
diff -u -p -r1.52 traps.c
--- traps.c	2001/09/06 09:44:07	1.52
+++ traps.c	2001/09/15 16:52:13
@@ -322,6 +322,11 @@ void handle_interruption(int code, struc
 		fault_address = regs->ior;
 		parisc_terminate("Non access data tlb fault!",regs,code,fault_address);
 
+	case 18: /* PCX-S processors don't use 26, 27, 28 */
+		if (regs->ior & 3)
+			goto unaligned_d_access;
+		/* Fall through */
+
 	case 15:
 	case 26:
 		fault_address = regs->ior;
@@ -416,7 +421,8 @@ void handle_interruption(int code, struc
 		force_sig_info(SIGSEGV, &si, current);
 		return;
 
-	case 28:  /* Unaligned just causes SIGBUS for now */
+ unaligned_d_access:
+	case 28:
 		handle_unaligned(regs);
 #if 0
 		die_if_kernel("Unaligned data reference", regs, code);


I'm aware it doesn't attempt to handle case 27 yet, but that shouldn't
normally occur.

-- 
Revolutions do not require corporate support.