unsigned_4 data;
/* enum + int calculation, argh! */
id = VU_REG_MST + 16 * id;
- read_vu_misc_reg(&(vu0_device.regs), id, & data);
+ if (id >= VU_REG_CMSAR0)
+ read_vu_special_reg(&vu0_device, id, & data);
+ else
+ read_vu_misc_reg(&(vu0_device.regs), id, & data);
GPR[rt] = EXTEND32(T2H_4(data));
}
}
{
unsigned_4 data = H2T_4(GPR[rt]);
/* enum + int calculation, argh! */
- id = VU_REG_MST + 16 * id;
- write_vu_misc_reg(&(vu0_device.regs), id, & data);
+ id = VU_REG_VI + 16 * id;
+ if (id >= VU_REG_CMSAR0)
+ write_vu_special_reg(&vu0_device, id, & data);
+ else
+ write_vu_misc_reg(&(vu0_device.regs), id, & data);
}
}
else if(i_10_0 == 0x3bf) /* VWAITQ */