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 | } |
|