~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mips/include/asm/sn/intr.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * This file is subject to the terms and conditions of the GNU General Public
  3  * License.  See the file "COPYING" in the main directory of this archive
  4  * for more details.
  5  *
  6  * Copyright (C) 1992 - 1997 Silicon Graphics, Inc.
  7  */
  8 #ifndef __ASM_SN_INTR_H
  9 #define __ASM_SN_INTR_H
 10 
 11 /*
 12  * Macros to manipulate the interrupt register on the calling hub chip.
 13  */
 14 
 15 #define LOCAL_HUB_SEND_INTR(level)                              \
 16         LOCAL_HUB_S(PI_INT_PEND_MOD, (0x100 | (level)))
 17 #define REMOTE_HUB_SEND_INTR(hub, level)                        \
 18         REMOTE_HUB_S((hub), PI_INT_PEND_MOD, (0x100 | (level)))
 19 
 20 /*
 21  * When clearing the interrupt, make sure this clear does make it
 22  * to the hub. Otherwise we could end up losing interrupts.
 23  * We do an uncached load of the int_pend0 register to ensure this.
 24  */
 25 
 26 #define LOCAL_HUB_CLR_INTR(level)                               \
 27 do {                                                            \
 28         LOCAL_HUB_S(PI_INT_PEND_MOD, (level));                  \
 29         LOCAL_HUB_L(PI_INT_PEND0);                              \
 30 } while (0);
 31 
 32 #define REMOTE_HUB_CLR_INTR(hub, level)                         \
 33 do {                                                            \
 34         nasid_t  __hub = (hub);                                 \
 35                                                                 \
 36         REMOTE_HUB_S(__hub, PI_INT_PEND_MOD, (level));          \
 37         REMOTE_HUB_L(__hub, PI_INT_PEND0);                      \
 38 } while (0);
 39 
 40 /*
 41  * Hard-coded interrupt levels:
 42  */
 43 
 44 /*
 45  *      L0 = SW1
 46  *      L1 = SW2
 47  *      L2 = INT_PEND0
 48  *      L3 = INT_PEND1
 49  *      L4 = RTC
 50  *      L5 = Profiling Timer
 51  *      L6 = Hub Errors
 52  *      L7 = Count/Compare (T5 counters)
 53  */
 54 
 55 
 56 /*
 57  * INT_PEND0 hard-coded bits.
 58  */
 59 
 60 /*
 61  * INT_PEND0 bits determined by hardware:
 62  */
 63 #define RESERVED_INTR            0      /* What is this bit? */
 64 #define GFX_INTR_A               1
 65 #define GFX_INTR_B               2
 66 #define PG_MIG_INTR              3
 67 #define UART_INTR                4
 68 #define CC_PEND_A                5
 69 #define CC_PEND_B                6
 70 
 71 /*
 72  * INT_PEND0 used by the kernel for itself ...
 73  */
 74 #define CPU_RESCHED_A_IRQ        7
 75 #define CPU_RESCHED_B_IRQ        8
 76 #define CPU_CALL_A_IRQ           9
 77 #define CPU_CALL_B_IRQ          10
 78 
 79 /*
 80  * INT_PEND1 hard-coded bits:
 81  */
 82 #define NI_BRDCAST_ERR_A        39
 83 #define NI_BRDCAST_ERR_B        40
 84 
 85 #define LLP_PFAIL_INTR_A        41      /* see ml/SN/SN0/sysctlr.c */
 86 #define LLP_PFAIL_INTR_B        42
 87 
 88 #define TLB_INTR_A              43      /* used for tlb flush random */
 89 #define TLB_INTR_B              44
 90 
 91 #define IP27_INTR_0             45      /* Reserved for PROM use */
 92 #define IP27_INTR_1             46      /* do not use in Kernel */
 93 #define IP27_INTR_2             47
 94 #define IP27_INTR_3             48
 95 #define IP27_INTR_4             49
 96 #define IP27_INTR_5             50
 97 #define IP27_INTR_6             51
 98 #define IP27_INTR_7             52
 99 
100 #define BRIDGE_ERROR_INTR       53      /* Setup by PROM to catch       */
101                                         /* Bridge Errors */
102 #define DEBUG_INTR_A            54
103 #define DEBUG_INTR_B            55      /* Used by symmon to stop all cpus */
104 #define IO_ERROR_INTR           57      /* Setup by PROM */
105 #define CLK_ERR_INTR            58
106 #define COR_ERR_INTR_A          59
107 #define COR_ERR_INTR_B          60
108 #define MD_COR_ERR_INTR         61
109 #define NI_ERROR_INTR           62
110 #define MSC_PANIC_INTR          63
111 
112 #endif /* __ASM_SN_INTR_H */
113 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php