SPR_TSR
mtspr(SPR_TSR, TSR_ENW);
mtspr(SPR_TSR, TSR_ENW);
mtspr(SPR_TSR, TSR_ENW);
mtspr(SPR_TSR, TSR_ENW|TSR_WIS);
mtspr(SPR_TSR, TSR_FIS); /* Clear TSR[FIS] */
mtspr(SPR_TSR, TSR_PIS); /* Clear TSR[PIS] */
if (mfspr(SPR_TSR) & TSR_WRS_MASK) {
mtspr(SPR_TSR, TSR_WRS_MASK);
mtspr(SPR_TSR, TSR_ENW | TSR_WIS);
tsr = mfspr(SPR_TSR);
mtspr(SPR_TSR, tsr);
mtspr(SPR_TSR, TSR_ENW | TSR_WIS);
uint32_t tsr = mfspr(SPR_TSR);
mtspr(SPR_TSR, tsr);