Jon Loeliger writes: > +extern void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val); Hmmm, I wish someone would think of a better name for it. In fact I have tended to avoid using it, and instead done things like mtmsr((mfmsr() & ~x) | y); where necessary instead. Paul.