vu0_issue(sd);
/* write to reserved CIA register to get VU0 moving */
- write_vu_misc_reg(&(vu0_device.regs), VU_REG_CIA, & data);
+ write_vu_special_reg(& vu0_device, VU_REG_CIA, & data);
+
+ ASSERT(vu0_busy());
}
else if(i_5_0 == 0x39) /* VCALLMSR */
{
while(vu0_busy())
vu0_issue(sd);
- read_vu_misc_reg(&(vu0_device.regs), VU_REG_CMSAR0, & data);
+ read_vu_special_reg(& vu0_device, VU_REG_CMSAR0, & data);
/* write to reserved CIA register to get VU0 moving */
- write_vu_misc_reg(&(vu0_device.regs), VU_REG_CIA, & data);
+ write_vu_special_reg(& vu0_device, VU_REG_CIA, & data);
+
+ ASSERT(vu0_busy());
}
/* handle all remaining UPPER VU instructions in one block */
else if((i_5_0 < 0x30) || /* VADDx .. VMINI */
unsigned_4 vu_upper, vu_lower;
vu_upper = 0x000002ff; /* NOP/NOP */
vu_lower =
- 0x10000000 | /* bits 31 .. 25 */
+ 0x80000000 | /* bits 31 .. 25 */
(instruction & 0x01ffffff); /* bits 24 .. 0 */
/* POLICY: never busy in macro mode */