SPRN_MCSR
unsigned long mcsr = mfspr(SPRN_MCSR);
mtspr(SPRN_MCSR, mcsr);
return mfspr(SPRN_MCSR) == 0 && recoverable;
unsigned long reason = mfspr(SPRN_MCSR);
printk("MACHINE CHECK: %lx\n", mfspr(SPRN_MCSR));
run->hw.hardware_exit_reason |= mfspr(SPRN_MCSR);
case SPRN_MCSR:
case SPRN_MCSR:
u32 mcsr = mfspr(SPRN_MCSR);
mtspr(SPRN_MCSR, mcsr);
mcsr = mfspr(SPRN_MCSR);
mtspr(SPRN_MCSR, mcsr);