aboutsummaryrefslogtreecommitdiff
path: root/sim/mips
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>1998-04-08 22:22:58 +0000
committerFrank Ch. Eigler <fche@redhat.com>1998-04-08 22:22:58 +0000
commit11c47f314bf5b03fb674275920386fbec2a13aca (patch)
tree89102bf79bfca77af260043ea188cfc4d9f423d9 /sim/mips
parent4118c63ccd7c23676cd358dd1d50d1ae02ef3868 (diff)
downloadgdb-11c47f314bf5b03fb674275920386fbec2a13aca.zip
gdb-11c47f314bf5b03fb674275920386fbec2a13aca.tar.gz
gdb-11c47f314bf5b03fb674275920386fbec2a13aca.tar.bz2
* 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.
Diffstat (limited to 'sim/mips')
-rw-r--r--sim/mips/ChangeLog11
-rw-r--r--sim/mips/Makefile.in1
-rw-r--r--sim/mips/interp.c10
3 files changed, 19 insertions, 3 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index ecd4caf..80cfcdc 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,4 +1,15 @@
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>
* interp.c (decode_coproc): Do not apply superfluous E (end) flag
diff --git a/sim/mips/Makefile.in b/sim/mips/Makefile.in
index b3c4924..28ae81c 100644
--- a/sim/mips/Makefile.in
+++ b/sim/mips/Makefile.in
@@ -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
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 2d5d4f4..12da45d 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -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 */