Subversion Repositories HelenOS

Rev

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");