diff options
author | Frank Ch. Eigler <fche@redhat.com> | 1998-04-07 22:47:53 +0000 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 1998-04-07 22:47:53 +0000 |
commit | 174ff2242bac23a45001276b0629413bd166bf6e (patch) | |
tree | 72b17b9d94c734a3f739aa6297d9eb0dcc3b7470 /sim/mips | |
parent | 0dee6af2994fadd9f240eea6c8ceda6c969f919f (diff) | |
download | gdb-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/ChangeLog | 8 | ||||
-rw-r--r-- | sim/mips/interp.c | 4 |
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 */ |