mfsr
mtsr(mfsr(addr) | SR_KS, addr);
mtsr(mfsr(addr) & ~SR_KS, addr);
update_user_segments(mfsr(0) | SR_KS);
mtsr(mfsr(i << 28) | 0x10000000, i << 28);
u32 val = mfsr(i << 28);
printf(" %x", mfsr(i << 28));
volatile unsigned long mfsr; /* Memory-fault status register */