u64 tb, purr, spurr;
        u64 *exsave;
        bool ri_set;
-       unsigned long msr = mfmsr();
        int trap;
-       unsigned long host_hfscr = mfspr(SPRN_HFSCR);
-       unsigned long host_ciabr = mfspr(SPRN_CIABR);
-       unsigned long host_dawr0 = mfspr(SPRN_DAWR0);
-       unsigned long host_dawrx0 = mfspr(SPRN_DAWRX0);
-       unsigned long host_psscr = mfspr(SPRN_PSSCR);
-       unsigned long host_pidr = mfspr(SPRN_PID);
-       unsigned long host_dawr1 = 0;
-       unsigned long host_dawrx1 = 0;
-
-       if (cpu_has_feature(CPU_FTR_DAWR1)) {
-               host_dawr1 = mfspr(SPRN_DAWR1);
-               host_dawrx1 = mfspr(SPRN_DAWRX1);
-       }
+       unsigned long msr;
+       unsigned long host_hfscr;
+       unsigned long host_ciabr;
+       unsigned long host_dawr0;
+       unsigned long host_dawrx0;
+       unsigned long host_psscr;
+       unsigned long host_pidr;
+       unsigned long host_dawr1;
+       unsigned long host_dawrx1;
 
        hdec = time_limit - mftb();
        if (hdec < 0)
                vc->tb_offset_applied = vc->tb_offset;
        }
 
+       msr = mfmsr();
+
+       host_hfscr = mfspr(SPRN_HFSCR);
+       host_ciabr = mfspr(SPRN_CIABR);
+       host_dawr0 = mfspr(SPRN_DAWR0);
+       host_dawrx0 = mfspr(SPRN_DAWRX0);
+       host_psscr = mfspr(SPRN_PSSCR);
+       host_pidr = mfspr(SPRN_PID);
+       if (cpu_has_feature(CPU_FTR_DAWR1)) {
+               host_dawr1 = mfspr(SPRN_DAWR1);
+               host_dawrx1 = mfspr(SPRN_DAWRX1);
+       }
+
        if (vc->pcr)
                mtspr(SPRN_PCR, vc->pcr | PCR_MASK);
        mtspr(SPRN_DPDES, vc->dpdes);