Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/arm32 Print the fault PC for non-USR Prefetch A...



details:   https://anonhg.NetBSD.org/src/rev/08becec87280
branches:  trunk
changeset: 517267:08becec87280
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Fri Nov 09 19:04:23 2001 +0000

description:
Print the fault PC for non-USR Prefetch Aborts.

diffstat:

 sys/arch/arm/arm32/fault.c |  12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diffs (36 lines):

diff -r 901394748eef -r 08becec87280 sys/arch/arm/arm32/fault.c
--- a/sys/arch/arm/arm32/fault.c        Fri Nov 09 18:31:08 2001 +0000
+++ b/sys/arch/arm/arm32/fault.c        Fri Nov 09 19:04:23 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fault.c,v 1.3 2001/11/09 17:58:01 thorpej Exp $        */
+/*     $NetBSD: fault.c,v 1.4 2001/11/09 19:04:23 thorpej Exp $        */
 
 /*
  * Copyright (c) 1994-1997 Mark Brinicombe.
@@ -606,8 +606,10 @@
        }
 #endif /* DEBUG */
 
+       /* Get fault address */
+       fault_pc = frame->tf_pc;
+
        /* Was the prefectch abort from USR32 mode ? */
-
        if ((frame->tf_spsr & PSR_MODE) == PSR_USR32_MODE) {
                p->p_addr->u_pcb.pcb_tf = frame;
        } else {
@@ -615,12 +617,10 @@
                 * All the kernel code pages are loaded at boot time
                 * and do not get paged
                 */
-               panic("Prefetch abort in non-USR mode (frame=%p)\n", frame);
+               panic("Prefetch abort in non-USR mode (frame=%p PC=0x%08x)\n",
+                   frame, fault_pc);
        }
 
-       /* Get fault address */
-       fault_pc = frame->tf_pc;
-
 #ifdef PMAP_DEBUG
        if (pmap_debug_level >= 0)
                printf("prefetch_abort: PC = %08x\n", fault_pc);



Home | Main Index | Thread Index | Old Index