- Timestamp:
- 2006-04-29T22:12:40Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 51a7dc1
- Parents:
- 407862e
- Location:
- arch
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/src/interrupt.c
r407862e r5626277 45 45 #include <synch/spinlock.h> 46 46 #include <arch/ddi/ddi.h> 47 #include <interrupt.h> 48 #include <ipc/sysipc.h> 47 49 48 50 void print_info_errcode(int n, istate_t *istate) … … 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 } -
arch/ia32/src/interrupt.c
r407862e r5626277 44 44 #include <synch/spinlock.h> 45 45 #include <arch/ddi/ddi.h> 46 #include <ipc/sysipc.h> 47 #include <interrupt.h> 46 48 47 49 /* … … 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 } -
arch/mips32/include/interrupt.h
r407862e r5626277 34 34 #define IVT_ITEMS 40 35 35 #define INT_OFFSET 32 36 #define IRQ_COUNT 8 36 37 37 38 #define int_register(it, name, handler) exc_register(((it)+INT_OFFSET),name,handler) -
arch/mips32/src/interrupt.c
r407862e r5626277 34 34 #include <time/clock.h> 35 35 #include <arch/drivers/arc.h> 36 37 #include <ipc/sysipc.h> 36 38 37 39 /** Disable interrupts. … … 84 86 { 85 87 cp0_cause_write(cp0_cause_read() & ~(1 << 8)); /* clear SW0 interrupt */ 88 ipc_irq_send_notif(0); 86 89 } 87 90 … … 89 92 { 90 93 cp0_cause_write(cp0_cause_read() & ~(1 << 9)); /* clear SW1 interrupt */ 94 ipc_irq_send_notif(1); 91 95 } 92 96 … … 98 102 int_register(1, "swint1", swint1); 99 103 } 104 105 #include <print.h> 106 static void ipc_int(int n, istate_t *istate) 107 { 108 ipc_irq_send_notif(n-INT_OFFSET); 109 } 110 111 /* Reregister irq to be IPC-ready */ 112 void irq_ipc_bind_arch(__native irq) 113 { 114 /* Do not allow to redefine timer */ 115 /* Swint0, Swint1 are already handled */ 116 if (irq == TIMER_IRQ || irq < 2) 117 return; 118 int_register(irq, "ipc_int", ipc_int); 119 }
Note:
See TracChangeset
for help on using the changeset viewer.