UASM_i_MFC0
#define UASM_i_CPUID_MFC0 UASM_i_MFC0
UASM_i_MFC0(p, tmp, scratch_tmp[0], scratch_tmp[1]);
UASM_i_MFC0(&p, GPR_K0, C0_PWBASE);
UASM_i_MFC0(&p, GPR_K0, c0_kscratch(), pgd_reg);
UASM_i_MFC0(&p, GPR_K0, C0_ENTRYHI);
UASM_i_MFC0(&p, GPR_K1, scratch_vcpu[0], scratch_vcpu[1]);
UASM_i_MFC0(&p, GPR_K1, C0_PGD);
UASM_i_MFC0(&p, GPR_K1, scratch_vcpu[0], scratch_vcpu[1]);
UASM_i_MFC0(&p, GPR_K1, scratch_tmp[0], scratch_tmp[1]);
UASM_i_MFC0(&p, GPR_K1, scratch_vcpu[0], scratch_vcpu[1]);
UASM_i_MFC0(&p, GPR_T0, scratch_tmp[0], scratch_tmp[1]);
UASM_i_MFC0(&p, GPR_S0, scratch_vcpu[0], scratch_vcpu[1]);
UASM_i_MFC0(&p, GPR_K0, C0_EPC);
UASM_i_MFC0(&p, GPR_K0, C0_BADVADDR);
UASM_i_MFC0(p, tmp, scratch_vcpu[0], scratch_vcpu[1]);
UASM_i_MFC0(p, tmp, C0_BADVADDR);
UASM_i_MFC0(p, ptr, c0_kscratch(), pgd_reg);
UASM_i_MFC0(p, ptr, C0_CONTEXT);
UASM_i_MFC0(p, ptr, c0_kscratch(), pgd_reg);
UASM_i_MFC0(p, ptr, C0_CONTEXT);
UASM_i_MFC0(p, tmp, C0_BADVADDR);
UASM_i_MFC0(p, scratch, c0_kscratch(), c0_scratch_reg);
UASM_i_MFC0(p, wr.r1, C0_BADVADDR);
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO0);
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO1);
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO0);
UASM_i_MFC0(&p, wr.r3, C0_ENTRYLO1);
# define GET_CONTEXT(buf, reg) UASM_i_MFC0(buf, reg, C0_XCONTEXT)
# define GET_CONTEXT(buf, reg) UASM_i_MFC0(buf, reg, C0_CONTEXT)
UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg);
UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg);
UASM_i_MFC0(p, ptr, C0_ENTRYHI);
UASM_i_MFC0(p, ptr, C0_PWBASE);
UASM_i_MFC0(p, ptr, c0_kscratch(), pgd_reg);
UASM_i_MFC0(p, ptr, C0_CONTEXT);
UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg);