* R5900 sky COP2 testing continuing. Today only small
VCALLMS-related were found/fixed. [ChangeLog.sky] * sky-vu.c ({read,write}_vu_special_reg): Add CMSAR[01] as special registers for a VU. Behavior not as mandated. ({read,write}_vu_{misc,special}_reg): Create sim_io_error upon access to unknown register. Behavior not as mandated. * sky-vu.h (anonymous register numbering enum): Add CMSAR[01]. * sky-libvpe.c (indebug): Cache $ENV{'SKY_DEBUG'}. [ChangeLog] * Makefile.in (SIM_SKY_OBJS): Added sky-vudis.o. * interp.c (decode_coproc): Refer to VU CIA as a "special" register, not as a "misc" register. Aha. Add activity assertions after VCALLMS* instructions.
This commit is contained in:
parent
4118c63ccd
commit
11c47f314b
@ -1,3 +1,14 @@
|
||||
start-sanitize-sky
|
||||
Wed Apr 8 18:12:13 1998 Frank Ch. Eigler <fche@cygnus.com>
|
||||
|
||||
* Makefile.in (SIM_SKY_OBJS): Added sky-vudis.o.
|
||||
|
||||
* interp.c (decode_coproc): Refer to VU CIA as a "special"
|
||||
register, not as a "misc" register. Aha. Add activity
|
||||
assertions after VCALLMS* instructions.
|
||||
|
||||
end-sanitize-sky
|
||||
|
||||
start-sanitize-sky
|
||||
Tue Apr 7 18:32:49 1998 Frank Ch. Eigler <fche@cygnus.com>
|
||||
|
||||
|
@ -18,6 +18,7 @@ SIM_SKY_OBJS = \
|
||||
sky-libvpe.o \
|
||||
sky-pke.o \
|
||||
sky-vu.o \
|
||||
sky-vudis.o \
|
||||
sky-gs.o \
|
||||
sky-gdb.o
|
||||
# end-sanitize-sky
|
||||
|
@ -3375,7 +3375,9 @@ decode_coproc (SIM_DESC sd,
|
||||
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 */
|
||||
{
|
||||
@ -3384,9 +3386,11 @@ decode_coproc (SIM_DESC sd,
|
||||
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 */
|
||||
|
Loading…
Reference in New Issue
Block a user