Merge commit 'v2.6.26' into sched/devel
[pandora-kernel.git] / include / asm-x86 / mach-voyager / irq_vectors.h
1 /* -*- mode: c; c-basic-offset: 8 -*- */
2
3 /* Copyright (C) 2002
4  *
5  * Author: James.Bottomley@HansenPartnership.com
6  *
7  * linux/arch/i386/voyager/irq_vectors.h
8  *
9  * This file provides definitions for the VIC and QIC CPIs
10  */
11
12 #ifndef _ASM_IRQ_VECTORS_H
13 #define _ASM_IRQ_VECTORS_H
14
15 /*
16  * IDT vectors usable for external interrupt sources start
17  * at 0x20:
18  */
19 #define FIRST_EXTERNAL_VECTOR   0x20
20
21 #define SYSCALL_VECTOR          0x80
22
23 /*
24  * Vectors 0x20-0x2f are used for ISA interrupts.
25  */
26
27 /* These define the CPIs we use in linux */
28 #define VIC_CPI_LEVEL0                  0
29 #define VIC_CPI_LEVEL1                  1
30 /* now the fake CPIs */
31 #define VIC_TIMER_CPI                   2
32 #define VIC_INVALIDATE_CPI              3
33 #define VIC_RESCHEDULE_CPI              4
34 #define VIC_ENABLE_IRQ_CPI              5
35 #define VIC_CALL_FUNCTION_CPI           6
36
37 /* Now the QIC CPIs:  Since we don't need the two initial levels,
38  * these are 2 less than the VIC CPIs */
39 #define QIC_CPI_OFFSET                  1
40 #define QIC_TIMER_CPI                   (VIC_TIMER_CPI - QIC_CPI_OFFSET)
41 #define QIC_INVALIDATE_CPI              (VIC_INVALIDATE_CPI - QIC_CPI_OFFSET)
42 #define QIC_RESCHEDULE_CPI              (VIC_RESCHEDULE_CPI - QIC_CPI_OFFSET)
43 #define QIC_ENABLE_IRQ_CPI              (VIC_ENABLE_IRQ_CPI - QIC_CPI_OFFSET)
44 #define QIC_CALL_FUNCTION_CPI           (VIC_CALL_FUNCTION_CPI - QIC_CPI_OFFSET)
45
46 #define VIC_START_FAKE_CPI              VIC_TIMER_CPI
47 #define VIC_END_FAKE_CPI                VIC_CALL_FUNCTION_CPI
48
49 /* this is the SYS_INT CPI. */
50 #define VIC_SYS_INT                     8
51 #define VIC_CMN_INT                     15
52
53 /* This is the boot CPI for alternate processors.  It gets overwritten
54  * by the above once the system has activated all available processors */
55 #define VIC_CPU_BOOT_CPI                VIC_CPI_LEVEL0
56 #define VIC_CPU_BOOT_ERRATA_CPI         (VIC_CPI_LEVEL0 + 8)
57
58 #define NR_VECTORS 256
59 #define NR_IRQS 224
60 #define NR_IRQ_VECTORS NR_IRQS
61
62 #define FPU_IRQ                         13
63
64 #define FIRST_VM86_IRQ          3
65 #define LAST_VM86_IRQ           15
66 #define invalid_vm86_irq(irq)   ((irq) < 3 || (irq) > 15)
67
68 #ifndef __ASSEMBLY__
69 extern asmlinkage void vic_cpi_interrupt(void);
70 extern asmlinkage void vic_sys_interrupt(void);
71 extern asmlinkage void vic_cmn_interrupt(void);
72 extern asmlinkage void qic_timer_interrupt(void);
73 extern asmlinkage void qic_invalidate_interrupt(void);
74 extern asmlinkage void qic_reschedule_interrupt(void);
75 extern asmlinkage void qic_enable_irq_interrupt(void);
76 extern asmlinkage void qic_call_function_interrupt(void);
77 #endif /* !__ASSEMBLY__ */
78
79 #endif /* _ASM_IRQ_VECTORS_H */