From: Frank Ch. Eigler Date: Thu, 16 Apr 1998 19:27:55 +0000 (+0000) Subject: * Adapted R5900 COP2 interface code to clarified micro-mode interlock X-Git-Tag: gdb-4_18~2606 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc4e5b84c8fa9e228c17d6a545c6e50eaeb68085;p=external%2Fbinutils.git * Adapted R5900 COP2 interface code to clarified micro-mode interlock behavior. --- diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index 6a34a66..1802105 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,10 @@ +start-sanitize-sky +Thu Apr 16 15:24:14 1998 Frank Ch. Eigler + + * interp.c (decode_coproc): Adapt COP2 micro interlock to + clarified specs. Reset "M" bit; exit also on "E" bit. + +end-sanitize-sky start-sanitize-r5900 Thu Apr 16 10:40:29 1998 Andrew Cagney diff --git a/sim/mips/interp.c b/sim/mips/interp.c index 3e83dfc..5ed3d44 100644 --- a/sim/mips/interp.c +++ b/sim/mips/interp.c @@ -3316,12 +3316,17 @@ decode_coproc (SIM_DESC sd, int rt = i_20_16; int id = i_15_11; - /* interlock checking */ + /* interlock checking: wait until M or E bits set */ /* POLICY: never busy in macro mode */ - if(vu0_busy() && interlock) + while(vu0_busy() && interlock) { - while(! vu0_micro_interlock_released()) - vu0_issue(sd); + if(vu0_micro_interlock_released()) + { + vu0_micro_interlock_clear(); + break; + } + + vu0_issue(sd); } /* perform VU register address */