Commit | Line | Data |
---|---|---|
1da177e4 LT |
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-2004 Silicon Graphics, Inc. All rights reserved. | |
7 | */ | |
8 | ||
9 | #ifndef _ASM_IA64_SN_INTR_H | |
10 | #define _ASM_IA64_SN_INTR_H | |
11 | ||
12 | #define SGI_UART_VECTOR (0xe9) | |
13 | #define SGI_PCIBR_ERROR (0x33) | |
14 | ||
15 | /* Reserved IRQs : Note, not to exceed IA64_SN2_FIRST_DEVICE_VECTOR */ | |
16 | #define SGI_XPC_ACTIVATE (0x30) | |
17 | #define SGI_II_ERROR (0x31) | |
18 | #define SGI_XBOW_ERROR (0x32) | |
19 | #define SGI_PCIBR_ERROR (0x33) | |
20 | #define SGI_ACPI_SCI_INT (0x34) | |
21 | #define SGI_TIOCA_ERROR (0x35) | |
22 | #define SGI_TIO_ERROR (0x36) | |
23 | #define SGI_TIOCX_ERROR (0x37) | |
24 | #define SGI_MMTIMER_VECTOR (0x38) | |
25 | #define SGI_XPC_NOTIFY (0xe7) | |
26 | ||
27 | #define IA64_SN2_FIRST_DEVICE_VECTOR (0x3c) | |
28 | #define IA64_SN2_LAST_DEVICE_VECTOR (0xe6) | |
29 | ||
30 | #define SN2_IRQ_RESERVED (0x1) | |
31 | #define SN2_IRQ_CONNECTED (0x2) | |
32 | #define SN2_IRQ_SHARED (0x4) | |
33 | ||
34 | // The SN PROM irq struct | |
35 | struct sn_irq_info { | |
36 | struct sn_irq_info *irq_next; /* sharing irq list */ | |
37 | short irq_nasid; /* Nasid IRQ is assigned to */ | |
38 | int irq_slice; /* slice IRQ is assigned to */ | |
39 | int irq_cpuid; /* kernel logical cpuid */ | |
40 | int irq_irq; /* the IRQ number */ | |
41 | int irq_int_bit; /* Bridge interrupt pin */ | |
42 | uint64_t irq_xtalkaddr; /* xtalkaddr IRQ is sent to */ | |
43 | int irq_bridge_type;/* pciio asic type (pciio.h) */ | |
44 | void *irq_bridge; /* bridge generating irq */ | |
45 | void *irq_pciioinfo; /* associated pciio_info_t */ | |
46 | int irq_last_intr; /* For Shub lb lost intr WAR */ | |
47 | int irq_cookie; /* unique cookie */ | |
48 | int irq_flags; /* flags */ | |
49 | int irq_share_cnt; /* num devices sharing IRQ */ | |
50 | }; | |
51 | ||
52 | extern void sn_send_IPI_phys(int, long, int, int); | |
53 | ||
54 | #define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector) | |
55 | ||
56 | #endif /* _ASM_IA64_SN_INTR_H */ |