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