Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/vax/vax Support for a machine-specific badaddr hand...



details:   https://anonhg.NetBSD.org/src/rev/ebce3aa2a4a4
branches:  trunk
changeset: 495330:ebce3aa2a4a4
user:      ragge <ragge%NetBSD.org@localhost>
date:      Wed Jul 26 11:48:50 2000 +0000

description:
Support for a machine-specific badaddr handler.

diffstat:

 sys/arch/vax/vax/genassym.cf |   3 ++-
 sys/arch/vax/vax/intvec.s    |  14 ++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diffs (45 lines):

diff -r 97649075df3f -r ebce3aa2a4a4 sys/arch/vax/vax/genassym.cf
--- a/sys/arch/vax/vax/genassym.cf      Wed Jul 26 11:47:15 2000 +0000
+++ b/sys/arch/vax/vax/genassym.cf      Wed Jul 26 11:48:50 2000 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: genassym.cf,v 1.23 2000/07/02 04:40:45 cgd Exp $
+#      $NetBSD: genassym.cf,v 1.24 2000/07/26 11:48:51 ragge Exp $
 #
 # Copyright (c) 1997 Ludd, University of Lule}, Sweden.
 # All rights reserved.
@@ -68,6 +68,7 @@
 
 define MCHK            offsetof(struct cpu_dep, cpu_mchk)
 define MEMERR          offsetof(struct cpu_dep, cpu_memerr)
+define BADADDR         offsetof(struct cpu_dep, cpu_badaddr)
 
 define KERNBASE        KERNBASE
 
diff -r 97649075df3f -r ebce3aa2a4a4 sys/arch/vax/vax/intvec.s
--- a/sys/arch/vax/vax/intvec.s Wed Jul 26 11:47:15 2000 +0000
+++ b/sys/arch/vax/vax/intvec.s Wed Jul 26 11:48:50 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: intvec.s,v 1.53 2000/07/22 05:03:23 matt Exp $   */
+/*     $NetBSD: intvec.s,v 1.54 2000/07/26 11:48:50 ragge Exp $   */
 
 /*
  * Copyright (c) 1994, 1997 Ludd, University of Lule}, Sweden.
@@ -178,7 +178,17 @@
        rei
 
 L4:    addl2   (sp)+,sp        # remove info pushed on stack
-       cmpl    _C_LABEL(vax_cputype),$1 # Is it a 11/780?
+       pushr   $0x3f           # save regs for clobbering
+       movl    _C_LABEL(dep_call),r0   # get cpu-specific mchk handler
+       tstl    BADADDR(r0)     # any handler available?
+       bneq    4f              # yep, call it
+       popr    $0x3f           # nope, restore regs
+       brb     0f              # continue
+4:     calls   $0,*BADADDR(r0) # call machine-specific handler
+       popr    $0x3f           # restore regs
+       brb     2f
+
+0:     cmpl    _C_LABEL(vax_cputype),$1 # Is it a 11/780?
        bneq    1f              # No...
 
        mtpr    $0, $PR_SBIFS   # Clear SBI fault register



Home | Main Index | Thread Index | Old Index