Rev 534 | Rev 825 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 534 | Rev 576 | ||
---|---|---|---|
Line 24... | Line 24... | ||
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | */ |
27 | */ |
28 | 28 | ||
29 | #ifndef __INTERRUPT_H__ |
29 | #ifndef __ia32_INTERRUPT_H__ |
30 | #define __INTERRUPT_H__ |
30 | #define __ia32_INTERRUPT_H__ |
31 | 31 | ||
32 | #include <arch/types.h> |
32 | #include <arch/types.h> |
33 | #include <arch/pm.h> |
33 | #include <arch/pm.h> |
34 | 34 | ||
35 | #define IVT_ITEMS IDT_ITEMS |
35 | #define IVT_ITEMS IDT_ITEMS |
Line 59... | Line 59... | ||
59 | 59 | ||
60 | #define VECTOR_SYSCALL (IVT_FREEBASE+0) |
60 | #define VECTOR_SYSCALL (IVT_FREEBASE+0) |
61 | #define VECTOR_TLB_SHOOTDOWN_IPI (IVT_FREEBASE+1) |
61 | #define VECTOR_TLB_SHOOTDOWN_IPI (IVT_FREEBASE+1) |
62 | #define VECTOR_WAKEUP_IPI (IVT_FREEBASE+2) |
62 | #define VECTOR_WAKEUP_IPI (IVT_FREEBASE+2) |
63 | 63 | ||
64 | typedef void (* iroutine)(__u8 n, __native stack[]); |
- | |
65 | - | ||
66 | extern void (* disable_irqs_function)(__u16 irqmask); |
64 | extern void (* disable_irqs_function)(__u16 irqmask); |
67 | extern void (* enable_irqs_function)(__u16 irqmask); |
65 | extern void (* enable_irqs_function)(__u16 irqmask); |
68 | extern void (* eoi_function)(void); |
66 | extern void (* eoi_function)(void); |
69 | 67 | ||
70 | extern iroutine trap_register(__u8 n, iroutine f); |
- | |
71 | - | ||
72 | extern void trap_dispatcher(__u8 n, __native stack[]); |
- | |
73 | - | ||
74 | extern void null_interrupt(__u8 n, __native stack[]); |
68 | extern void null_interrupt(int n, void *stack); |
75 | extern void gp_fault(__u8 n, __native stack[]); |
69 | extern void gp_fault(int n, void *stack); |
76 | extern void nm_fault(__u8 n, __native stack[]); |
70 | extern void nm_fault(int n, void *stack); |
77 | extern void ss_fault(__u8 n, __native stack[]); |
71 | extern void ss_fault(int n, void *stack); |
78 | extern void page_fault(__u8 n, __native stack[]); |
72 | extern void page_fault(int n, void *stack); |
79 | extern void syscall(__u8 n, __native stack[]); |
73 | extern void syscall(int n, void *stack); |
80 | extern void tlb_shootdown_ipi(__u8 n, __native stack[]); |
74 | extern void tlb_shootdown_ipi(int n, void *stack); |
81 | extern void wakeup_ipi(__u8 n, __native stack[]); |
75 | extern void wakeup_ipi(int n, void *stack); |
82 | 76 | ||
83 | extern void trap_virtual_enable_irqs(__u16 irqmask); |
77 | extern void trap_virtual_enable_irqs(__u16 irqmask); |
84 | extern void trap_virtual_disable_irqs(__u16 irqmask); |
78 | extern void trap_virtual_disable_irqs(__u16 irqmask); |
85 | extern void trap_virtual_eoi(void); |
79 | extern void trap_virtual_eoi(void); |
86 | 80 |