Rev 2410 | Rev 2414 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2410 | Rev 2411 | ||
---|---|---|---|
Line 151... | Line 151... | ||
151 | @actual return \n\ |
151 | @actual return \n\ |
152 | 4: ldmfd r13, {r0-r12, pc}^" |
152 | 4: ldmfd r13, {r0-r12, pc}^" |
153 | ); |
153 | ); |
154 | } |
154 | } |
155 | 155 | ||
- | 156 | ||
156 | /** Switch CPU to mode in which interrupts are serviced (currently it |
157 | /** Switch CPU to mode in which interrupts are serviced (currently it |
157 | * is Undefined mode). |
158 | * is Undefined mode). |
158 | * |
159 | * |
159 | * The default mode for interrupt servicing (Interrupt Mode) |
160 | * The default mode for interrupt servicing (Interrupt Mode) |
160 | * can not be used because of nested interrupts (which can occur |
161 | * can not be used because of nested interrupts (which can occur |
Line 184... | Line 185... | ||
184 | /* restore original regs */ |
185 | /* restore original regs */ |
185 | "ldmfd sp!, {r0-r3} \n" |
186 | "ldmfd sp!, {r0-r3} \n" |
186 | ); |
187 | ); |
187 | } |
188 | } |
188 | 189 | ||
- | 190 | ||
189 | /** Calls exception dispatch routine. */ |
191 | /** Calls exception dispatch routine. */ |
190 | #define CALL_EXC_DISPATCH(exception) \ |
192 | #define CALL_EXC_DISPATCH(exception) \ |
191 | asm("mov r0, %0" : : "i" (exception)); \ |
193 | asm("mov r0, %0" : : "i" (exception)); \ |
192 | asm("mov r1, r13"); \ |
194 | asm("mov r1, r13"); \ |
193 | asm("bl exc_dispatch"); |
195 | asm("bl exc_dispatch"); |