Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 203 → Rev 204

/SPARTAN/trunk/arch/ppc/include/asm.h
40,8 → 40,13
static inline pri_t cpu_priority_low(void) {
pri_t v;
__asm__ volatile (
"\n"
"mfmsr %0\n"
"mfmsr %%r31\n"
"ori %%r31, %%r31, 1 << 15\n"
"mtmsr %%r31\n"
: "=r" (v)
:
: "%r31"
);
return v;
}
54,8 → 59,13
static inline pri_t cpu_priority_high(void) {
pri_t v;
__asm__ volatile (
"\n"
"mfmsr %0\n"
"mfmsr %%r31\n"
"rlwinm %%r31, %%r31, 0, 17, 15\n"
"mtmsr %%r31\n"
: "=r" (v)
:
: "%r31"
);
return v;
}
66,8 → 76,12
*/
static inline void cpu_priority_restore(pri_t pri) {
__asm__ volatile (
"\n"
: : "r" (pri)
"mfmsr %%r31\n"
"rlwimi %0, %%r31, 0, 17, 15\n"
"mtmsr %0\n"
: "=r" (pri)
: "0" (pri)
: "%r31"
);
}