Rev 1256 | Rev 1288 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1256 | Rev 1258 | ||
|---|---|---|---|
| Line 41... | Line 41... | ||
| 41 | #include <symtab.h> |
41 | #include <symtab.h> |
| 42 | #include <proc/thread.h> |
42 | #include <proc/thread.h> |
| 43 | #include <proc/task.h> |
43 | #include <proc/task.h> |
| 44 | #include <synch/spinlock.h> |
44 | #include <synch/spinlock.h> |
| 45 | #include <arch/ddi/ddi.h> |
45 | #include <arch/ddi/ddi.h> |
| - | 46 | #include <ipc/sysipc.h> |
|
| - | 47 | #include <interrupt.h> |
|
| 46 | 48 | ||
| 47 | /* |
49 | /* |
| 48 | * Interrupt and exception dispatching. |
50 | * Interrupt and exception dispatching. |
| 49 | */ |
51 | */ |
| 50 | 52 | ||
| Line 182... | Line 184... | ||
| 182 | eoi_function(); |
184 | eoi_function(); |
| 183 | else |
185 | else |
| 184 | panic("no eoi_function\n"); |
186 | panic("no eoi_function\n"); |
| 185 | 187 | ||
| 186 | } |
188 | } |
| - | 189 | ||
| - | 190 | static void ipc_int(int n, istate_t *istate) |
|
| - | 191 | { |
|
| - | 192 | trap_virtual_eoi(); |
|
| - | 193 | ipc_irq_send_notif(n-IVT_IRQBASE); |
|
| - | 194 | } |
|
| - | 195 | ||
| - | 196 | ||
| - | 197 | /* Reregister irq to be IPC-ready */ |
|
| - | 198 | void irq_ipc_bind_arch(__native irq) |
|
| - | 199 | { |
|
| - | 200 | if (irq == IRQ_CLK) |
|
| - | 201 | return; |
|
| - | 202 | exc_register(IVT_IRQBASE+irq, "ipc_int", ipc_int); |
|
| - | 203 | } |
|