Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/sparc64/sparc64 sun4v: add interrupt handling to su...



details:   https://anonhg.NetBSD.org/src/rev/635beed64006
branches:  trunk
changeset: 797318:635beed64006
user:      palle <palle%NetBSD.org@localhost>
date:      Sun Jul 13 22:32:49 2014 +0000

description:
sun4v: add interrupt handling to sun4v trap table

diffstat:

 sys/arch/sparc64/sparc64/locore.s |  23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diffs (44 lines):

diff -r 18ce18e4fa26 -r 635beed64006 sys/arch/sparc64/sparc64/locore.s
--- a/sys/arch/sparc64/sparc64/locore.s Sun Jul 13 22:09:01 2014 +0000
+++ b/sys/arch/sparc64/sparc64/locore.s Sun Jul 13 22:32:49 2014 +0000
@@ -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 @@
        /* 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 @@
        !
        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



Home | Main Index | Thread Index | Old Index