Rev 1256 | Rev 1281 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1256 | Rev 1258 | ||
---|---|---|---|
Line 42... | Line 42... | ||
42 | #include <proc/scheduler.h> |
42 | #include <proc/scheduler.h> |
43 | #include <proc/thread.h> |
43 | #include <proc/thread.h> |
44 | #include <proc/task.h> |
44 | #include <proc/task.h> |
45 | #include <synch/spinlock.h> |
45 | #include <synch/spinlock.h> |
46 | #include <arch/ddi/ddi.h> |
46 | #include <arch/ddi/ddi.h> |
- | 47 | #include <interrupt.h> |
|
- | 48 | #include <ipc/sysipc.h> |
|
47 | 49 | ||
48 | void print_info_errcode(int n, istate_t *istate) |
50 | void print_info_errcode(int n, istate_t *istate) |
49 | { |
51 | { |
50 | char *symbol; |
52 | char *symbol; |
51 | /* __u64 *x = &istate->stack[0]; */ |
53 | /* __u64 *x = &istate->stack[0]; */ |
Line 151... | Line 153... | ||
151 | eoi_function(); |
153 | eoi_function(); |
152 | else |
154 | else |
153 | panic("no eoi_function\n"); |
155 | panic("no eoi_function\n"); |
154 | 156 | ||
155 | } |
157 | } |
- | 158 | ||
- | 159 | static void ipc_int(int n, istate_t *istate) |
|
- | 160 | { |
|
- | 161 | trap_virtual_eoi(); |
|
- | 162 | ipc_irq_send_notif(n-IVT_IRQBASE); |
|
- | 163 | } |
|
- | 164 | ||
- | 165 | ||
- | 166 | /* Reregister irq to be IPC-ready */ |
|
- | 167 | void irq_ipc_bind_arch(__native irq) |
|
- | 168 | { |
|
- | 169 | if (irq == IRQ_CLK) |
|
- | 170 | return; |
|
- | 171 | exc_register(IVT_IRQBASE+irq, "ipc_int", ipc_int); |
|
- | 172 | } |