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. |