Subversion Repositories HelenOS

Rev

Rev 470 | Rev 501 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 470 Rev 472
Line 218... Line 218...
218
 *
218
 *
219
 * @param ipl Saved interrupt priority level.
219
 * @param ipl Saved interrupt priority level.
220
 */
220
 */
221
static inline void interrupts_restore(ipl_t ipl)
221
static inline void interrupts_restore(ipl_t ipl)
222
{
222
{
223
    __asm__ volatile (
223
    if (ipl & PSR_I_MASK)
224
        "mov psr.l = %0\n"
224
        (void) interrupts_enable();
225
        ";;\n"
225
    else
226
        "srlz.d\n"
-
 
227
        : : "r" ((__u64) ipl)
226
        (void) interrupts_disable();
228
    );
-
 
229
}
227
}
230
 
228
 
231
/** Return interrupt priority level.
229
/** Return interrupt priority level.
232
 *
230
 *
233
 * @return PSR.
231
 * @return PSR.