Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / include / asm-ia64 / sn / intr.h
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, 2000-2006 Silicon Graphics, Inc. All rights reserved.
7  */
8
9 #ifndef _ASM_IA64_SN_INTR_H
10 #define _ASM_IA64_SN_INTR_H
11
12 #include <linux/rcupdate.h>
13
14 #define SGI_UART_VECTOR         0xe9
15
16 /* Reserved IRQs : Note, not to exceed IA64_SN2_FIRST_DEVICE_VECTOR */
17 #define SGI_XPC_ACTIVATE        0x30
18 #define SGI_II_ERROR            0x31
19 #define SGI_XBOW_ERROR          0x32
20 #define SGI_PCIASIC_ERROR       0x33
21 #define SGI_ACPI_SCI_INT        0x34
22 #define SGI_TIOCA_ERROR         0x35
23 #define SGI_TIO_ERROR           0x36
24 #define SGI_TIOCX_ERROR         0x37
25 #define SGI_MMTIMER_VECTOR      0x38
26 #define SGI_XPC_NOTIFY          0xe7
27
28 #define IA64_SN2_FIRST_DEVICE_VECTOR    0x3c
29 #define IA64_SN2_LAST_DEVICE_VECTOR     0xe6
30
31 #define SN2_IRQ_RESERVED        0x1
32 #define SN2_IRQ_CONNECTED       0x2
33 #define SN2_IRQ_SHARED          0x4
34
35 // The SN PROM irq struct
36 struct sn_irq_info {
37         struct sn_irq_info *irq_next;   /* deprecated DO NOT USE     */
38         short           irq_nasid;      /* Nasid IRQ is assigned to  */
39         int             irq_slice;      /* slice IRQ is assigned to  */
40         int             irq_cpuid;      /* kernel logical cpuid      */
41         int             irq_irq;        /* the IRQ number */
42         int             irq_int_bit;    /* Bridge interrupt pin */
43         u64     irq_xtalkaddr;  /* xtalkaddr IRQ is sent to  */
44         int             irq_bridge_type;/* pciio asic type (pciio.h) */
45         void           *irq_bridge;     /* bridge generating irq     */
46         void           *irq_pciioinfo;  /* associated pciio_info_t   */
47         int             irq_last_intr;  /* For Shub lb lost intr WAR */
48         int             irq_cookie;     /* unique cookie             */
49         int             irq_flags;      /* flags */
50         int             irq_share_cnt;  /* num devices sharing IRQ   */
51         struct list_head        list;   /* list of sn_irq_info structs */
52         struct rcu_head         rcu;    /* rcu callback list */
53 };
54
55 extern void sn_send_IPI_phys(int, long, int, int);
56
57 #define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector)
58
59 #endif /* _ASM_IA64_SN_INTR_H */