* R5900 sky COP2 testing continuing. Today only small
authorFrank Ch. Eigler <fche@redhat.com>
Wed, 8 Apr 1998 22:22:58 +0000 (22:22 +0000)
committerFrank Ch. Eigler <fche@redhat.com>
Wed, 8 Apr 1998 22:22:58 +0000 (22:22 +0000)
  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.

sim/mips/ChangeLog
sim/mips/Makefile.in
sim/mips/interp.c

index ecd4caff2b3e103534336d3c28a82da91208d672..80cfcdc7f53b52515e995c2b1fd0910d0db99ec6 100644 (file)
@@ -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>
 
index b3c4924841bfe8385e64b61cf460d8bfe44f474b..28ae81c45ba10b8a93b0859461d4d98af0c2b2db 100644 (file)
@@ -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
index 2d5d4f4b78a7363f0b34f2ca9532feabfbbe4459..12da45dabbef1cc346c7fc45680c6bc1792619af 100644 (file)
@@ -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 */