summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/sparc64/sparc64/interrupt.S10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/sparc64/sparc64/interrupt.S b/sys/sparc64/sparc64/interrupt.S
index 3f80445..fc144f4 100644
--- a/sys/sparc64/sparc64/interrupt.S
+++ b/sys/sparc64/sparc64/interrupt.S
@@ -30,7 +30,6 @@ __FBSDID("$FreeBSD$");
#include <machine/asi.h>
#include <machine/asmacros.h>
#include <machine/intr_machdep.h>
-#include <machine/ktr.h>
#include <machine/pstate.h>
#include <machine/ver.h>
@@ -84,13 +83,13 @@ ENTRY(intr_vector)
* The 2nd word points to code to execute and the 3rd is an argument
* to pass. Jump to it.
*/
- brnz,pt %g3, 1f
+ brnz,a,pt %g3, 1f
+ srlx %g3, 60, %g6
/*
* NB: Zeus CPUs set some undocumented bits in the first data word.
*/
- and %g3, IV_MAX - 1, %g3
jmpl %g4, %g0
- nop
+ and %g3, IV_MAX - 1, %g3
/* NOTREACHED */
/*
@@ -99,8 +98,7 @@ ENTRY(intr_vector)
* 4 bits of the 1st data word specify a priority, and the 2nd and
* 3rd a function and argument.
*/
-1: srlx %g3, 60, %g6
- brnz,a,pn %g6, 2f
+1: brnz,a,pn %g6, 2f
clr %g3
/*
OpenPOWER on IntegriCloud