Module Name: src
Committed By: palle
Date: Sun Jul 13 22:32:49 UTC 2014
Modified Files:
src/sys/arch/sparc64/sparc64: locore.s
Log Message:
sun4v: add interrupt handling to sun4v trap table
To generate a diff of this commit:
cvs rdiff -u -r1.362 -r1.363 src/sys/arch/sparc64/sparc64/locore.s
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/sparc64/sparc64/locore.s
diff -u src/sys/arch/sparc64/sparc64/locore.s:1.362 src/sys/arch/sparc64/sparc64/locore.s:1.363
--- src/sys/arch/sparc64/sparc64/locore.s:1.362 Sun Jul 13 22:09:01 2014
+++ src/sys/arch/sparc64/sparc64/locore.s Sun Jul 13 22:32:49 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.362 2014/07/13 22:09:01 palle Exp $ */
+/* $NetBSD: locore.s,v 1.363 2014/07/13 22:32:49 palle Exp $ */
/*
* Copyright (c) 2006-2010 Matthew R. Green
@@ -246,6 +246,9 @@ cputyp: .word CPU_SUN4U ! Default to sun
/* hardware interrupts (can be linked or made `fast') */
#define HARDINT4U(lev) \
VTRAP(lev, _C_LABEL(sparc_interrupt))
+#ifdef SUN4V
+#define HARDINT4V(lev) HARDINT4U(lev)
+#endif
/* software interrupts (may not be made direct, sorry---but you
should not be using them trivially anyway) */
@@ -948,7 +951,23 @@ _C_LABEL(trapbase_sun4v):
!
sun4v_trap_entry 49 ! 0x000-0x030
VTRAP(T_DATA_MMU_MISS, sun4v_dtsb_miss) ! 0x031 = data MMU miss
- sun4v_trap_entry 78 ! 0x032-0x07f
+ sun4v_trap_entry 15 ! 0x032-0x040
+ HARDINT4V(1) ! 0x041 = level 1 interrupt
+ HARDINT4V(2) ! 0x042 = level 2 interrupt
+ HARDINT4V(3) ! 0x043 = level 3 interrupt
+ HARDINT4V(4) ! 0x044 = level 4 interrupt
+ HARDINT4V(5) ! 0x045 = level 5 interrupt
+ HARDINT4V(6) ! 0x046 = level 6 interrupt
+ HARDINT4V(7) ! 0x047 = level 7 interrupt
+ HARDINT4V(8) ! 0x048 = level 8 interrupt
+ HARDINT4V(9) ! 0x049 = level 9 interrupt
+ HARDINT4V(10) ! 0x04a = level 10 interrupt
+ HARDINT4V(11) ! 0x04b = level 11 interrupt
+ HARDINT4V(12) ! 0x04c = level 12 interrupt
+ HARDINT4V(13) ! 0x04d = level 13 interrupt
+ HARDINT4V(14) ! 0x04e = level 14 interrupt
+ HARDINT4V(15) ! 0x04f = level 15 interrupt
+ sun4v_trap_entry 48 ! 0x050-0x07f
SPILL64(uspill8_sun4v,ASI_AIUS) ! 0x080 spill_0_normal -- used to save user windows in user mode
SPILL32(uspill4_sun4v,ASI_AIUS) ! 0x084 spill_1_normal
SPILLBOTH(uspill8_sun4v,uspill4_sun4v,ASI_AIUS) ! 0x088 spill_2_normal