aboutsummaryrefslogtreecommitdiff
path: root/sim/mips
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>1998-04-07 22:47:53 +0000
committerFrank Ch. Eigler <fche@redhat.com>1998-04-07 22:47:53 +0000
commit174ff2242bac23a45001276b0629413bd166bf6e (patch)
tree72b17b9d94c734a3f739aa6297d9eb0dcc3b7470 /sim/mips
parent0dee6af2994fadd9f240eea6c8ceda6c969f919f (diff)
downloadgdb-174ff2242bac23a45001276b0629413bd166bf6e.zip
gdb-174ff2242bac23a45001276b0629413bd166bf6e.tar.gz
gdb-174ff2242bac23a45001276b0629413bd166bf6e.tar.bz2
* R5900 COP2 sim testing in progress. The majority of instructions actually
work! [ChangeLog.sky] * sky-vu.h (vu_device): Represent "macro instruction just stuffed into fetch buffer" condition with new "m" bit. Rename old "m" to "l". * sky-libvpe.c (indebug): Save snapshot of environment value; workaround for suspected memory corruption. (fetch_inst): Respect new "m" macro-instruction flag for reporting successful fetch to caller. (exec_inst): Disassemble instruction here instead of fetch time. Renamed old "m" -> "l" flag in VU state to track interlock release. (vpecallms_cycle): Call exec_inst only if fetch_inst did some work. * sky-vu.c (vu_attach, vu[01]_device): Revamped initialization to ensure complete clear of tail part of struct at attach time. (vu0_busy): Fix thinko. (vu0_macro_issue): Adapt to new "l" flag. (vu0_micro_interlock_released): Ditto. (write_vu_special_reg): Ditto. (read_vu_special_reg): Compute VBS0/VBS1 bits more explicitly. The other VU status bits are not yet computed. [ChangeLog] * interp.c (decode_coproc): Do not apply superfluous E (end) flag to upper code of generated VU instruction.
Diffstat (limited to 'sim/mips')
-rw-r--r--sim/mips/ChangeLog8
-rw-r--r--sim/mips/interp.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 2c0f0b9..ecd4caf 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,4 +1,12 @@
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
+ to upper code of generated VU instruction.
+
+end-sanitize-sky
+
+start-sanitize-sky
Mon Apr 6 19:55:56 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (cop_[ls]q): Replaced stub with proper COP2 code.
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 7368695..2d5d4f4 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -3394,7 +3394,7 @@ decode_coproc (SIM_DESC sd,
{
unsigned_4 vu_upper, vu_lower;
vu_upper =
- 0x40000000 | /* bits 31 .. 25 */
+ 0x00000000 | /* bits 31 .. 25 */
(instruction & 0x01ffffff); /* bits 24 .. 0 */
vu_lower = 0x8000033c; /* NOP */
@@ -3413,7 +3413,7 @@ decode_coproc (SIM_DESC sd,
(i_5_0 >= 0x3c && i_10_6 >= 0x0c)) /* VMOVE .. VRXOR */
{ /* N.B.: VWAITQ already covered by prior case */
unsigned_4 vu_upper, vu_lower;
- vu_upper = 0x400002ff; /* END/NOP */
+ vu_upper = 0x000002ff; /* NOP/NOP */
vu_lower =
0x10000000 | /* bits 31 .. 25 */
(instruction & 0x01ffffff); /* bits 24 .. 0 */