]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/mips/ChangeLog
* interp.c (sim_monitor): Flush stdout and stderr file descriptors
[thirdparty/binutils-gdb.git] / sim / mips / ChangeLog
CommitLineData
f8df4c77
TS
12007-02-19 Thiemo Seufer <ths@mips.com>
2 Nigel Stephens <nigel@mips.com>
3
4 * interp.c (sim_monitor): Flush stdout and stderr file descriptors
5 after each call to sim_io_write.
6
07802d98
TS
72007-02-19 Thiemo Seufer <ths@mips.com>
8 Nigel Stephens <nigel@mips.com>
9
10 (ColdReset): Set CP0 Config0 to reflect the address size supported
11 by this simulator.
12 (decode_coproc): Recognise additional CP0 Config registers
13 correctly.
14
14fb6c5a
TS
152007-02-19 Thiemo Seufer <ths@mips.com>
16 Nigel Stephens <nigel@mips.com>
17 David Ung <davidu@mips.com>
18
19 * cp1.c (value_fpr): Don't inherit existing FPR_STATE for
20 uninterpreted formats. If fmt is one of the uninterpreted types
21 don't update the FPR_STATE. Handle fmt_uninterpreted_32 like
22 fmt_word, and fmt_uninterpreted_64 like fmt_long.
23 (store_fpr): When writing an invalid odd register, set the
24 matching even register to fmt_unknown, not the following register.
25 * interp.c (sim_open): If STATE_MEM_SIZE isn't set then set it to
26 the the memory window at offset 0 set by --memory-size command
27 line option.
28 (sim_store_register): Handle storing 4 bytes to an 8 byte floating
29 point register.
30 (sim_fetch_register): Likewise for reading 4 bytes from an 8 byte
31 register.
32 (sim_monitor): When returning the memory size to the MIPS
33 application, use the value in STATE_MEM_SIZE, not an arbitrary
34 hardcoded value.
35 (cop_lw): Don' mess around with FPR_STATE, just pass
36 fmt_uninterpreted_32 to StoreFPR.
37 (cop_sw): Similarly.
38 (cop_ld): Pass fmt_uninterpreted_64 not fmt_uninterpreted.
39 (cop_sd): Similarly.
40 * mips.igen (not_word_value): Single version for mips32, mips64
41 and mips16.
42
c8847145
TS
432007-02-19 Thiemo Seufer <ths@mips.com>
44 Nigel Stephens <nigel@mips.com>
45
46 * interp.c (MEM_SIZE): Increase default memory size from 2 to 8
47 MBytes.
48
4b5d35ee
TS
492007-02-17 Thiemo Seufer <ths@mips.com>
50
51 * configure.ac (mips*-sde-elf*): Move in front of generic machine
52 configuration.
53 * configure: Regenerate.
54
3669427c
TS
552007-02-17 Thiemo Seufer <ths@mips.com>
56
57 * configure.ac (mips*-sde-elf*, mipsisa32r2*-*-*, mipsisa64r2*-*-*):
58 Add mdmx to sim_igen_machine.
59 (mipsisa64*-*-*): Likewise. Remove dsp.
60 (mipsisa32*-*-*): Remove dsp.
61 * configure: Regenerate.
62
109ad085
TS
632007-02-13 Thiemo Seufer <ths@mips.com>
64
65 * configure.ac: Add mips*-sde-elf* target.
66 * configure: Regenerate.
67
921d7ad3
HPN
682006-12-21 Hans-Peter Nilsson <hp@axis.com>
69
70 * acconfig.h: Remove.
71 * config.in, configure: Regenerate.
72
02f97da7
TS
732006-11-07 Thiemo Seufer <ths@mips.com>
74
75 * dsp.igen (do_w_op): Fix compiler warning.
76
2d2733fc
TS
772006-08-29 Thiemo Seufer <ths@mips.com>
78 David Ung <davidu@mips.com>
79
80 * configure.ac (mipsisa32r2*-*-*, mipsisa32*-*-*): Add smartmips to
81 sim_igen_machine.
82 * configure: Regenerate.
83 * mips.igen (model): Add smartmips.
84 (MADDU): Increment ACX if carry.
85 (do_mult): Clear ACX.
86 (ROR,RORV): Add smartmips.
87 (include): Include smartmips.igen.
88 * sim-main.h (ACX): Set to REGISTERS[89].
89 * smartmips.igen: New file.
90
d85c3a10
TS
912006-08-29 Thiemo Seufer <ths@mips.com>
92 David Ung <davidu@mips.com>
93
94 * Makefile.in (IGEN_INCLUDE): Add missing includes for m16e.igen and
95 mips3264r2.igen. Add missing dependency rules.
96 * m16e.igen: Support for mips16e save/restore instructions.
97
e85e3205
RE
982006-06-13 Richard Earnshaw <rearnsha@arm.com>
99
100 * configure: Regenerated.
101
2f0122dc
DJ
1022006-06-05 Daniel Jacobowitz <dan@codesourcery.com>
103
104 * configure: Regenerated.
105
20e95c23
DJ
1062006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
107
108 * configure: Regenerated.
109
69088b17
CF
1102006-05-15 Chao-ying Fu <fu@mips.com>
111
112 * dsp.igen (do_ph_shift, do_w_shra): Fix bugs for rounding instructions.
113
0275de4e
NC
1142006-04-18 Nick Clifton <nickc@redhat.com>
115
116 * dv-tx3904tmr.c (deliver_tx3904tmr_tick): Add missing break
117 statement.
118
b3a3ffef
HPN
1192006-03-29 Hans-Peter Nilsson <hp@axis.com>
120
121 * configure: Regenerate.
122
40a5538e
CF
1232005-12-14 Chao-ying Fu <fu@mips.com>
124
125 * Makefile.in (SIM_OBJS): Add dsp.o.
126 (dsp.o): New dependency.
127 (IGEN_INCLUDE): Add dsp.igen.
128 * configure.ac (mipsisa32r2*-*-*, mipsisa32*-*-*, mipsisa64r2*-*-*,
129 mipsisa64*-*-*): Add dsp to sim_igen_machine.
130 * configure: Regenerate.
131 * mips.igen: Add dsp model and include dsp.igen.
132 (MFHI, MFLO, MTHI, MTLO): Remove mips32, mips32r2, mips64, mips64r2,
133 because these instructions are extended in DSP ASE.
134 * sim-main.h (LAST_EMBED_REGNUM): Change from 89 to 96 because of
135 adding 6 DSP accumulator registers and 1 DSP control register.
136 (AC0LOIDX, AC0HIIDX, AC1LOIDX, AC1HIIDX, AC2LOIDX, AC2HIIDX, AC3LOIDX,
137 AC3HIIDX, DSPLO, DSPHI, DSPCRIDX, DSPCR, DSPCR_POS_SHIFT,
138 DSPCR_POS_MASK, DSPCR_POS_SMASK, DSPCR_SCOUNT_SHIFT, DSPCR_SCOUNT_MASK,
139 DSPCR_SCOUNT_SMASK, DSPCR_CARRY_SHIFT, DSPCR_CARRY_MASK,
140 DSPCR_CARRY_SMASK, DSPCR_CARRY, DSPCR_EFI_SHIFT, DSPCR_EFI_MASK,
141 DSPCR_EFI_SMASK, DSPCR_EFI, DSPCR_OUFLAG_SHIFT, DSPCR_OUFLAG_MASK,
142 DSPCR_OUFLAG_SMASK, DSPCR_OUFLAG4, DSPCR_OUFLAG5, DSPCR_OUFLAG6,
143 DSPCR_OUFLAG7, DSPCR_CCOND_SHIFT, DSPCR_CCOND_MASK,
144 DSPCR_CCOND_SMASK): New define.
145 (DSPLO_REGNUM, DSPHI_REGNUM): New array for DSP accumulators.
146 * dsp.c, dsp.igen: New files for MIPS DSP ASE.
147
21d14896
ILT
1482005-07-08 Ian Lance Taylor <ian@airs.com>
149
150 * tconfig.in (SIM_QUIET_NAN_NEGATED): Define.
151
b16d63da
DU
1522005-06-16 David Ung <davidu@mips.com>
153 Nigel Stephens <nigel@mips.com>
154
155 * mips.igen: New mips16e model and include m16e.igen.
156 (check_u64): Add mips16e tag.
157 * m16e.igen: New file for MIPS16e instructions.
158 * configure.ac (mipsisa32*-*-*, mipsisa32r2*-*-*, mipsisa64*-*-*,
159 mipsisa64r2*-*-*): Change sim_gen to M16, add mips16 and mips16e
160 models.
161 * configure: Regenerate.
162
e70cb6cd
CD
1632005-05-26 David Ung <davidu@mips.com>
164
165 * mips.igen (mips32r2, mips64r2): New ISA models. Add new model
166 tags to all instructions which are applicable to the new ISAs.
167 (do_ror, do_dror, ROR, RORV, DROR, DROR32, DRORV): Add, moved from
168 vr.igen.
169 * mips3264r2.igen: New file for MIPS 32/64 revision 2 specific
170 instructions.
171 * vr.igen (do_ror, do_dror, ROR, RORV, DROR, DROR32, DRORV): Move
172 to mips.igen.
173 * configure.ac (mipsisa32r2*-*-*, mipsisa64r2*-*-*): Add new targets.
174 * configure: Regenerate.
175
2b193c4a
MK
1762005-03-23 Mark Kettenis <kettenis@gnu.org>
177
178 * configure: Regenerate.
179
35695fd6
AC
1802005-01-14 Andrew Cagney <cagney@gnu.org>
181
182 * configure.ac: Sinclude aclocal.m4 before common.m4. Add
183 explicit call to AC_CONFIG_HEADER.
184 * configure: Regenerate.
185
f0569246
AC
1862005-01-12 Andrew Cagney <cagney@gnu.org>
187
188 * configure.ac: Update to use ../common/common.m4.
189 * configure: Re-generate.
190
38f48d72
AC
1912005-01-11 Andrew Cagney <cagney@localhost.localdomain>
192
193 * configure: Regenerated to track ../common/aclocal.m4 changes.
194
b7026657
AC
1952005-01-07 Andrew Cagney <cagney@gnu.org>
196
197 * configure.ac: Rename configure.in, require autoconf 2.59.
198 * configure: Re-generate.
199
379832de
HPN
2002004-12-08 Hans-Peter Nilsson <hp@axis.com>
201
202 * configure: Regenerate for ../common/aclocal.m4 update.
203
cd62154c
AC
2042004-09-24 Monika Chaddha <monika@acmet.com>
205
206 Committed by Andrew Cagney.
207 * m16.igen (CMP, CMPI): Fix assembler.
208
e5da76ec
CD
2092004-08-18 Chris Demetriou <cgd@broadcom.com>
210
211 * configure.in (mipsisa64sb1*-*-*): Add mips3d to sim_igen_machine.
212 * configure: Regenerate.
213
139181c8
CD
2142004-06-25 Chris Demetriou <cgd@broadcom.com>
215
216 * configure.in (sim_m16_machine): Include mipsIII.
217 * configure: Regenerate.
218
1a27f959
CD
2192004-05-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
220
221 * mips/interp.c (decode_coproc): Sign-extend the address retrieved
222 from COP0_BADVADDR.
223 * mips/sim-main.h (COP0_BADVADDR): Remove a cast.
224
5dbb7b5a
CD
2252004-04-10 Chris Demetriou <cgd@broadcom.com>
226
227 * sb1.igen (DIV.PS, RECIP.PS, RSQRT.PS, SQRT.PS): New.
228
14234056
CD
2292004-04-09 Chris Demetriou <cgd@broadcom.com>
230
231 * mips.igen (check_fmt): Remove.
232 (ABS.fmt, ADD.fmt, C.cond.fmta, C.cond.fmtb, CEIL.L.fmt, CEIL.W)
233 (CVT.D.fmt, CVT.L.fmt, CVT.S.fmt, CVT.W.fmt, DIV.fmt, FLOOR.L.fmt)
234 (FLOOR.W.fmt, MADD.fmt, MOV.fmt, MOVtf.fmt, MOVN.fmt, MOVZ.fmt)
235 (MSUB.fmt, MUL.fmt, NEG.fmt, NMADD.fmt, NMSUB.fmt, RECIP.fmt)
236 (ROUND.L.fmt, ROUND.W.fmt, RSQRT.fmt, SQRT.fmt, SUB.fmt)
237 (TRUNC.L.fmt, TRUNC.W): Explicitly specify allowed FPU formats.
238 (check_fmt_p, CEIL.L.fmt, CEIL.W, DIV.fmt, FLOOR.L.fmt)
239 (FLOOR.W.fmt, RECIP.fmt, ROUND.L.fmt, ROUND.W.fmt, RSQRT.fmt)
240 (SQRT.fmt, TRUNC.L.fmt, TRUNC.W): Remove all uses of check_fmt.
241 (C.cnd.fmta): Remove incorrect call to check_fmt_p.
242
c6f9085c
CD
2432004-04-09 Chris Demetriou <cgd@broadcom.com>
244
245 * sb1.igen (check_sbx): New function.
246 (PABSDIFF.fmt, PABSDIFC.fmt, PAVG.fmt): Use check_sbx.
247
11d66e66 2482004-03-29 Chris Demetriou <cgd@broadcom.com>
0e1b7197
RS
249 Richard Sandiford <rsandifo@redhat.com>
250
251 * sim-main.h (MIPS_MACH_HAS_MT_HILO_HAZARD)
252 (MIPS_MACH_HAS_MULT_HILO_HAZARD, MIPS_MACH_HAS_DIV_HILO_HAZARD): New.
253 * mips.igen (check_mt_hilo, check_mult_hilo, check_div_hilo): Provide
254 separate implementations for mipsIV and mipsV. Use new macros to
255 determine whether the restrictions apply.
256
b3208fb8
CD
2572004-01-19 Chris Demetriou <cgd@broadcom.com>
258
259 * mips.igen (check_mf_cycles, check_mt_hilo, check_mf_hilo)
260 (check_mult_hilo): Improve comments.
261 (check_div_hilo): Likewise. Also, fork off a new version
262 to handle mips32/mips64 (since there are no hazards to check
263 in MIPS32/MIPS64).
264
9a1d84fb
CD
2652003-06-17 Richard Sandiford <rsandifo@redhat.com>
266
267 * mips.igen (do_dmultx): Fix check for negative operands.
268
ae451ac6
ILT
2692003-05-16 Ian Lance Taylor <ian@airs.com>
270
271 * Makefile.in (SHELL): Make sure this is defined.
272 (various): Use $(SHELL) whenever we invoke move-if-change.
273
dd69d292
CD
2742003-05-03 Chris Demetriou <cgd@broadcom.com>
275
276 * cp1.c: Tweak attribution slightly.
277 * cp1.h: Likewise.
278 * mdmx.c: Likewise.
279 * mdmx.igen: Likewise.
280 * mips3d.igen: Likewise.
281 * sb1.igen: Likewise.
282
bcd0068e
CD
2832003-04-15 Richard Sandiford <rsandifo@redhat.com>
284
285 * vr.igen (do_vr_mul_op): Zero-extend the low 32 bits of
286 unsigned operands.
287
6b4a8935
AC
2882003-02-27 Andrew Cagney <cagney@redhat.com>
289
601da316
AC
290 * interp.c (sim_open): Rename _bfd to bfd.
291 (sim_create_inferior): Ditto.
6b4a8935 292
d29e330f
CD
2932003-01-14 Chris Demetriou <cgd@broadcom.com>
294
295 * mips.igen (LUXC1, SUXC1): New, for mipsV and mips64.
296
a2353a08
CD
2972003-01-14 Chris Demetriou <cgd@broadcom.com>
298
299 * mips.igen (EI, DI): Remove.
300
80551777
CD
3012003-01-05 Richard Sandiford <rsandifo@redhat.com>
302
303 * Makefile.in (tmp-run-multi): Fix mips16 filter.
304
4c54fc26
CD
3052003-01-04 Richard Sandiford <rsandifo@redhat.com>
306 Andrew Cagney <ac131313@redhat.com>
307 Gavin Romig-Koch <gavin@redhat.com>
308 Graydon Hoare <graydon@redhat.com>
309 Aldy Hernandez <aldyh@redhat.com>
310 Dave Brolley <brolley@redhat.com>
311 Chris Demetriou <cgd@broadcom.com>
312
313 * configure.in (mips64vr*): Define TARGET_ENABLE_FR to 1.
314 (sim_mach_default): New variable.
315 (mips64vr-*-*, mips64vrel-*-*): New configurations.
316 Add a new simulator generator, MULTI.
317 * configure: Regenerate.
318 * Makefile.in (SIM_MULTI_OBJ, SIM_EXTRA_DISTCLEAN): New variables.
319 (multi-run.o): New dependency.
320 (SIM_MULTI_ALL, SIM_MULTI_IGEN_CONFIGS): New variables.
321 (tmp-mach-multi, tmp-itable-multi, tmp-run-multi): New rules.
322 (tmp-multi): Combine them.
323 (BUILT_SRC_FROM_MULTI): New variable. Depend on tmp-multi.
324 (clean-extra): Remove sources in BUILT_SRC_FROM_MULTI.
325 (distclean-extra): New rule.
326 * sim-main.h: Include bfd.h.
327 (MIPS_MACH): New macro.
328 * mips.igen (vr4120, vr5400, vr5500): New models.
329 (clo, clz, dclo, dclz, madd, maddu, msub, msub, mul): Add *vr5500.
330 * vr.igen: Replace with new version.
331
e6c674b8
CD
3322003-01-04 Chris Demetriou <cgd@broadcom.com>
333
334 * configure.in: Use SIM_AC_OPTION_RESERVED_BITS(1).
335 * configure: Regenerate.
336
28f50ac8
CD
3372002-12-31 Chris Demetriou <cgd@broadcom.com>
338
339 * sim-main.h (check_branch_bug, mark_branch_bug): Remove.
340 * mips.igen: Remove all invocations of check_branch_bug and
341 mark_branch_bug.
342
5071ffe6
CD
3432002-12-16 Chris Demetriou <cgd@broadcom.com>
344
345 * tconfig.in: Include "gdb/callback.h" and "gdb/remote-sim.h".
346
06e7837e
CD
3472002-07-30 Chris Demetriou <cgd@broadcom.com>
348
349 * mips.igen (do_load_double, do_store_double): New functions.
350 (LDC1, SDC1): Rename to...
351 (LDC1b, SDC1b): respectively.
352 (LDC1a, SDC1a): New instructions for MIPS II and MIPS32 support.
353
2265c243
MS
3542002-07-29 Michael Snyder <msnyder@redhat.com>
355
356 * cp1.c (fp_recip2): Modify initialization expression so that
357 GCC will recognize it as constant.
358
a2f8b4f3
CD
3592002-06-18 Chris Demetriou <cgd@broadcom.com>
360
361 * mdmx.c (SD_): Delete.
362 (Unpredictable): Re-define, for now, to directly invoke
363 unpredictable_action().
364 (mdmx_acc_op): Fix error in .ob immediate handling.
365
b4b6c939
AC
3662002-06-18 Andrew Cagney <cagney@redhat.com>
367
368 * interp.c (sim_firmware_command): Initialize `address'.
369
c8cca39f
AC
3702002-06-16 Andrew Cagney <ac131313@redhat.com>
371
372 * configure: Regenerated to track ../common/aclocal.m4 changes.
373
e7e81181
CD
3742002-06-14 Chris Demetriou <cgd@broadcom.com>
375 Ed Satterthwaite <ehs@broadcom.com>
376
377 * mips3d.igen: New file which contains MIPS-3D ASE instructions.
378 * Makefile.in (IGEN_INCLUDE): Add mips3d.igen.
379 * mips.igen: Include mips3d.igen.
380 (mips3d): New model name for MIPS-3D ASE instructions.
381 (CVT.W.fmt): Don't use this instruction for word (source) format
382 instructions.
383 * cp1.c (fp_binary_r, fp_add_r, fp_mul_r, fpu_inv1, fpu_inv1_32)
384 (fpu_inv1_64, fp_recip1, fp_recip2, fpu_inv_sqrt1, fpu_inv_sqrt1_32)
385 (fpu_inv_sqrt1_64, fp_rsqrt1, fp_rsqrt2): New functions.
386 (NR_FRAC_GUARD, IMPLICIT_1): New macros.
387 * sim-main.h (fmt_pw, CompareAbs, AddR, MultiplyR, Recip1, Recip2)
388 (RSquareRoot1, RSquareRoot2): New macros.
389 (fp_add_r, fp_mul_r, fp_recip1, fp_recip2, fp_rsqrt1)
390 (fp_rsqrt2): New functions.
391 * configure.in: Add MIPS-3D support to mipsisa64 simulator.
392 * configure: Regenerate.
393
3a2b820e 3942002-06-13 Chris Demetriou <cgd@broadcom.com>
eab54952 395 Ed Satterthwaite <ehs@broadcom.com>
3a2b820e
CD
396
397 * cp1.c (FP_PS_upper, FP_PS_lower, FP_PS_cat, FPQNaN_PS): New macros.
398 (value_fpr, store_fpr, fp_cmp, fp_unary, fp_binary, fp_mac)
399 (fp_inv_sqrt, fpu_format_name): Add paired-single support.
400 (convert): Note that this function is not used for paired-single
401 format conversions.
402 (ps_lower, ps_upper, pack_ps, convert_ps): New functions.
403 * mips.igen (FMT, MOVtf.fmt): Add paired-single support.
404 (check_fmt_p): Enable paired-single support.
405 (ALNV.PS, CVT.PS.S, CVT.S.PL, CVT.S.PU, PLL.PS, PLU.PS, PUL.PS)
406 (PUU.PS): New instructions.
407 (CVT.S.fmt): Don't use this instruction for paired-single format
408 destinations.
409 * sim-main.h (FP_formats): New value 'fmt_ps.'
410 (ps_lower, ps_upper, pack_ps, convert_ps): New prototypes.
411 (PSLower, PSUpper, PackPS, ConvertPS): New macros.
412
d18ea9c2
CD
4132002-06-12 Chris Demetriou <cgd@broadcom.com>
414
415 * mips.igen: Fix formatting of function calls in
416 many FP operations.
417
95fd5cee
CD
4182002-06-12 Chris Demetriou <cgd@broadcom.com>
419
420 * mips.igen (MOVN, MOVZ): Trace result.
421 (TNEI): Print "tnei" as the opcode name in traces.
422 (CEIL.W): Add disassembly string for traces.
423 (RSQRT.fmt): Make location of disassembly string consistent
424 with other instructions.
425
4f0d55ae
CD
4262002-06-12 Chris Demetriou <cgd@broadcom.com>
427
428 * mips.igen (X): Delete unused function.
429
3c25f8c7
AC
4302002-06-08 Andrew Cagney <cagney@redhat.com>
431
432 * interp.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
433
f3c08b7e
CD
4342002-06-07 Chris Demetriou <cgd@broadcom.com>
435 Ed Satterthwaite <ehs@broadcom.com>
436
437 * cp1.c (inner_mac, fp_mac, inner_rsqrt, fp_inv_sqrt)
438 (fp_rsqrt, fp_madd, fp_msub, fp_nmadd, fp_nmsub): New functions.
439 * sim-main.h (fp_rsqrt, fp_madd, fp_msub, fp_nmadd)
440 (fp_nmsub): New prototypes.
441 (RSquareRoot, MultiplyAdd, MultiplySub, NegMultiplyAdd)
442 (NegMultiplySub): New defines.
443 * mips.igen (RSQRT.fmt): Use RSquareRoot().
444 (MADD.D, MADD.S): Replace with...
445 (MADD.fmt): New instruction.
446 (MSUB.D, MSUB.S): Replace with...
447 (MSUB.fmt): New instruction.
448 (NMADD.D, NMADD.S): Replace with...
449 (NMADD.fmt): New instruction.
450 (NMSUB.D, MSUB.S): Replace with...
451 (NMSUB.fmt): New instruction.
452
52714ff9
CD
4532002-06-07 Chris Demetriou <cgd@broadcom.com>
454 Ed Satterthwaite <ehs@broadcom.com>
455
456 * cp1.c: Fix more comment spelling and formatting.
457 (value_fcr, store_fcr): Use fenr_FS rather than hard-coding value.
458 (denorm_mode): New function.
459 (fpu_unary, fpu_binary): Round results after operation, collect
460 status from rounding operations, and update the FCSR.
461 (convert): Collect status from integer conversions and rounding
462 operations, and update the FCSR. Adjust NaN values that result
463 from conversions. Convert to use sim_io_eprintf rather than
464 fprintf, and remove some debugging code.
465 * cp1.h (fenr_FS): New define.
466
577d8c4b
CD
4672002-06-07 Chris Demetriou <cgd@broadcom.com>
468
469 * cp1.c (convert): Remove unusable debugging code, and move MIPS
470 rounding mode to sim FP rounding mode flag conversion code into...
471 (rounding_mode): New function.
472
196496ed
CD
4732002-06-07 Chris Demetriou <cgd@broadcom.com>
474
475 * cp1.c: Clean up formatting of a few comments.
476 (value_fpr): Reformat switch statement.
477
cfe9ea23
CD
4782002-06-06 Chris Demetriou <cgd@broadcom.com>
479 Ed Satterthwaite <ehs@broadcom.com>
480
481 * cp1.h: New file.
482 * sim-main.h: Include cp1.h.
483 (SETFCC, GETFCC, IR, UF, OF, DX, IO, UO, FP_FLAGS, FP_ENABLE)
484 (FP_CAUSE, GETFS, FP_RM_NEAREST, FP_RM_TOZERO, FP_RM_TOPINF)
485 (FP_RM_TOMINF, GETRM): Remove. Moved to cp1.h.
486 (FP_FS, FP_MASK_RM, FP_SH_RM, Nan, Less, Equal): Remove.
487 (value_fcr, store_fcr, test_fcsr, fp_cmp): New prototypes.
488 (ValueFCR, StoreFCR, TestFCSR, Compare): New macros.
489 * cp1.c: Don't include sim-fpu.h; already included by
490 sim-main.h. Clean up formatting of some comments.
491 (NaN, Equal, Less): Remove.
492 (test_fcsr, value_fcr, store_fcr, update_fcsr, fp_test)
493 (fp_cmp): New functions.
494 * mips.igen (do_c_cond_fmt): Remove.
495 (C.cond.fmta, C.cond.fmtb): Replace uses of do_c_cond_fmt_a with
496 Compare. Add result tracing.
497 (CxC1): Remove, replace with...
498 (CFC1a, CFC1b, CFC1c, CTC1a, CTC1b, CTC1c): New instructions.
499 (DMxC1): Remove, replace with...
500 (DMFC1a, DMFC1b, DMTC1a, DMTC1b): New instructions.
501 (MxC1): Remove, replace with...
502 (MFC1a, MFC1b, MTC1a, MTC1b): New instructions.
503
ee7254b0
CD
5042002-06-04 Chris Demetriou <cgd@broadcom.com>
505
506 * sim-main.h (FGRIDX): Remove, replace all uses with...
507 (FGR_BASE): New macro.
508 (FP0_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): New macros.
509 (_sim_cpu): Move 'fgr' member to be right before 'fpr_state' member.
510 (NR_FGR, FGR): Likewise.
511 * interp.c: Replace all uses of FGRIDX with FGR_BASE.
512 * mips.igen: Likewise.
513
d3eb724f
CD
5142002-06-04 Chris Demetriou <cgd@broadcom.com>
515
516 * cp1.c: Add an FSF Copyright notice to this file.
517
ba46ddd0
CD
5182002-06-04 Chris Demetriou <cgd@broadcom.com>
519 Ed Satterthwaite <ehs@broadcom.com>
520
521 * cp1.c (Infinity): Remove.
522 * sim-main.h (Infinity): Likewise.
523
524 * cp1.c (fp_unary, fp_binary): New functions.
525 (fp_abs, fp_neg, fp_add, fp_sub, fp_mul, fp_div, fp_recip)
526 (fp_sqrt): New functions, implemented in terms of the above.
527 (AbsoluteValue, Negate, Add, Sub, Multiply, Divide)
528 (Recip, SquareRoot): Remove (replaced by functions above).
529 * sim-main.h (fp_abs, fp_neg, fp_add, fp_sub, fp_mul, fp_div)
530 (fp_recip, fp_sqrt): New prototypes.
531 (AbsoluteValue, Negate, Add, Sub, Multiply, Divide)
532 (Recip, SquareRoot): Replace prototypes with #defines which
533 invoke the functions above.
534
18d8a52d
CD
5352002-06-03 Chris Demetriou <cgd@broadcom.com>
536
537 * sim-main.h (Nan, Infinity, Less, Equal, AbsoluteValue, Negate)
538 (Add, Sub, Multiply, Divide, Recip, SquareRoot): Move lower in
539 file, remove PARAMS from prototypes.
540 (value_fpr, store_fpr, convert): Likewise. Use SIM_STATE to provide
541 simulator state arguments.
542 (ValueFPR, StoreFPR, Convert): Move lower in file. Use SIM_ARGS to
543 pass simulator state arguments.
544 * cp1.c (SD): Redefine as CPU_STATE(cpu).
545 (store_fpr, convert): Remove 'sd' argument.
546 (value_fpr): Likewise. Convert to use 'SD' instead.
547
0f154cbd
CD
5482002-06-03 Chris Demetriou <cgd@broadcom.com>
549
550 * cp1.c (Min, Max): Remove #if 0'd functions.
551 * sim-main.h (Min, Max): Remove.
552
e80fc152
CD
5532002-06-03 Chris Demetriou <cgd@broadcom.com>
554
555 * cp1.c: fix formatting of switch case and default labels.
556 * interp.c: Likewise.
557 * sim-main.c: Likewise.
558
bad673a9
CD
5592002-06-03 Chris Demetriou <cgd@broadcom.com>
560
561 * cp1.c: Clean up comments which describe FP formats.
562 (FPQNaN_DOUBLE, FPQNaN_LONG): Generate using UNSIGNED64.
563
7cbea089
CD
5642002-06-03 Chris Demetriou <cgd@broadcom.com>
565 Ed Satterthwaite <ehs@broadcom.com>
566
567 * configure.in (mipsisa64sb1*-*-*): New target for supporting
568 Broadcom SiByte SB-1 processor configurations.
569 * configure: Regenerate.
570 * sb1.igen: New file.
571 * mips.igen: Include sb1.igen.
572 (sb1): New model.
573 * Makefile.in (IGEN_INCLUDE): Add sb1.igen.
574 * mdmx.igen: Add "sb1" model to all appropriate functions and
575 instructions.
576 * mdmx.c (AbsDiffOB, AvgOB, AccAbsDiffOB): New functions.
577 (ob_func, ob_acc): Reference the above.
578 (qh_acc): Adjust to keep the same size as ob_acc.
579 * sim-main.h (status_SBX, MX_VECT_ABSD, MX_VECT_AVG, MX_AbsDiff)
580 (MX_Avg, MX_VECT_ABSDA, MX_AbsDiffC): New macros.
581
909daa82
CD
5822002-06-03 Chris Demetriou <cgd@broadcom.com>
583
584 * Makefile.in (IGEN_INCLUDE): Add mdmx.igen.
585
f4f1b9f1
CD
5862002-06-02 Chris Demetriou <cgd@broadcom.com>
587 Ed Satterthwaite <ehs@broadcom.com>
588
589 * mips.igen (mdmx): New (pseudo-)model.
590 * mdmx.c, mdmx.igen: New files.
591 * Makefile.in (SIM_OBJS): Add mdmx.o.
592 * sim-main.h (MDMX_accumulator, MX_fmtsel, signed24, signed48):
593 New typedefs.
594 (ACC, MX_Add, MX_AddA, MX_AddL, MX_And, MX_C_EQ, MX_C_LT, MX_Comp)
595 (MX_FMT_OB, MX_FMT_QH, MX_Max, MX_Min, MX_Msgn, MX_Mul, MX_MulA)
596 (MX_MulL, MX_MulS, MX_MulSL, MX_Nor, MX_Or, MX_Pick, MX_RAC)
597 (MX_RAC_H, MX_RAC_L, MX_RAC_M, MX_RNAS, MX_RNAU, MX_RND_AS)
598 (MX_RND_AU, MX_RND_ES, MX_RND_EU, MX_RND_ZS, MX_RND_ZU, MX_RNES)
599 (MX_RNEU, MX_RZS, MX_RZU, MX_SHFL, MX_ShiftLeftLogical)
600 (MX_ShiftRightArith, MX_ShiftRightLogical, MX_Sub, MX_SubA, MX_SubL)
601 (MX_VECT_ADD, MX_VECT_ADDA, MX_VECT_ADDL, MX_VECT_AND)
602 (MX_VECT_MAX, MX_VECT_MIN, MX_VECT_MSGN, MX_VECT_MUL, MX_VECT_MULA)
603 (MX_VECT_MULL, MX_VECT_MULS, MX_VECT_MULSL, MX_VECT_NOR)
604 (MX_VECT_OR, MX_VECT_SLL, MX_VECT_SRA, MX_VECT_SRL, MX_VECT_SUB)
605 (MX_VECT_SUBA, MX_VECT_SUBL, MX_VECT_XOR, MX_WACH, MX_WACL, MX_Xor)
606 (SIM_ARGS, SIM_STATE, UnpredictableResult, fmt_mdmx, ob_fmtsel)
607 (qh_fmtsel): New macros.
608 (_sim_cpu): New member "acc".
609 (mdmx_acc_op, mdmx_cc_op, mdmx_cpr_op, mdmx_pick_op, mdmx_rac_op)
610 (mdmx_round_op, mdmx_shuffle, mdmx_wach, mdmx_wacl): New functions.
611
5accf1ff
CD
6122002-05-01 Chris Demetriou <cgd@broadcom.com>
613
614 * interp.c: Use 'deprecated' rather than 'depreciated.'
615 * sim-main.h: Likewise.
616
402586aa
CD
6172002-05-01 Chris Demetriou <cgd@broadcom.com>
618
619 * cp1.c (store_fpr): Remove #ifdef'd out call to UndefinedResult
620 which wouldn't compile anyway.
621 * sim-main.h (unpredictable_action): New function prototype.
622 (Unpredictable): Define to call igen function unpredictable().
623 (NotWordValue): New macro to call igen function not_word_value().
624 (UndefinedResult): Remove.
625 * interp.c (undefined_result): Remove.
626 (unpredictable_action): New function.
627 * mips.igen (not_word_value, unpredictable): New functions.
628 (ADD, ADDI, do_addiu, do_addu, BGEZAL, BGEZALL, BLTZAL, BLTZALL)
629 (CLO, CLZ, MADD, MADDU, MSUB, MSUBU, MUL, do_mult, do_multu)
630 (do_sra, do_srav, do_srl, do_srlv, SUB, do_subu): Invoke
631 NotWordValue() to check for unpredictable inputs, then
632 Unpredictable() to handle them.
633
c9b9995a
CD
6342002-02-24 Chris Demetriou <cgd@broadcom.com>
635
636 * mips.igen: Fix formatting of calls to Unpredictable().
637
e1015982
AC
6382002-04-20 Andrew Cagney <ac131313@redhat.com>
639
640 * interp.c (sim_open): Revert previous change.
641
b882a66b
AO
6422002-04-18 Alexandre Oliva <aoliva@redhat.com>
643
644 * interp.c (sim_open): Disable chunk of code that wrote code in
645 vector table entries.
646
c429b7dd
CD
6472002-03-19 Chris Demetriou <cgd@broadcom.com>
648
649 * cp1.c (FP_S_s, FP_D_s, FP_S_be, FP_D_be, FP_S_e, FP_D_e, FP_S_f)
650 (FP_D_f, FP_S_fb, FP_D_fb, FPINF_SINGLE, FPINF_DOUBLE): Remove
651 unused definitions.
652
37d146fa
CD
6532002-03-19 Chris Demetriou <cgd@broadcom.com>
654
655 * cp1.c: Fix many formatting issues.
656
07892c0b
CD
6572002-03-19 Chris G. Demetriou <cgd@broadcom.com>
658
659 * cp1.c (fpu_format_name): New function to replace...
660 (DOFMT): This. Delete, and update all callers.
661 (fpu_rounding_mode_name): New function to replace...
662 (RMMODE): This. Delete, and update all callers.
663
487f79b7
CD
6642002-03-19 Chris G. Demetriou <cgd@broadcom.com>
665
666 * interp.c: Move FPU support routines from here to...
667 * cp1.c: Here. New file.
668 * Makefile.in (SIM_OBJS): Add cp1.o to object list.
669 (cp1.o): New target.
670
1e799e28
CD
6712002-03-12 Chris Demetriou <cgd@broadcom.com>
672
673 * configure.in (mipsisa32*-*-*, mipsisa64*-*-*): New targets.
674 * mips.igen (mips32, mips64): New models, add to all instructions
675 and functions as appropriate.
676 (loadstore_ea, check_u64): New variant for model mips64.
677 (check_fmt_p): New variant for models mipsV and mips64, remove
678 mipsV model marking fro other variant.
679 (SLL) Rename to...
680 (SLLa) this.
681 (CLO, CLZ, MADD, MADDU, MSUB, MSUBU, MUL, SLLb): New instructions
682 for mips32 and mips64.
683 (DCLO, DCLZ): New instructions for mips64.
684
82f728db
CD
6852002-03-07 Chris Demetriou <cgd@broadcom.com>
686
687 * mips.igen (BREAK, LUI, ORI, SYSCALL, XORI): Print
688 immediate or code as a hex value with the "%#lx" format.
689 (ANDI): Likewise, and fix printed instruction name.
690
b96e7ef1
CD
6912002-03-05 Chris Demetriou <cgd@broadcom.com>
692
693 * sim-main.h (UndefinedResult, Unpredictable): New macros
694 which currently do nothing.
695
d35d4f70
CD
6962002-03-05 Chris Demetriou <cgd@broadcom.com>
697
698 * sim-main.h (status_UX, status_SX, status_KX, status_TS)
699 (status_PX, status_MX, status_CU0, status_CU1, status_CU2)
700 (status_CU3): New definitions.
701
702 * sim-main.h (ExceptionCause): Add new values for MIPS32
703 and MIPS64: MDMX, MCheck, CacheErr. Update comments
704 for DebugBreakPoint and NMIReset to note their status in
705 MIPS32 and MIPS64.
706 (SignalExceptionMDMX, SignalExceptionWatch, SignalExceptionMCheck)
707 (SignalExceptionCacheErr): New exception macros.
708
3ad6f714
CD
7092002-03-05 Chris Demetriou <cgd@broadcom.com>
710
711 * mips.igen (check_fpu): Enable check for coprocessor 1 usability.
712 * sim-main.h (COP_Usable): Define, but for now coprocessor 1
713 is always enabled.
714 (SignalExceptionCoProcessorUnusable): Take as argument the
715 unusable coprocessor number.
716
86b77b47
CD
7172002-03-05 Chris Demetriou <cgd@broadcom.com>
718
719 * mips.igen: Fix formatting of all SignalException calls.
720
97a88e93 7212002-03-05 Chris Demetriou <cgd@broadcom.com>
3dea6720
CD
722
723 * sim-main.h (SIGNEXTEND): Remove.
724
97a88e93 7252002-03-04 Chris Demetriou <cgd@broadcom.com>
b5040d49
CD
726
727 * mips.igen: Remove gencode comment from top of file, fix
728 spelling in another comment.
729
97a88e93 7302002-03-04 Chris Demetriou <cgd@broadcom.com>
8612006b
CD
731
732 * mips.igen (check_fmt, check_fmt_p): New functions to check
733 whether specific floating point formats are usable.
734 (ABS.fmt, ADD.fmt, CEIL.L.fmt, CEIL.W, DIV.fmt, FLOOR.L.fmt)
735 (FLOOR.W.fmt, MOV.fmt, MUL.fmt, NEG.fmt, RECIP.fmt, ROUND.L.fmt)
736 (ROUND.W.fmt, RSQRT.fmt, SQRT.fmt, SUB.fmt, TRUNC.L.fmt, TRUNC.W):
737 Use the new functions.
738 (do_c_cond_fmt): Remove format checks...
739 (C.cond.fmta, C.cond.fmtb): And move them into all callers.
740
97a88e93 7412002-03-03 Chris Demetriou <cgd@broadcom.com>
9b17d183
CD
742
743 * mips.igen: Fix formatting of check_fpu calls.
744
41774c9d
CD
7452002-03-03 Chris Demetriou <cgd@broadcom.com>
746
747 * mips.igen (FLOOR.L.fmt): Store correct destination register.
748
4a0bd876
CD
7492002-03-03 Chris Demetriou <cgd@broadcom.com>
750
751 * mips.igen: Remove whitespace at end of lines.
752
09297648
CD
7532002-03-02 Chris Demetriou <cgd@broadcom.com>
754
755 * mips.igen (loadstore_ea): New function to do effective
756 address calculations.
757 (do_load, do_load_left, do_load_right, LL, LDD, PREF, do_store,
758 do_store_left, do_store_right, SC, SCD, PREFX, SWC1, SWXC1,
759 CACHE): Use loadstore_ea to do effective address computations.
760
043b7057
CD
7612002-03-02 Chris Demetriou <cgd@broadcom.com>
762
763 * interp.c (load_word): Use EXTEND32 rather than SIGNEXTEND.
764 * mips.igen (LL, CxC1, MxC1): Likewise.
765
c1e8ada4
CD
7662002-03-02 Chris Demetriou <cgd@broadcom.com>
767
768 * mips.igen (LL, LLD, PREF, SC, SCD, ABS.fmt, ADD.fmt, CEIL.L.fmt,
769 CEIL.W, CVT.D.fmt, CVT.L.fmt, CVT.S.fmt, CVT.W.fmt, DIV.fmt,
770 FLOOR.L.fmt, FLOOR.W.fmt, MADD.D, MADD.S, MOV.fmt, MOVtf.fmt,
771 MSUB.D, MSUB.S, MUL.fmt, NEG.fmt, NMADD.D, NMADD.S, NMSUB.D,
772 NMSUB.S, PREFX, RECIP.fmt, ROUND.L.fmt, ROUND.W.fmt, RSQRT.fmt,
773 SQRT.fmt, SUB.fmt, SWC1, SWXC1, TRUNC.L.fmt, TRUNC.W, CACHE):
774 Don't split opcode fields by hand, use the opcode field values
775 provided by igen.
776
3e1dca16
CD
7772002-03-01 Chris Demetriou <cgd@broadcom.com>
778
779 * mips.igen (do_divu): Fix spacing.
780
781 * mips.igen (do_dsllv): Move to be right before DSLLV,
782 to match the rest of the do_<shift> functions.
783
fff8d27d
CD
7842002-03-01 Chris Demetriou <cgd@broadcom.com>
785
786 * mips.igen (do_dsll, do_dsllv, DSLL32, do_dsra, DSRA32, do_dsrl,
787 DSRL32, do_dsrlv): Trace inputs and results.
788
0d3e762b
CD
7892002-03-01 Chris Demetriou <cgd@broadcom.com>
790
791 * mips.igen (CACHE): Provide instruction-printing string.
792
793 * interp.c (signal_exception): Comment tokens after #endif.
794
eb5fcf93
CD
7952002-02-28 Chris Demetriou <cgd@broadcom.com>
796
797 * mips.igen (LWXC1): Mark with filter "64,f", rather than just "32".
798 (MOVtf, MxC1, MxC1, DMxC1, DMxC1, CxC1, CxC1, SQRT.fmt, MOV.fmt,
799 NEG.fmt, ROUND.L.fmt, TRUNC.L.fmt, CEIL.L.fmt, FLOOR.L.fmt,
800 ROUND.W.fmt, TRUNC.W, CEIL.W, FLOOR.W.fmt, RECIP.fmt, RSQRT.fmt,
801 CVT.S.fmt, CVT.D.fmt, CVT.W.fmt, CVT.L.fmt, MOVtf.fmt, C.cond.fmta,
802 C.cond.fmtb, SUB.fmt, MUL.fmt, DIV.fmt, MOVZ.fmt, MOVN.fmt, LDXC1,
803 SWXC1, SDXC1, MSUB.D, MSUB.S, NMADD.S, NMADD.D, NMSUB.S, NMSUB.D,
804 LWC1, SWC1): Add "f" to filter, since these are FP instructions.
805
bb22bd7d
CD
8062002-02-28 Chris Demetriou <cgd@broadcom.com>
807
808 * mips.igen (DSRA32, DSRAV): Fix order of arguments in
809 instruction-printing string.
810 (LWU): Use '64' as the filter flag.
811
91a177cf
CD
8122002-02-28 Chris Demetriou <cgd@broadcom.com>
813
814 * mips.igen (SDXC1): Fix instruction-printing string.
815
387f484a
CD
8162002-02-28 Chris Demetriou <cgd@broadcom.com>
817
818 * mips.igen (LDC1, SDC1): Remove mipsI model, and mark with
819 filter flags "32,f".
820
3d81f391
CD
8212002-02-27 Chris Demetriou <cgd@broadcom.com>
822
823 * mips.igen (PREFX): This is a 64-bit instruction, use '64'
824 as the filter flag.
825
af5107af
CD
8262002-02-27 Chris Demetriou <cgd@broadcom.com>
827
828 * mips.igen (PREFX): Tweak instruction opcode fields (i.e.,
829 add a comma) so that it more closely match the MIPS ISA
830 documentation opcode partitioning.
831 (PREF): Put useful names on opcode fields, and include
832 instruction-printing string.
833
ca971540
CD
8342002-02-27 Chris Demetriou <cgd@broadcom.com>
835
836 * mips.igen (check_u64): New function which in the future will
837 check whether 64-bit instructions are usable and signal an
838 exception if not. Currently a no-op.
839 (DADD, DADDI, DADDIU, DADDU, DDIV, DDIVU, DMULT, DMULTU, DSLL,
840 DSLL32, DSLLV, DSRA, DSRA32, DSRAV, DSRL, DSRL32, DSRLV, DSUB,
841 DSUBU, LD, LDL, LDR, LLD, LWU, SCD, SD, SDL, SDR, DMxC1, LDXC1,
842 LWXC1, SDXC1, SWXC1, DMFC0, DMTC0): Use check_u64.
843
844 * mips.igen (check_fpu): New function which in the future will
845 check whether FPU instructions are usable and signal an exception
846 if not. Currently a no-op.
847 (ABS.fmt, ADD.fmt, BC1a, BC1b, C.cond.fmta, C.cond.fmtb,
848 CEIL.L.fmt, CEIL.W, CxC1, CVT.D.fmt, CVT.L.fmt, CVT.S.fmt,
849 CVT.W.fmt, DIV.fmt, DMxC1, DMxC1, FLOOR.L.fmt, FLOOR.W.fmt, LDC1,
850 LDXC1, LWC1, LWXC1, MADD.D, MADD.S, MxC1, MOV.fmt, MOVtf,
851 MOVtf.fmt, MOVN.fmt, MOVZ.fmt, MSUB.D, MSUB.S, MUL.fmt, NEG.fmt,
852 NMADD.D, NMADD.S, NMSUB.D, NMSUB.S, RECIP.fmt, ROUND.L.fmt,
853 ROUND.W.fmt, RSQRT.fmt, SDC1, SDXC1, SQRT.fmt, SUB.fmt, SWC1,
854 SWXC1, TRUNC.L.fmt, TRUNC.W): Use check_fpu.
855
1c47a468
CD
8562002-02-27 Chris Demetriou <cgd@broadcom.com>
857
858 * mips.igen (do_load_left, do_load_right): Move to be immediately
859 following do_load.
860 (do_store_left, do_store_right): Move to be immediately following
861 do_store.
862
603a98e7
CD
8632002-02-27 Chris Demetriou <cgd@broadcom.com>
864
865 * mips.igen (mipsV): New model name. Also, add it to
866 all instructions and functions where it is appropriate.
867
c5d00cc7
CD
8682002-02-18 Chris Demetriou <cgd@broadcom.com>
869
870 * mips.igen: For all functions and instructions, list model
871 names that support that instruction one per line.
872
074e9cb8
CD
8732002-02-11 Chris Demetriou <cgd@broadcom.com>
874
875 * mips.igen: Add some additional comments about supported
876 models, and about which instructions go where.
877 (BC1b, MFC0, MTC0, RFE): Sort supported models in the same
878 order as is used in the rest of the file.
879
9805e229
CD
8802002-02-11 Chris Demetriou <cgd@broadcom.com>
881
882 * mips.igen (ADD, ADDI, DADDI, DSUB, SUB): Add comment
883 indicating that ALU32_END or ALU64_END are there to check
884 for overflow.
885 (DADD): Likewise, but also remove previous comment about
886 overflow checking.
887
f701dad2
CD
8882002-02-10 Chris Demetriou <cgd@broadcom.com>
889
890 * mips.igen (DDIV, DIV, DIVU, DMULT, DMULTU, DSLL, DSLL32,
891 DSLLV, DSRA, DSRA32, DSRAV, DSRL, DSRL32, DSRLV, DSUB, DSUBU,
892 JALR, JR, MOVN, MOVZ, MTLO, MULT, MULTU, SLL, SLLV, SLT, SLTU,
893 SRAV, SRLV, SUB, SUBU, SYNC, XOR, MOVtf, DI, DMFC0, DMTC0, EI,
894 ERET, RFE, TLBP, TLBR, TLBWI, TLBWR): Tweak instruction opcode
895 fields (i.e., add and move commas) so that they more closely
896 match the MIPS ISA documentation opcode partitioning.
897
8982002-02-10 Chris Demetriou <cgd@broadcom.com>
20ae0098
CD
899
900 * mips.igen (ADDI): Print immediate value.
901 (BREAK): Print code.
902 (DADDIU, DSRAV, DSRLV): Print correct instruction name.
903 (SLL): Print "nop" specially, and don't run the code
904 that does the shift for the "nop" case.
905
9e52972e
FF
9062001-11-17 Fred Fish <fnf@redhat.com>
907
908 * sim-main.h (float_operation): Move enum declaration outside
909 of _sim_cpu struct declaration.
910
c0efbca4
JB
9112001-04-12 Jim Blandy <jimb@redhat.com>
912
913 * mips.igen (CFC1, CTC1): Pass the correct register numbers to
914 PENDING_FILL. Use PENDING_SCHED directly to handle the pending
915 set of the FCSR.
916 * sim-main.h (COCIDX): Remove definition; this isn't supported by
917 PENDING_FILL, and you can get the intended effect gracefully by
918 calling PENDING_SCHED directly.
919
fb891446
BE
9202001-02-23 Ben Elliston <bje@redhat.com>
921
922 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Only define if not
923 already defined elsewhere.
924
8030f857
BE
9252001-02-19 Ben Elliston <bje@redhat.com>
926
927 * sim-main.h (sim_monitor): Return an int.
928 * interp.c (sim_monitor): Add return values.
929 (signal_exception): Handle error conditions from sim_monitor.
930
56b48a7a
CD
9312001-02-08 Ben Elliston <bje@redhat.com>
932
933 * sim-main.c (load_memory): Pass cia to sim_core_read* functions.
934 (store_memory): Likewise, pass cia to sim_core_write*.
935
d3ee60d9
FCE
9362000-10-19 Frank Ch. Eigler <fche@redhat.com>
937
938 On advice from Chris G. Demetriou <cgd@sibyte.com>:
939 * sim-main.h (GPR_CLEAR): Remove unused alternative macro.
940
071da002
AC
941Thu Jul 27 22:02:05 2000 Andrew Cagney <cagney@b1.cygnus.com>
942
943 From Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
944 * Makefile.in: Don't delete *.igen when cleaning directory.
945
a28c02cd
AC
946Wed Jul 19 18:50:51 2000 Andrew Cagney <cagney@b1.cygnus.com>
947
948 * m16.igen (break): Call SignalException not sim_engine_halt.
949
80ee11fa
AC
950Mon Jul 3 11:13:20 2000 Andrew Cagney <cagney@b1.cygnus.com>
951
952 From Jason Eckhardt:
953 * mips.igen (MOVZ.fmt, MOVN.fmt): Move conditional on GPR[RT].
954
673388c0
AC
955Tue Jun 13 20:52:07 2000 Andrew Cagney <cagney@b1.cygnus.com>
956
957 * mips.igen (MxC1, DMxC1): Fix printf formatting.
958
4c0deff4
NC
9592000-05-24 Michael Hayes <mhayes@cygnus.com>
960
961 * mips.igen (do_dmultx): Fix typo.
962
eb2d80b4
AC
963Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
964
965 * configure: Regenerated to track ../common/aclocal.m4 changes.
966
dd37a34b
AC
967Fri Apr 28 20:48:36 2000 Andrew Cagney <cagney@b1.cygnus.com>
968
969 * mips.igen (DMxC1): Fix format arguments for sim_io_eprintf call.
970
4c0deff4
NC
9712000-04-12 Frank Ch. Eigler <fche@redhat.com>
972
973 * sim-main.h (GPR_CLEAR): Define macro.
974
e30db738
AC
975Mon Apr 10 00:07:09 2000 Andrew Cagney <cagney@b1.cygnus.com>
976
977 * interp.c (decode_coproc): Output long using %lx and not %s.
978
cb7450ea
FCE
9792000-03-21 Frank Ch. Eigler <fche@redhat.com>
980
981 * interp.c (sim_open): Sort & extend dummy memory regions for
982 --board=jmr3904 for eCos.
983
a3027dd7
FCE
9842000-03-02 Frank Ch. Eigler <fche@redhat.com>
985
986 * configure: Regenerated.
987
988Tue Feb 8 18:35:01 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
989
990 * interp.c, mips.igen: all 5 DEADC0DE situations now have sim_io_eprintf
991 calls, conditional on the simulator being in verbose mode.
992
dfcd3bfb
JM
993Fri Feb 4 09:45:15 2000 Donald Lindsay <dlindsay@cygnus.com>
994
995 * sim-main.c (cache_op): Added case arm so that CACHE ops to a secondary
996 cache don't get ReservedInstruction traps.
997
c2d11a7d
JM
9981999-11-29 Mark Salter <msalter@cygnus.com>
999
1000 * dv-tx3904sio.c (tx3904sio_io_write_buffer): Use write value as a mask
1001 to clear status bits in sdisr register. This is how the hardware works.
1002
1003 * interp.c (sim_open): Added more memory aliases for jmr3904 hardware
1004 being used by cygmon.
1005
4ce44c66
JM
10061999-11-11 Andrew Haley <aph@cygnus.com>
1007
1008 * interp.c (decode_coproc): Correctly handle DMFC0 and DMTC0
1009 instructions.
1010
cff3e48b
JM
1011Thu Sep 9 15:12:08 1999 Geoffrey Keating <geoffk@cygnus.com>
1012
1013 * mips.igen (MULT): Correct previous mis-applied patch.
1014
d4f3574e
SS
1015Tue Sep 7 13:34:54 1999 Geoffrey Keating <geoffk@cygnus.com>
1016
1017 * mips.igen (delayslot32): Handle sequence like
1018 mtc1 $at,$f12 ; jal fp_add ; mov.s $f13,$f12
1019 correctly by calling ENGINE_ISSUE_PREFIX_HOOK() before issue.
1020 (MULT): Actually pass the third register...
1021
10221999-09-03 Mark Salter <msalter@cygnus.com>
1023
1024 * interp.c (sim_open): Added more memory aliases for additional
1025 hardware being touched by cygmon on jmr3904 board.
1026
1027Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
1028
1029 * configure: Regenerated to track ../common/aclocal.m4 changes.
1030
a0b3c4fd
JM
1031Tue Jul 27 16:36:51 1999 Andrew Cagney <cagney@amy.cygnus.com>
1032
1033 * interp.c (sim_store_register): Handle case where client - GDB -
1034 specifies that a 4 byte register is 8 bytes in size.
1035 (sim_fetch_register): Ditto.
1036
adf40b2e
JM
10371999-07-14 Frank Ch. Eigler <fche@cygnus.com>
1038
1039 Implement "sim firmware" option, inspired by jimb's version of 1998-01.
1040 * interp.c (firmware_option_p): New global flag: "sim firmware" given.
1041 (idt_monitor_base): Base address for IDT monitor traps.
1042 (pmon_monitor_base): Ditto for PMON.
1043 (lsipmon_monitor_base): Ditto for LSI PMON.
1044 (MONITOR_BASE, MONITOR_SIZE): Removed macros.
1045 (mips_option): Add "firmware" option with new OPTION_FIRMWARE key.
1046 (sim_firmware_command): New function.
1047 (mips_option_handler): Call it for OPTION_FIRMWARE.
1048 (sim_open): Allocate memory for idt_monitor region. If "--board"
1049 option was given, add no monitor by default. Add BREAK hooks only if
1050 monitors are also there.
1051
43e526b9
JM
1052Mon Jul 12 00:02:27 1999 Andrew Cagney <cagney@amy.cygnus.com>
1053
1054 * interp.c (sim_monitor): Flush output before reading input.
1055
1056Sun Jul 11 19:28:11 1999 Andrew Cagney <cagney@b1.cygnus.com>
1057
1058 * tconfig.in (SIM_HANDLES_LMA): Always define.
1059
1060Thu Jul 8 16:06:59 1999 Andrew Cagney <cagney@b1.cygnus.com>
1061
1062 From Mark Salter <msalter@cygnus.com>:
1063 * interp.c (BOARD_BSP): Define. Add to list of possible boards.
1064 (sim_open): Add setup for BSP board.
1065
9846de1b
JM
1066Wed Jul 7 12:45:58 1999 Andrew Cagney <cagney@b1.cygnus.com>
1067
1068 * mips.igen (MULT, MULTU): Add syntax for two operand version.
1069 (DMFC0, DMTC0): Recognize. Call DecodeCoproc which will report
1070 them as unimplemented.
1071
cd0fc7c3
SS
10721999-05-08 Felix Lee <flee@cygnus.com>
1073
1074 * configure: Regenerated to track ../common/aclocal.m4 changes.
1075
7a292a7a
SS
10761999-04-21 Frank Ch. Eigler <fche@cygnus.com>
1077
1078 * mips.igen (bc0f): For the TX39 only, decode this as a no-op stub.
1079
1080Thu Apr 15 14:15:17 1999 Andrew Cagney <cagney@amy.cygnus.com>
1081
1082 * configure.in: Any mips64vr5*-*-* target should have
1083 -DTARGET_ENABLE_FR=1.
1084 (default_endian): Any mips64vr*el-*-* target should default to
1085 LITTLE_ENDIAN.
1086 * configure: Re-generate.
1087
10881999-02-19 Gavin Romig-Koch <gavin@cygnus.com>
1089
1090 * mips.igen (ldl): Extend from _16_, not 32.
1091
1092Wed Jan 27 18:51:38 1999 Andrew Cagney <cagney@chook.cygnus.com>
1093
1094 * interp.c (sim_store_register): Force registers written to by GDB
1095 into an un-interpreted state.
1096
c906108c
SS
10971999-02-05 Frank Ch. Eigler <fche@cygnus.com>
1098
1099 * dv-tx3904sio.c (tx3904sio_tickle): After a polled I/O from the
1100 CPU, start periodic background I/O polls.
1101 (tx3904sio_poll): New function: periodic I/O poller.
1102
11031998-12-30 Frank Ch. Eigler <fche@cygnus.com>
1104
1105 * mips.igen (BREAK): Call signal_exception instead of sim_engine_halt.
1106
1107Tue Dec 29 16:03:53 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1108
1109 * configure.in, configure (mips64vr5*-*-*): Added missing ;; in
1110 case statement.
1111
11121998-12-29 Frank Ch. Eigler <fche@cygnus.com>
1113
1114 * interp.c (sim_open): Allocate jm3904 memory in smaller chunks.
1115 (load_word): Call SIM_CORE_SIGNAL hook on error.
1116 (signal_exception): Call SIM_CPU_EXCEPTION_TRIGGER hook before
1117 starting. For exception dispatching, pass PC instead of NULL_CIA.
1118 (decode_coproc): Use COP0_BADVADDR to store faulting address.
1119 * sim-main.h (COP0_BADVADDR): Define.
1120 (SIM_CORE_SIGNAL): Define hook to call mips_core_signal.
1121 (SIM_CPU_EXCEPTION*): Define hooks to call mips_cpu_exception*().
1122 (_sim_cpu): Add exc_* fields to store register value snapshots.
1123 * mips.igen (*): Replace memory-related SignalException* calls
1124 with references to SIM_CORE_SIGNAL hook.
1125
1126 * dv-tx3904irc.c (tx3904irc_port_event): printf format warning
1127 fix.
1128 * sim-main.c (*): Minor warning cleanups.
1129
11301998-12-24 Gavin Romig-Koch <gavin@cygnus.com>
1131
1132 * m16.igen (DADDIU5): Correct type-o.
1133
1134Mon Dec 21 10:34:48 1998 Andrew Cagney <cagney@chook>
1135
1136 * mips.igen (do_ddiv, do_ddivu): Pacify GCC. Update hi/lo via tmp
1137 variables.
1138
1139Wed Dec 16 18:20:28 1998 Andrew Cagney <cagney@chook>
1140
1141 * Makefile.in (SIM_EXTRA_CFLAGS): No longer need to add .../newlib
1142 to include path.
1143 (interp.o): Add dependency on itable.h
1144 (oengine.c, gencode): Delete remaining references.
1145 (BUILT_SRC_FROM_GEN): Clean up.
1146
11471998-12-16 Gavin Romig-Koch <gavin@cygnus.com>
1148
1149 * vr4run.c: New.
1150 * Makefile.in (SIM_HACK_OBJ,HACK_OBJS,HACK_GEN_SRCS,libhack.a,
1151 tmp-hack,tmp-m32-hack,tmp-m16-hack,tmp-itable-hack,
1152 tmp-run-hack) : New.
1153 * m16.igen (LD,DADDIU,DADDUI5,DADJSP,DADDIUSP,DADDI,DADDU,DSUBU,
1154 DSLL,DSRL,DSRA,DSLLV,DSRAV,DMULT,DMULTU,DDIV,DDIVU,JALX32,JALX):
1155 Drop the "64" qualifier to get the HACK generator working.
1156 Use IMMEDIATE rather than IMMED. Use SHAMT rather than SHIFT.
1157 * mips.igen (do_daddiu,do_ddiv,do_divu): Remove the 64-only
1158 qualifier to get the hack generator working.
1159 (do_dsll,do_dsllv,do_dsra,do_dsrl,do_dsrlv): New.
1160 (DSLL): Use do_dsll.
1161 (DSLLV): Use do_dsllv.
1162 (DSRA): Use do_dsra.
1163 (DSRL): Use do_dsrl.
1164 (DSRLV): Use do_dsrlv.
1165 (BC1): Move *vr4100 to get the HACK generator working.
1166 (CxC1, DMxC1, MxC1,MACCU,MACCHI,MACCHIU): Rename to
1167 get the HACK generator working.
1168 (MACC) Rename to get the HACK generator working.
1169 (DMACC,MACCS,DMACCS): Add the 64.
1170
11711998-12-12 Gavin Romig-Koch <gavin@cygnus.com>
1172
1173 * mips.igen (BC1): Renamed to BC1a and BC1b to avoid conflicts.
1174 * sim-main.h (SizeFGR): Handle TARGET_ENABLE_FR.
1175
11761998-12-11 Gavin Romig-Koch <gavin@cygnus.com>
1177
1178 * mips/interp.c (DEBUG): Cleanups.
1179
11801998-12-10 Frank Ch. Eigler <fche@cygnus.com>
1181
1182 * dv-tx3904sio.c (tx3904sio_io_read_buffer): Endianness fixes.
1183 (tx3904sio_tickle): fflush after a stdout character output.
1184
11851998-12-03 Frank Ch. Eigler <fche@cygnus.com>
1186
1187 * interp.c (sim_close): Uninstall modules.
1188
1189Wed Nov 25 13:41:03 1998 Andrew Cagney <cagney@b1.cygnus.com>
1190
1191 * sim-main.h, interp.c (sim_monitor): Change to global
1192 function.
1193
1194Wed Nov 25 17:33:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
1195
1196 * configure.in (vr4100): Only include vr4100 instructions in
1197 simulator.
1198 * configure: Re-generate.
1199 * m16.igen (*): Tag all mips16 instructions as also being vr4100.
1200
1201Mon Nov 23 18:20:36 1998 Andrew Cagney <cagney@b1.cygnus.com>
1202
1203 * Makefile.in (SIM_CFLAGS): Do not define WITH_IGEN.
1204 * sim-main.h, sim-main.c, interp.c: Delete #if WITH_IGEN keeping
1205 true alternative.
1206
1207 * configure.in (sim_default_gen, sim_use_gen): Replace with
1208 sim_gen.
1209 (--enable-sim-igen): Delete config option. Always using IGEN.
1210 * configure: Re-generate.
1211
1212 * Makefile.in (gencode): Kill, kill, kill.
1213 * gencode.c: Ditto.
1214
1215Mon Nov 23 18:07:36 1998 Andrew Cagney <cagney@b1.cygnus.com>
1216
1217 * configure.in: Configure mips64vr4100-elf nee mips64vr41* as a 64
1218 bit mips16 igen simulator.
1219 * configure: Re-generate.
1220
1221 * mips.igen (check_div_hilo, check_mult_hilo, check_mf_hilo): Mark
1222 as part of vr4100 ISA.
1223 * vr.igen: Mark all instructions as 64 bit only.
1224
1225Mon Nov 23 17:07:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
1226
1227 * interp.c (get_cell, sim_monitor, fetch_str, CoProcPresent):
1228 Pacify GCC.
1229
1230Mon Nov 23 13:23:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
1231
1232 * configure.in: Configure mips-lsi-elf nee mips*lsi* as a
1233 mipsIII/mips16 igen simulator. Fix sim_gen VS sim_igen typos.
1234 * configure: Re-generate.
1235
1236 * m16.igen (BREAK): Define breakpoint instruction.
1237 (JALX32): Mark instruction as mips16 and not r3900.
1238 * mips.igen (C.cond.fmt): Fix typo in instruction format.
1239
1240 * sim-main.h (PENDING_FILL): Wrap C statements in do/while.
1241
1242Sat Nov 7 09:54:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
1243
1244 * gencode.c (build_instruction - BREAK): For MIPS16, handle BREAK
1245 insn as a debug breakpoint.
1246
1247 * sim-main.h (PENDING_SLOT_BIT): Fix, was incorrectly defined as
1248 pending.slot_size.
1249 (PENDING_SCHED): Clean up trace statement.
1250 (PENDING_SCHED): Increment PENDING_IN and PENDING_TOTAL.
1251 (PENDING_FILL): Delay write by only one cycle.
1252 (PENDING_FILL): For FSRs, write fmt_uninterpreted to FPR_STATE.
1253
1254 * sim-main.c (pending_tick): Clean up trace statements. Add trace
1255 of pending writes.
1256 (pending_tick): Fix sizes in switch statements, 4 & 8 instead of
1257 32 & 64.
1258 (pending_tick): Move incrementing of index to FOR statement.
1259 (pending_tick): Only update PENDING_OUT after a write has occured.
1260
1261 * configure.in: Add explicit mips-lsi-* target. Use gencode to
1262 build simulator.
1263 * configure: Re-generate.
1264
1265 * interp.c (sim_engine_run OLD): Delete explicit call to
1266 PENDING_TICK. Now called via ENGINE_ISSUE_PREFIX_HOOK.
1267
1268Sat Oct 30 09:49:10 1998 Frank Ch. Eigler <fche@cygnus.com>
1269
1270 * dv-tx3904cpu.c (deliver_tx3904cpu_interrupt): Add dummy
1271 interrupt level number to match changed SignalExceptionInterrupt
1272 macro.
1273
1274Fri Oct 9 18:02:25 1998 Doug Evans <devans@canuck.cygnus.com>
1275
1276 * interp.c: #include "itable.h" if WITH_IGEN.
1277 (get_insn_name): New function.
1278 (sim_open): Initialize CPU_INSN_NAME,CPU_MAX_INSNS.
1279 * sim-main.h (MAX_INSNS,INSN_NAME): Delete.
1280
1281Mon Sep 14 12:36:44 1998 Frank Ch. Eigler <fche@cygnus.com>
1282
1283 * configure: Rebuilt to inhale new common/aclocal.m4.
1284
1285Tue Sep 1 15:39:18 1998 Frank Ch. Eigler <fche@cygnus.com>
1286
1287 * dv-tx3904sio.c: Include sim-assert.h.
1288
1289Tue Aug 25 12:49:46 1998 Frank Ch. Eigler <fche@cygnus.com>
1290
1291 * dv-tx3904sio.c: New file: tx3904 serial I/O module.
1292 * configure.in: Add dv-tx3904sio, dv-sockser for tx39 target.
1293 Reorganize target-specific sim-hardware checks.
1294 * configure: rebuilt.
1295 * interp.c (sim_open): For tx39 target boards, set
1296 OPERATING_ENVIRONMENT, add tx3904sio devices.
1297 * tconfig.in: For tx39 target, set SIM_HANDLES_LMA for loading
1298 ROM executables. Install dv-sockser into sim-modules list.
1299
1300 * dv-tx3904irc.c: Compiler warning clean-up.
1301 * dv-tx3904tmr.c: Compiler warning clean-up. Remove particularly
1302 frequent hw-trace messages.
1303
1304Fri Jul 31 18:14:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
1305
1306 * vr.igen (MulAcc): Identify as a vr4100 specific function.
1307
1308Sat Jul 25 16:03:14 1998 Andrew Cagney <cagney@b1.cygnus.com>
1309
1310 * Makefile.in (IGEN_INCLUDE): Add vr.igen.
1311
1312 * vr.igen: New file.
1313 (MAC/MADD16, DMAC/DMADD16): Implement using code from gencode.c.
1314 * mips.igen: Define vr4100 model. Include vr.igen.
1315Mon Jun 29 09:21:07 1998 Gavin Koch <gavin@cygnus.com>
1316
1317 * mips.igen (check_mf_hilo): Correct check.
1318
1319Wed Jun 17 12:20:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
1320
1321 * sim-main.h (interrupt_event): Add prototype.
1322
1323 * dv-tx3904tmr.c (tx3904tmr_io_write_buffer): Delete unused
1324 register_ptr, register_value.
1325 (deliver_tx3904tmr_tick): Fix types passed to printf fmt.
1326
1327 * sim-main.h (tracefh): Make extern.
1328
1329Tue Jun 16 14:39:00 1998 Frank Ch. Eigler <fche@cygnus.com>
1330
1331 * dv-tx3904tmr.c: Deschedule timer event after dispatching.
1332 Reduce unnecessarily high timer event frequency.
1333 * dv-tx3904cpu.c: Ditto for interrupt event.
1334
1335Wed Jun 10 13:22:32 1998 Frank Ch. Eigler <fche@cygnus.com>
1336
1337 * interp.c (decode_coproc): For TX39, add stub COP0 register #7,
1338 to allay warnings.
1339 (interrupt_event): Made non-static.
1340
1341 * dv-tx3904tmr.c (deliver_tx3904tmr_tick): Correct accidental
1342 interchange of configuration values for external vs. internal
1343 clock dividers.
1344
1345Tue Jun 9 12:46:24 1998 Ian Carmichael <iancarm@cygnus.com>
1346
1347 * mips.igen (BREAK): Moved code to here for
1348 simulator-reserved break instructions.
1349 * gencode.c (build_instruction): Ditto.
1350 * interp.c (signal_exception): Code moved from here. Non-
1351 reserved instructions now use exception vector, rather
1352 than halting sim.
1353 * sim-main.h: Moved magic constants to here.
1354
1355Tue Jun 9 12:29:50 1998 Frank Ch. Eigler <fche@cygnus.com>
1356
1357 * dv-tx3904cpu.c (deliver_*_interrupt,*_port_event): Set the CAUSE
1358 register upon non-zero interrupt event level, clear upon zero
1359 event value.
1360 * dv-tx3904irc.c (*_port_event): Handle deactivated interrupt signal
1361 by passing zero event value.
1362 (*_io_{read,write}_buffer): Endianness fixes.
1363 * dv-tx3904tmr.c (*_io_{read,write}_buffer): Endianness fixes.
1364 (deliver_*_tick): Reduce sim event interval to 75% of count interval.
1365
1366 * interp.c (sim_open): Added jmr3904pal board type that adds PAL-based
1367 serial I/O and timer module at base address 0xFFFF0000.
1368
1369Tue Jun 9 11:52:29 1998 Gavin Koch <gavin@cygnus.com>
1370
1371 * mips.igen (SWC1) : Correct the handling of ReverseEndian
1372 and BigEndianCPU.
1373
1374Tue Jun 9 11:40:57 1998 Gavin Koch <gavin@cygnus.com>
1375
1376 * configure.in (mips_fpu_bitsize) : Set this correctly for 32-bit mips
1377 parts.
1378 * configure: Update.
1379
1380Thu Jun 4 15:37:33 1998 Frank Ch. Eigler <fche@cygnus.com>
1381
1382 * dv-tx3904tmr.c: New file - implements tx3904 timer.
1383 * dv-tx3904{irc,cpu}.c: Mild reformatting.
1384 * configure.in: Include tx3904tmr in hw_device list.
1385 * configure: Rebuilt.
1386 * interp.c (sim_open): Instantiate three timer instances.
1387 Fix address typo of tx3904irc instance.
1388
1389Tue Jun 2 15:48:02 1998 Ian Carmichael <iancarm@cygnus.com>
1390
1391 * interp.c (signal_exception): SystemCall exception now uses
1392 the exception vector.
1393
1394Mon Jun 1 18:18:26 1998 Frank Ch. Eigler <fche@cygnus.com>
1395
1396 * interp.c (decode_coproc): For TX39, add stub COP0 register #3,
1397 to allay warnings.
1398
1399Fri May 29 11:40:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
1400
1401 * configure.in (sim_igen_filter): Match mips*tx39 not mipst*tx39.
1402
1403Mon May 25 20:47:45 1998 Andrew Cagney <cagney@b1.cygnus.com>
1404
1405 * dv-tx3904cpu.c, dv-tx3904irc.c: Rename *_callback to *_method.
1406
1407 * dv-tx3904cpu.c, dv-tx3904irc.c: Include hw-main.h and
1408 sim-main.h. Declare a struct hw_descriptor instead of struct
1409 hw_device_descriptor.
1410
1411Mon May 25 12:41:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
1412
1413 * mips.igen (do_store_left, do_load_left): Compute nr of left and
1414 right bits and then re-align left hand bytes to correct byte
1415 lanes. Fix incorrect computation in do_store_left when loading
1416 bytes from second word.
1417
1418Fri May 22 13:34:20 1998 Andrew Cagney <cagney@b1.cygnus.com>
1419
1420 * configure.in (SIM_AC_OPTION_HARDWARE): Only enable when tx3904.
1421 * interp.c (sim_open): Only create a device tree when HW is
1422 enabled.
1423
1424 * dv-tx3904irc.c (tx3904irc_finish): Pacify GCC.
1425 * interp.c (signal_exception): Ditto.
1426
1427Thu May 21 14:24:11 1998 Gavin Koch <gavin@cygnus.com>
1428
1429 * gencode.c: Mark BEGEZALL as LIKELY.
1430
1431Thu May 21 18:57:19 1998 Andrew Cagney <cagney@b1.cygnus.com>
1432
1433 * sim-main.h (ALU32_END): Sign extend 32 bit results.
1434 * mips.igen (ADD, SUB, ADDI, DADD, DSUB): Trace.
1435
1436Mon May 18 18:22:42 1998 Frank Ch. Eigler <fche@cygnus.com>
1437
1438 * configure.in (SIM_AC_OPTION_HARDWARE): Added common hardware
1439 modules. Recognize TX39 target with "mips*tx39" pattern.
1440 * configure: Rebuilt.
1441 * sim-main.h (*): Added many macros defining bits in
1442 TX39 control registers.
1443 (SignalInterrupt): Send actual PC instead of NULL.
1444 (SignalNMIReset): New exception type.
1445 * interp.c (board): New variable for future use to identify
1446 a particular board being simulated.
1447 (mips_option_handler,mips_options): Added "--board" option.
1448 (interrupt_event): Send actual PC.
1449 (sim_open): Make memory layout conditional on board setting.
1450 (signal_exception): Initial implementation of hardware interrupt
1451 handling. Accept another break instruction variant for simulator
1452 exit.
1453 (decode_coproc): Implement RFE instruction for TX39.
1454 (mips.igen): Decode RFE instruction as such.
1455 * configure.in (tx3904cpu,tx3904irc): Added devices for tx3904.
1456 * interp.c: Define "jmr3904" and "jmr3904debug" board types and
1457 bbegin to implement memory map.
1458 * dv-tx3904cpu.c: New file.
1459 * dv-tx3904irc.c: New file.
1460
1461Wed May 13 14:40:11 1998 Gavin Koch <gavin@cygnus.com>
1462
1463 * mips.igen (check_mt_hilo): Create a separate r3900 version.
1464
1465Wed May 13 14:11:46 1998 Gavin Koch <gavin@cygnus.com>
1466
1467 * tx.igen (madd,maddu): Replace calls to check_op_hilo
1468 with calls to check_div_hilo.
1469
1470Wed May 13 09:59:27 1998 Gavin Koch <gavin@cygnus.com>
1471
1472 * mips/mips.igen (check_op_hilo,check_mult_hilo,check_div_hilo):
1473 Replace check_op_hilo with check_mult_hilo and check_div_hilo.
1474 Add special r3900 version of do_mult_hilo.
1475 (do_dmultx,do_mult,do_multu): Replace calls to check_op_hilo
1476 with calls to check_mult_hilo.
1477 (do_ddiv,do_ddivu,do_div,do_divu): Replace calls to check_op_hilo
1478 with calls to check_div_hilo.
1479
1480Tue May 12 15:22:11 1998 Andrew Cagney <cagney@b1.cygnus.com>
1481
1482 * configure.in (SUBTARGET_R3900): Define for mipstx39 target.
1483 Document a replacement.
1484
1485Fri May 8 17:48:19 1998 Ian Carmichael <iancarm@cygnus.com>
1486
1487 * interp.c (sim_monitor): Make mon_printf work.
1488
1489Wed May 6 19:42:19 1998 Doug Evans <devans@canuck.cygnus.com>
1490
1491 * sim-main.h (INSN_NAME): New arg `cpu'.
1492
1493Tue Apr 28 18:33:31 1998 Geoffrey Noer <noer@cygnus.com>
1494
1495 * configure: Regenerated to track ../common/aclocal.m4 changes.
1496
1497Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
1498
1499 * configure: Regenerated to track ../common/aclocal.m4 changes.
1500 * config.in: Ditto.
1501
1502Sun Apr 26 15:20:01 1998 Tom Tromey <tromey@cygnus.com>
1503
1504 * acconfig.h: New file.
1505 * configure.in: Reverted change of Apr 24; use sinclude again.
1506
1507Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
1508
1509 * configure: Regenerated to track ../common/aclocal.m4 changes.
1510 * config.in: Ditto.
1511
1512Fri Apr 24 11:19:20 1998 Tom Tromey <tromey@cygnus.com>
1513
1514 * configure.in: Don't call sinclude.
1515
1516Fri Apr 24 11:35:01 1998 Andrew Cagney <cagney@chook.cygnus.com>
1517
1518 * mips.igen (do_store_left): Pass 0 not NULL to store_memory.
1519
1520Tue Apr 21 11:59:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
1521
1522 * mips.igen (ERET): Implement.
1523
1524 * interp.c (decode_coproc): Return sign-extended EPC.
1525
1526 * mips.igen (ANDI, LUI, MFC0): Add tracing code.
1527
1528 * interp.c (signal_exception): Do not ignore Trap.
1529 (signal_exception): On TRAP, restart at exception address.
1530 (HALT_INSTRUCTION, HALT_INSTRUCTION_MASK): Define.
1531 (signal_exception): Update.
1532 (sim_open): Patch V_COMMON interrupt vector with an abort sequence
1533 so that TRAP instructions are caught.
1534
1535Mon Apr 20 11:26:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
1536
1537 * sim-main.h (struct hilo_access, struct hilo_history): Define,
1538 contains HI/LO access history.
1539 (struct _sim_cpu): Make hiaccess and loaccess of type hilo_access.
1540 (HIACCESS, LOACCESS): Delete, replace with
1541 (HIHISTORY, LOHISTORY): New macros.
1542 (CHECKHILO): Delete all, moved to mips.igen
1543
1544 * gencode.c (build_instruction): Do not generate checks for
1545 correct HI/LO register usage.
1546
1547 * interp.c (old_engine_run): Delete checks for correct HI/LO
1548 register usage.
1549
1550 * mips.igen (check_mt_hilo, check_mf_hilo, check_op_hilo,
1551 check_mf_cycles): New functions.
1552 (do_mfhi, do_mflo, "mthi", "mtlo", do_ddiv, do_ddivu, do_div,
1553 do_divu, domultx, do_mult, do_multu): Use.
1554
1555 * tx.igen ("madd", "maddu"): Use.
1556
1557Wed Apr 15 18:31:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
1558
1559 * mips.igen (DSRAV): Use function do_dsrav.
1560 (SRAV): Use new function do_srav.
1561
1562 * m16.igen (BEQZ, BNEZ): Compare GPR[TRX] not GPR[RX].
1563 (B): Sign extend 11 bit immediate.
1564 (EXT-B*): Shift 16 bit immediate left by 1.
1565 (ADDIU*): Don't sign extend immediate value.
1566
1567Wed Apr 15 10:32:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
1568
1569 * m16run.c (sim_engine_run): Restore CIA after handling an event.
1570
1571 * sim-main.h (DELAY_SLOT, NULLIFY_NEXT_INSTRUCTION): For IGEN, use
1572 functions.
1573
1574 * mips.igen (delayslot32, nullify_next_insn): New functions.
1575 (m16.igen): Always include.
1576 (do_*): Add more tracing.
1577
1578 * m16.igen (delayslot16): Add NIA argument, could be called by a
1579 32 bit MIPS16 instruction.
1580
1581 * interp.c (ifetch16): Move function from here.
1582 * sim-main.c (ifetch16): To here.
1583
1584 * sim-main.c (ifetch16, ifetch32): Update to match current
1585 implementations of LH, LW.
1586 (signal_exception): Don't print out incorrect hex value of illegal
1587 instruction.
1588
1589Wed Apr 15 00:17:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
1590
1591 * m16run.c (sim_engine_run): Use IMEM16 and IMEM32 to fetch an
1592 instruction.
1593
1594 * m16.igen: Implement MIPS16 instructions.
1595
1596 * mips.igen (do_addiu, do_addu, do_and, do_daddiu, do_daddu,
1597 do_ddiv, do_ddivu, do_div, do_divu, do_dmultx, do_dmultu, do_srav,
1598 do_dsubu, do_mfhi, do_mflo, do_mult, do_multu, do_nor, do_or,
1599 do_sll, do_sllv, do_slt, do_slti, do_sltiu, do_sltu, do_sra,
1600 do_srl, do_srlv, do_subu, do_xor, do_xori): New functions. Move
1601 bodies of corresponding code from 32 bit insn to these. Also used
1602 by MIPS16 versions of functions.
1603
1604 * sim-main.h (RAIDX, T8IDX, T8, SPIDX): Define.
1605 (IMEM16): Drop NR argument from macro.
1606
1607Sat Apr 4 22:39:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
1608
1609 * Makefile.in (SIM_OBJS): Add sim-main.o.
1610
1611 * sim-main.h (address_translation, load_memory, store_memory,
1612 cache_op, sync_operation, prefetch, ifetch32, pending_tick): Mark
1613 as INLINE_SIM_MAIN.
1614 (pr_addr, pr_uword64): Declare.
1615 (sim-main.c): Include when H_REVEALS_MODULE_P.
1616
1617 * interp.c (address_translation, load_memory, store_memory,
1618 cache_op, sync_operation, prefetch, ifetch32, pending_tick): Move
1619 from here.
1620 * sim-main.c: To here. Fix compilation problems.
1621
1622 * configure.in: Enable inlining.
1623 * configure: Re-config.
1624
1625Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
1626
1627 * configure: Regenerated to track ../common/aclocal.m4 changes.
1628
1629Fri Apr 3 04:32:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
1630
1631 * mips.igen: Include tx.igen.
1632 * Makefile.in (IGEN_INCLUDE): Add tx.igen.
1633 * tx.igen: New file, contains MADD and MADDU.
1634
1635 * interp.c (load_memory): When shifting bytes, use LOADDRMASK not
1636 the hardwired constant `7'.
1637 (store_memory): Ditto.
1638 (LOADDRMASK): Move definition to sim-main.h.
1639
1640 mips.igen (MTC0): Enable for r3900.
1641 (ADDU): Add trace.
1642
1643 mips.igen (do_load_byte): Delete.
1644 (do_load, do_store, do_load_left, do_load_write, do_store_left,
1645 do_store_right): New functions.
1646 (SW*, LW*, SD*, LD*, SH, LH, SB, LB): Use.
1647
1648 configure.in: Let the tx39 use igen again.
1649 configure: Update.
1650
1651Thu Apr 2 10:59:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
1652
1653 * interp.c (sim_monitor): get_mem_info returns a 4 byte quantity,
1654 not an address sized quantity. Return zero for cache sizes.
1655
1656Wed Apr 1 23:47:53 1998 Andrew Cagney <cagney@b1.cygnus.com>
1657
1658 * mips.igen (r3900): r3900 does not support 64 bit integer
1659 operations.
1660
1661Mon Mar 30 14:46:05 1998 Gavin Koch <gavin@cygnus.com>
1662
1663 * configure.in (mipstx39*-*-*): Use gencode simulator rather
1664 than igen one.
1665 * configure : Rebuild.
1666
1667Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
1668
1669 * configure: Regenerated to track ../common/aclocal.m4 changes.
1670
1671Fri Mar 27 15:01:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
1672
1673 * interp.c (mips_option_handler): Iterate over MAX_NR_PROCESSORS.
1674
1675Wed Mar 25 16:44:27 1998 Ian Carmichael <iancarm@cygnus.com>
1676
1677 * configure: Regenerated to track ../common/aclocal.m4 changes.
1678 * config.in: Regenerated to track ../common/aclocal.m4 changes.
1679
1680Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
1681
1682 * configure: Regenerated to track ../common/aclocal.m4 changes.
1683
1684Wed Mar 25 10:05:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
1685
1686 * interp.c (Max, Min): Comment out functions. Not yet used.
1687
1688Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
1689
1690 * configure: Regenerated to track ../common/aclocal.m4 changes.
1691
1692Tue Mar 17 19:05:20 1998 Frank Ch. Eigler <fche@cygnus.com>
1693
1694 * Makefile.in (MIPS_EXTRA_LIBS, SIM_EXTRA_LIBS): Added
1695 configurable settings for stand-alone simulator.
1696
1697 * configure.in: Added X11 search, just in case.
1698
1699 * configure: Regenerated.
1700
1701Wed Mar 11 14:09:10 1998 Andrew Cagney <cagney@b1.cygnus.com>
1702
1703 * interp.c (sim_write, sim_read, load_memory, store_memory):
1704 Replace sim_core_*_map with read_map, write_map, exec_map resp.
1705
1706Tue Mar 3 13:58:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
1707
1708 * sim-main.h (GETFCC): Return an unsigned value.
1709
1710Tue Mar 3 13:21:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
1711
1712 * mips.igen (DIV): Fix check for -1 / MIN_INT.
1713 (DADD): Result destination is RD not RT.
1714
1715Fri Feb 27 13:49:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
1716
1717 * sim-main.h (HIACCESS, LOACCESS): Always define.
1718
1719 * mdmx.igen (Maxi, Mini): Rename Max, Min.
1720
1721 * interp.c (sim_info): Delete.
1722
1723Fri Feb 27 18:41:01 1998 Doug Evans <devans@canuck.cygnus.com>
1724
1725 * interp.c (DECLARE_OPTION_HANDLER): Use it.
1726 (mips_option_handler): New argument `cpu'.
1727 (sim_open): Update call to sim_add_option_table.
1728
1729Wed Feb 25 18:56:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
1730
1731 * mips.igen (CxC1): Add tracing.
1732
1733Fri Feb 20 17:43:21 1998 Andrew Cagney <cagney@b1.cygnus.com>
1734
1735 * sim-main.h (Max, Min): Declare.
1736
1737 * interp.c (Max, Min): New functions.
1738
1739 * mips.igen (BC1): Add tracing.
1740
1741Thu Feb 19 14:50:00 1998 John Metzler <jmetzler@cygnus.com>
1742
1743 * interp.c Added memory map for stack in vr4100
1744
1745Thu Feb 19 10:21:21 1998 Gavin Koch <gavin@cygnus.com>
1746
1747 * interp.c (load_memory): Add missing "break"'s.
1748
1749Tue Feb 17 12:45:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
1750
1751 * interp.c (sim_store_register, sim_fetch_register): Pass in
1752 length parameter. Return -1.
1753
1754Tue Feb 10 11:57:40 1998 Ian Carmichael <iancarm@cygnus.com>
1755
1756 * interp.c: Added hardware init hook, fixed warnings.
1757
1758Sat Feb 7 17:16:20 1998 Andrew Cagney <cagney@b1.cygnus.com>
1759
1760 * Makefile.in (itable.h itable.c): Depend on SIM_@sim_gen@_ALL.
1761
1762Tue Feb 3 11:36:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
1763
1764 * interp.c (ifetch16): New function.
1765
1766 * sim-main.h (IMEM32): Rename IMEM.
1767 (IMEM16_IMMED): Define.
1768 (IMEM16): Define.
1769 (DELAY_SLOT): Update.
1770
1771 * m16run.c (sim_engine_run): New file.
1772
1773 * m16.igen: All instructions except LB.
1774 (LB): Call do_load_byte.
1775 * mips.igen (do_load_byte): New function.
1776 (LB): Call do_load_byte.
1777
1778 * mips.igen: Move spec for insn bit size and high bit from here.
1779 * Makefile.in (tmp-igen, tmp-m16): To here.
1780
1781 * m16.dc: New file, decode mips16 instructions.
1782
1783 * Makefile.in (SIM_NO_ALL): Define.
1784 (tmp-m16): Generate both 16 bit and 32 bit simulator engines.
1785
1786Tue Feb 3 11:28:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
1787
1788 * configure.in (mips_fpu_bitsize): For tx39, restrict floating
1789 point unit to 32 bit registers.
1790 * configure: Re-generate.
1791
1792Sun Feb 1 15:47:14 1998 Andrew Cagney <cagney@b1.cygnus.com>
1793
1794 * configure.in (sim_use_gen): Make IGEN the default simulator
1795 generator for generic 32 and 64 bit mips targets.
1796 * configure: Re-generate.
1797
1798Sun Feb 1 16:52:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
1799
1800 * sim-main.h (SizeFGR): Determine from floating-point and not gpr
1801 bitsize.
1802
1803 * interp.c (sim_fetch_register, sim_store_register): Read/write
1804 FGR from correct location.
1805 (sim_open): Set size of FGR's according to
1806 WITH_TARGET_FLOATING_POINT_BITSIZE.
1807
1808 * sim-main.h (FGR): Store floating point registers in a separate
1809 array.
1810
1811Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
1812
1813 * configure: Regenerated to track ../common/aclocal.m4 changes.
1814
1815Tue Feb 3 00:10:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
1816
1817 * interp.c (ColdReset): Call PENDING_INVALIDATE.
1818
1819 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Call PENDING_TICK.
1820
1821 * interp.c (pending_tick): New function. Deliver pending writes.
1822
1823 * sim-main.h (PENDING_FILL, PENDING_TICK, PENDING_SCHED,
1824 PENDING_BIT, PENDING_INVALIDATE): Re-write pipeline code so that
1825 it can handle mixed sized quantites and single bits.
1826
1827Mon Feb 2 17:43:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
1828
1829 * interp.c (oengine.h): Do not include when building with IGEN.
1830 (sim_open): Replace GPRLEN by WITH_TARGET_WORD_BITSIZE.
1831 (sim_info): Ditto for PROCESSOR_64BIT.
1832 (sim_monitor): Replace ut_reg with unsigned_word.
1833 (*): Ditto for t_reg.
1834 (LOADDRMASK): Define.
1835 (sim_open): Remove defunct check that host FP is IEEE compliant,
1836 using software to emulate floating point.
1837 (value_fpr, ...): Always compile, was conditional on HASFPU.
1838
1839Sun Feb 1 11:15:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
1840
1841 * sim-main.h (sim_state): Make the cpu array MAX_NR_PROCESSORS in
1842 size.
1843
1844 * interp.c (SD, CPU): Define.
1845 (mips_option_handler): Set flags in each CPU.
1846 (interrupt_event): Assume CPU 0 is the one being iterrupted.
1847 (sim_close): Do not clear STATE, deleted anyway.
1848 (sim_write, sim_read): Assume CPU zero's vm should be used for
1849 data transfers.
1850 (sim_create_inferior): Set the PC for all processors.
1851 (sim_monitor, store_word, load_word, mips16_entry): Add cpu
1852 argument.
1853 (mips16_entry): Pass correct nr of args to store_word, load_word.
1854 (ColdReset): Cold reset all cpu's.
1855 (signal_exception): Pass cpu to sim_monitor & mips16_entry.
1856 (sim_monitor, load_memory, store_memory, signal_exception): Use
1857 `CPU' instead of STATE_CPU.
1858
1859
1860 * sim-main.h: Replace uses of STATE_CPU with CPU. Replace sd with
1861 SD or CPU_.
1862
1863 * sim-main.h (signal_exception): Add sim_cpu arg.
1864 (SignalException*): Pass both SD and CPU to signal_exception.
1865 * interp.c (signal_exception): Update.
1866
1867 * sim-main.h (value_fpr, store_fpr, dotrace, ifetch32), interp.c:
1868 Ditto
1869 (sync_operation, prefetch, cache_op, store_memory, load_memory,
1870 address_translation): Ditto
1871 (decode_coproc, cop_lw, cop_ld, cop_sw, cop_sd): Ditto.
1872
1873Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
1874
1875 * configure: Regenerated to track ../common/aclocal.m4 changes.
1876
1877Sat Jan 31 14:49:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
1878
1879 * interp.c (sim_engine_run): Add `nr_cpus' argument.
1880
1881 * mips.igen (model): Map processor names onto BFD name.
1882
1883 * sim-main.h (CPU_CIA): Delete.
1884 (SET_CIA, GET_CIA): Define
1885
1886Wed Jan 21 16:16:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
1887
1888 * sim-main.h (GPR_SET): Define, used by igen when zeroing a
1889 regiser.
1890
1891 * configure.in (default_endian): Configure a big-endian simulator
1892 by default.
1893 * configure: Re-generate.
1894
1895Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
1896
1897 * configure: Regenerated to track ../common/aclocal.m4 changes.
1898
1899Mon Jan 5 20:38:54 1998 Mark Alexander <marka@cygnus.com>
1900
1901 * interp.c (sim_monitor): Handle Densan monitor outbyte
1902 and inbyte functions.
1903
19041997-12-29 Felix Lee <flee@cygnus.com>
1905
1906 * interp.c (sim_engine_run): msvc cpp barfs on #if (a==b!=c).
1907
1908Wed Dec 17 14:48:20 1997 Jeffrey A Law (law@cygnus.com)
1909
1910 * Makefile.in (tmp-igen): Arrange for $zero to always be
1911 reset to zero after every instruction.
1912
1913Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
1914
1915 * configure: Regenerated to track ../common/aclocal.m4 changes.
1916 * config.in: Ditto.
1917
1918Wed Dec 10 17:10:45 1997 Jeffrey A Law (law@cygnus.com)
1919
1920 * mips.igen (MSUB): Fix to work like MADD.
1921 * gencode.c (MSUB): Similarly.
1922
1923Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
1924
1925 * configure: Regenerated to track ../common/aclocal.m4 changes.
1926
1927Wed Nov 26 11:00:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1928
1929 * mips.igen (LWC1): Correct assembler - lwc1 not swc1.
1930
1931Sun Nov 23 01:45:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1932
1933 * sim-main.h (sim-fpu.h): Include.
1934
1935 * interp.c (convert, SquareRoot, Recip, Divide, Multiply, Sub,
1936 Add, Negate, AbsoluteValue, Equal, Less, Infinity, NaN): Rewrite
1937 using host independant sim_fpu module.
1938
1939Thu Nov 20 19:56:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1940
1941 * interp.c (signal_exception): Report internal errors with SIGABRT
1942 not SIGQUIT.
1943
1944 * sim-main.h (C0_CONFIG): New register.
1945 (signal.h): No longer include.
1946
1947 * interp.c (decode_coproc): Allow access C0_CONFIG to register.
1948
1949Tue Nov 18 15:33:48 1997 Doug Evans <devans@canuck.cygnus.com>
1950
1951 * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
1952
1953Fri Nov 14 11:56:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1954
1955 * mips.igen: Tag vr5000 instructions.
1956 (ANDI): Was missing mipsIV model, fix assembler syntax.
1957 (do_c_cond_fmt): New function.
1958 (C.cond.fmt): Handle mips I-III which do not support CC field
1959 separatly.
1960 (bc1): Handle mips IV which do not have a delaed FCC separatly.
1961 (SDR): Mask paddr when BigEndianMem, not the converse as specified
1962 in IV3.2 spec.
1963 (DMULT, DMULTU): Force use of hosts 64bit multiplication. Handle
1964 vr5000 which saves LO in a GPR separatly.
1965
1966 * configure.in (enable-sim-igen): For vr5000, select vr5000
1967 specific instructions.
1968 * configure: Re-generate.
1969
1970Wed Nov 12 14:42:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
1971
1972 * Makefile.in (SIM_OBJS): Add sim-fpu module.
1973
1974 * interp.c (store_fpr), sim-main.h: Add separate fmt_uninterpreted_32 and
1975 fmt_uninterpreted_64 bit cases to switch. Convert to
1976 fmt_formatted,
1977
1978 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Define,
1979
1980 * mips.igen (SWR): Mask paddr when BigEndianMem, not the converse
1981 as specified in IV3.2 spec.
1982 (MTC1, DMTC1): Call StoreFPR to store the GPR in the FPR.
1983
1984Tue Nov 11 12:38:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
1985
1986 * mips.igen: Delay slot branches add OFFSET to NIA not CIA.
1987 (MFC0, MTC0, SWC1, LWC1, SDC1, LDC1): Implement.
1988 (MTC1, MFC1, DMTC1, DMFC1, CFC1, CTC1): Implement separate non
1989 PENDING_FILL versions of instructions. Simplify.
1990 (X): New function.
1991 (MULT, MULTU): Implement separate RD==0 and RD!=0 versions of
1992 instructions.
1993 (BEQZ, ..., SLT, SLTI, TLT, TLE, TLI, ...): Explicitly cast GPR to
1994 a signed value.
1995 (MTHI, MFHI): Disable code checking HI-LO.
1996
1997 * sim-main.h (dotrace,tracefh), interp.c: Make dotrace & tracefh
1998 global.
1999 (NULLIFY_NEXT_INSTRUCTION): Call dotrace.
2000
2001Thu Nov 6 16:36:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
2002
2003 * gencode.c (build_mips16_operands): Replace IPC with cia.
2004
2005 * interp.c (sim_monitor, signal_exception, cache_op, store_fpr,
2006 value_fpr, cop_ld, cop_lw, cop_sw, cop_sd, decode_coproc): Replace
2007 IPC to `cia'.
2008 (UndefinedResult): Replace function with macro/function
2009 combination.
2010 (sim_engine_run): Don't save PC in IPC.
2011
2012 * sim-main.h (IPC): Delete.
2013
2014
2015 * interp.c (signal_exception, store_word, load_word,
2016 address_translation, load_memory, store_memory, cache_op,
2017 prefetch, sync_operation, ifetch, value_fpr, store_fpr, convert,
2018 cop_lw, cop_ld, cop_sw, cop_sd, decode_coproc, sim_monitor): Add
2019 current instruction address - cia - argument.
2020 (sim_read, sim_write): Call address_translation directly.
2021 (sim_engine_run): Rename variable vaddr to cia.
2022 (signal_exception): Pass cia to sim_monitor
2023
2024 * sim-main.h (SignalException, LoadWord, StoreWord, CacheOp,
2025 Prefetch, SyncOperation, ValueFPR, StoreFPR, Convert, COP_LW,
2026 COP_LD, COP_SW, COP_SD, DecodeCoproc): Update.
2027
2028 * sim-main.h (SignalExceptionSimulatorFault): Delete definition.
2029 * interp.c (sim_open): Replace SignalExceptionSimulatorFault with
2030 SIM_ASSERT.
2031
2032 * interp.c (signal_exception): Pass restart address to
2033 sim_engine_restart.
2034
2035 * Makefile.in (semantics.o, engine.o, support.o, itable.o,
2036 idecode.o): Add dependency.
2037
2038 * sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESUME_HOOK):
2039 Delete definitions
2040 (DELAY_SLOT): Update NIA not PC with branch address.
2041 (NULLIFY_NEXT_INSTRUCTION): Set NIA to instruction after next.
2042
2043 * mips.igen: Use CIA not PC in branch calculations.
2044 (illegal): Call SignalException.
2045 (BEQ, ADDIU): Fix assembler.
2046
2047Wed Nov 5 12:19:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
2048
2049 * m16.igen (JALX): Was missing.
2050
2051 * configure.in (enable-sim-igen): New configuration option.
2052 * configure: Re-generate.
2053
2054 * sim-main.h (MAX_INSNS, INSN_NAME): Define.
2055
2056 * interp.c (load_memory, store_memory): Delete parameter RAW.
2057 (sim_read, sim_write): Use sim_core_{read,write}_buffer directly
2058 bypassing {load,store}_memory.
2059
2060 * sim-main.h (ByteSwapMem): Delete definition.
2061
2062 * Makefile.in (SIM_OBJS): Add sim-memopt module.
2063
2064 * interp.c (sim_do_command, sim_commands): Delete mips specific
2065 commands. Handled by module sim-options.
2066
2067 * sim-main.h (SIM_HAVE_FLATMEM): Undefine, use sim-core.o module.
2068 (WITH_MODULO_MEMORY): Define.
2069
2070 * interp.c (sim_info): Delete code printing memory size.
2071
2072 * interp.c (mips_size): Nee sim_size, delete function.
2073 (power2): Delete.
2074 (monitor, monitor_base, monitor_size): Delete global variables.
2075 (sim_open, sim_close): Delete code creating monitor and other
2076 memory regions. Use sim-memopts module, via sim_do_commandf, to
2077 manage memory regions.
2078 (load_memory, store_memory): Use sim-core for memory model.
2079
2080 * interp.c (address_translation): Delete all memory map code
2081 except line forcing 32 bit addresses.
2082
2083Wed Nov 5 11:21:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
2084
2085 * sim-main.h (WITH_TRACE): Delete definition. Enables common
2086 trace options.
2087
2088 * interp.c (logfh, logfile): Delete globals.
2089 (sim_open, sim_close): Delete code opening & closing log file.
2090 (mips_option_handler): Delete -l and -n options.
2091 (OPTION mips_options): Ditto.
2092
2093 * interp.c (OPTION mips_options): Rename option trace to dinero.
2094 (mips_option_handler): Update.
2095
2096Wed Nov 5 09:35:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
2097
2098 * interp.c (fetch_str): New function.
2099 (sim_monitor): Rewrite using sim_read & sim_write.
2100 (sim_open): Check magic number.
2101 (sim_open): Write monitor vectors into memory using sim_write.
2102 (MONITOR_BASE, MONITOR_SIZE, MEM_SIZE): Define.
2103 (sim_read, sim_write): Simplify - transfer data one byte at a
2104 time.
2105 (load_memory, store_memory): Clarify meaning of parameter RAW.
2106
2107 * sim-main.h (isHOST): Defete definition.
2108 (isTARGET): Mark as depreciated.
2109 (address_translation): Delete parameter HOST.
2110
2111 * interp.c (address_translation): Delete parameter HOST.
2112
2113Wed Oct 29 11:13:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
2114
2115 * mips.igen:
2116
2117 * Makefile.in (IGEN_INCLUDE): Files included by mips.igen.
2118 (tmp-igen, tmp-m16): Depend on IGEN_INCLUDE.
2119
2120Tue Oct 28 11:06:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
2121
2122 * mips.igen: Add model filter field to records.
2123
2124Mon Oct 27 17:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
2125
2126 * Makefile.in (SIM_NO_CFLAGS): Define. Define WITH_IGEN=0.
2127
2128 interp.c (sim_engine_run): Do not compile function sim_engine_run
2129 when WITH_IGEN == 1.
2130
2131 * configure.in (sim_igen_flags, sim_m16_flags): Set according to
2132 target architecture.
2133
2134 Makefile.in (tmp-igen, tmp-m16): Drop -F and -M options to
2135 igen. Replace with configuration variables sim_igen_flags /
2136 sim_m16_flags.
2137
2138 * m16.igen: New file. Copy mips16 insns here.
2139 * mips.igen: From here.
2140
2141Mon Oct 27 13:53:59 1997 Andrew Cagney <cagney@b1.cygnus.com>
2142
2143 * Makefile.in (SIM_NO_OBJ): Define, move SIM_M16_OBJ, SIM_IGEN_OBJ
2144 to top.
2145 (tmp-igen, tmp-m16): Pass -I srcdir to igen.
2146
2147Sat Oct 25 16:51:40 1997 Gavin Koch <gavin@cygnus.com>
2148
2149 * gencode.c (build_instruction): Follow sim_write's lead in using
2150 BigEndianMem instead of !ByteSwapMem.
2151
2152Fri Oct 24 17:41:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
2153
2154 * configure.in (sim_gen): Dependent on target, select type of
2155 generator. Always select old style generator.
2156
2157 configure: Re-generate.
2158
2159 Makefile.in (tmp-igen, tmp-m16, clean-m16, clean-igen): New
2160 targets.
2161 (SIM_M16_CFLAGS, SIM_M16_ALL, SIM_M16_OBJ, BUILT_SRC_FROM_M16,
2162 SIM_IGEN_CFLAGS, SIM_IGEN_ALL, SIM_IGEN_OBJ, BUILT_SRC_FROM_IGEN,
2163 IGEN_TRACE, IGEN_INSN, IGEN_DC): Define
2164 (SIM_EXTRA_CFLAGS, SIM_EXTRA_ALL, SIM_OBJS): Add member
2165 SIM_@sim_gen@_*, set by autoconf.
2166
2167Wed Oct 22 12:52:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
2168
2169 * sim-main.h (NULLIFY_NEXT_INSTRUCTION, DELAY_SLOT): Define.
2170
2171 * interp.c (ColdReset): Remove #ifdef HASFPU, check
2172 CURRENT_FLOATING_POINT instead.
2173
2174 * interp.c (ifetch32): New function. Fetch 32 bit instruction.
2175 (address_translation): Raise exception InstructionFetch when
2176 translation fails and isINSTRUCTION.
2177
2178 * interp.c (sim_open, sim_write, sim_monitor, store_word,
2179 sim_engine_run): Change type of of vaddr and paddr to
2180 address_word.
2181 (address_translation, prefetch, load_memory, store_memory,
2182 cache_op): Change type of vAddr and pAddr to address_word.
2183
2184 * gencode.c (build_instruction): Change type of vaddr and paddr to
2185 address_word.
2186
2187Mon Oct 20 15:29:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
2188
2189 * sim-main.h (ALU64_END, ALU32_END): Use ALU*_OVERFLOW_RESULT
2190 macro to obtain result of ALU op.
2191
2192Tue Oct 21 17:39:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
2193
2194 * interp.c (sim_info): Call profile_print.
2195
2196Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2197
2198 * Makefile.in (SIM_OBJS): Add sim-profile.o module.
2199
2200 * sim-main.h (WITH_PROFILE): Do not define, defined in
2201 common/sim-config.h. Use sim-profile module.
2202 (simPROFILE): Delete defintion.
2203
2204 * interp.c (PROFILE): Delete definition.
2205 (mips_option_handler): Delete 'p', 'y' and 'x' profile options.
2206 (sim_close): Delete code writing profile histogram.
2207 (mips_set_profile, mips_set_profile_size, writeout16, writeout32):
2208 Delete.
2209 (sim_engine_run): Delete code profiling the PC.
2210
2211Mon Oct 20 13:31:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2212
2213 * sim-main.h (SIGNEXTEND): Force type of result to unsigned_word.
2214
2215 * interp.c (sim_monitor): Make register pointers of type
2216 unsigned_word*.
2217
2218 * sim-main.h: Make registers of type unsigned_word not
2219 signed_word.
2220
2221Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
2222
2223 * interp.c (sync_operation): Rename from SyncOperation, make
2224 global, add SD argument.
2225 (prefetch): Rename from Prefetch, make global, add SD argument.
2226 (decode_coproc): Make global.
2227
2228 * sim-main.h (SyncOperation, DecodeCoproc, Pefetch): Define.
2229
2230 * gencode.c (build_instruction): Generate DecodeCoproc not
2231 decode_coproc calls.
2232
2233 * interp.c (SETFCC, GETFCC, PREVCOC1): Move to sim-main.h
2234 (SizeFGR): Move to sim-main.h
2235 (simHALTEX, simHALTIN, simTRACE, simPROFILE, simDELAYSLOT,
2236 simSIGINT, simJALDELAYSLOT): Move to sim-main.h
2237 (FP_FLAGS, FP_ENABLE, FP_CAUSE, IR, UF, OF, DZ, IO, UO): Move to
2238 sim-main.h.
2239 (FP_FS, FP_MASK_RM, FP_SH_RM, FP_RM_NEAREST, FP_RM_TOPINF,
2240 FP_RM_TOMINF, GETRM): Move to sim-main.h.
2241 (Uncached, CachedNoncoherent, CachedCoherent, Cached,
2242 isINSTRUCTION, ..., AccessLength_BYTE, ...): Move to sim-main.h.
2243 (UserMode, BigEndianMem, ByteSwapMem, ReverseEndian,
2244 BigEndianCPU, status_KSU_mask, ...). Moved to sim-main.h
2245
2246 * sim-main.h (ALU32_END, ALU64_END): Define. When overflow raise
2247 exception.
2248 (sim-alu.h): Include.
2249 (NULLIFY_NIA, NULL_CIA, CPU_CIA): Define.
2250 (sim_cia): Typedef to instruction_address.
2251
2252Thu Oct 16 10:31:41 1997 Andrew Cagney <cagney@b1.cygnus.com>
2253
2254 * Makefile.in (interp.o): Rename generated file engine.c to
2255 oengine.c.
2256
2257 * interp.c: Update.
2258
2259Thu Oct 16 10:31:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
2260
2261 * gencode.c (build_instruction): Use FPR_STATE not fpr_state.
2262
2263Thu Oct 16 10:31:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
2264
2265 * gencode.c (build_instruction): For "FPSQRT", output correct
2266 number of arguments to Recip.
2267
2268Tue Oct 14 17:38:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
2269
2270 * Makefile.in (interp.o): Depends on sim-main.h
2271
2272 * interp.c (mips16_entry, ColdReset,dotrace): Add SD argument. Use GPR not registers.
2273
2274 * sim-main.h (sim_cpu): Add registers, register_widths, fpr_state,
2275 ipc, dspc, pending_*, hiaccess, loaccess, state, dsstate fields.
2276 (REGISTERS, REGISTER_WIDTHS, FPR_STATE, IPC, DSPC, PENDING_*,
2277 STATE, DSSTATE): Define
2278 (GPR, FGRIDX, ..): Define.
2279
2280 * interp.c (registers, register_widths, fpr_state, ipc, dspc,
2281 pending_*, hiaccess, loaccess, state, dsstate): Delete globals.
2282 (GPR, FGRIDX, ...): Delete macros.
2283
2284 * interp.c: Update names to match defines from sim-main.h
2285
2286Tue Oct 14 15:11:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
2287
2288 * interp.c (sim_monitor): Add SD argument.
2289 (sim_warning): Delete. Replace calls with calls to
2290 sim_io_eprintf.
2291 (sim_error): Delete. Replace calls with sim_io_error.
2292 (open_trace, writeout32, writeout16, getnum): Add SD argument.
2293 (mips_set_profile): Rename from sim_set_profile. Add SD argument.
2294 (mips_set_profile_size): Rename from sim_set_profile_size. Add SD
2295 argument.
2296 (mips_size): Rename from sim_size. Add SD argument.
2297
2298 * interp.c (simulator): Delete global variable.
2299 (callback): Delete global variable.
2300 (mips_option_handler, sim_open, sim_write, sim_read,
2301 sim_store_register, sim_fetch_register, sim_info, sim_do_command,
2302 sim_size,sim_monitor): Use sim_io_* not callback->*.
2303 (sim_open): ZALLOC simulator struct.
2304 (PROFILE): Do not define.
2305
2306Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
2307
2308 * interp.c (sim_open), support.h: Replace CHECKSIM macro found in
2309 support.h with corresponding code.
2310
2311 * sim-main.h (word64, uword64), support.h: Move definition to
2312 sim-main.h.
2313 (WORD64LO, WORD64HI, SET64LO, SET64HI, WORD64, UWORD64): Ditto.
2314
2315 * support.h: Delete
2316 * Makefile.in: Update dependencies
2317 * interp.c: Do not include.
2318
2319Tue Oct 14 13:35:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
2320
2321 * interp.c (address_translation, load_memory, store_memory,
2322 cache_op): Rename to from AddressTranslation et.al., make global,
2323 add SD argument
2324
2325 * sim-main.h (AddressTranslation, LoadMemory, StoreMemory,
2326 CacheOp): Define.
2327
2328 * interp.c (SignalException): Rename to signal_exception, make
2329 global.
2330
2331 * interp.c (Interrupt, ...): Move definitions to sim-main.h.
2332
2333 * sim-main.h (SignalException, SignalExceptionInterrupt,
2334 SignalExceptionInstructionFetch, SignalExceptionAddressStore,
2335 SignalExceptionAddressLoad, SignalExceptionSimulatorFault,
2336 SignalExceptionIntegerOverflow, SignalExceptionCoProcessorUnusable):
2337 Define.
2338
2339 * interp.c, support.h: Use.
2340
2341Tue Oct 14 13:19:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2342
2343 * interp.c (ValueFPR, StoreFPR), sim-main.h: Make global, rename
2344 to value_fpr / store_fpr. Add SD argument.
2345 (NaN, Infinity, Less, Equal, AbsoluteValue, Negate, Add, Sub,
2346 Multiply, Divide, Recip, SquareRoot, Convert): Make global.
2347
2348 * sim-main.h (ValueFPR, StoreFPR): Define.
2349
2350Tue Oct 14 13:06:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
2351
2352 * interp.c (sim_engine_run): Check consistency between configure
2353 WITH_TARGET_WORD_BITSIZE and WITH_FLOATING_POINT and gensim GPRLEN
2354 and HASFPU.
2355
2356 * configure.in (mips_bitsize): Configure WITH_TARGET_WORD_BITSIZE.
2357 (mips_fpu): Configure WITH_FLOATING_POINT.
2358 (mips_endian): Configure WITH_TARGET_ENDIAN.
2359 * configure: Update.
2360
2361Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
2362
2363 * configure: Regenerated to track ../common/aclocal.m4 changes.
2364
2365Mon Sep 29 14:45:00 1997 Bob Manson <manson@charmed.cygnus.com>
2366
2367 * configure: Regenerated.
2368
2369Fri Sep 26 12:48:18 1997 Mark Alexander <marka@cygnus.com>
2370
2371 * interp.c: Allow Debug, DEPC, and EPC registers to be examined in GDB.
2372
2373Thu Sep 25 11:15:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2374
2375 * gencode.c (print_igen_insn_models): Assume certain architectures
2376 include all mips* instructions.
2377 (print_igen_insn_format): Use data_size==-1 as marker for MIPS16
2378 instruction.
2379
2380 * Makefile.in (tmp.igen): Add target. Generate igen input from
2381 gencode file.
2382
2383 * gencode.c (FEATURE_IGEN): Define.
2384 (main): Add --igen option. Generate output in igen format.
2385 (process_instructions): Format output according to igen option.
2386 (print_igen_insn_format): New function.
2387 (print_igen_insn_models): New function.
2388 (process_instructions): Only issue warnings and ignore
2389 instructions when no FEATURE_IGEN.
2390
2391Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
2392
2393 * interp.c (COP_SD, COP_LD): Add UNUSED to pacify GCC for some
2394 MIPS targets.
2395
2396Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
2397
2398 * configure: Regenerated to track ../common/aclocal.m4 changes.
2399
2400Tue Sep 23 10:19:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
2401
2402 * Makefile.in (SIM_ALIGNMENT, SIM_ENDIAN, SIM_HOSTENDIAN,
2403 SIM_RESERVED_BITS): Delete, moved to common.
2404 (SIM_EXTRA_CFLAGS): Update.
2405
2406Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2407
2408 * configure.in: Configure non-strict memory alignment.
2409 * configure: Regenerated to track ../common/aclocal.m4 changes.
2410
2411Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
2412
2413 * configure: Regenerated to track ../common/aclocal.m4 changes.
2414
2415Sat Sep 20 14:07:28 1997 Gavin Koch <gavin@cygnus.com>
2416
2417 * gencode.c (SDBBP,DERET): Added (3900) insns.
2418 (RFE): Turn on for 3900.
2419 * interp.c (DebugBreakPoint,DEPC,Debug,Debug_*): Added.
2420 (dsstate): Made global.
2421 (SUBTARGET_R3900): Added.
2422 (CANCELDELAYSLOT): New.
2423 (SignalException): Ignore SystemCall rather than ignore and
2424 terminate. Add DebugBreakPoint handling.
2425 (decode_coproc): New insns RFE, DERET; and new registers Debug
2426 and DEPC protected by SUBTARGET_R3900.
2427 (sim_engine_run): Use CANCELDELAYSLOT rather than clearing
2428 bits explicitly.
2429 * Makefile.in,configure.in: Add mips subtarget option.
2430 * configure: Update.
2431
2432Fri Sep 19 09:33:27 1997 Gavin Koch <gavin@cygnus.com>
2433
2434 * gencode.c: Add r3900 (tx39).
2435
2436
2437Tue Sep 16 15:52:04 1997 Gavin Koch <gavin@cygnus.com>
2438
2439 * gencode.c (build_instruction): Don't need to subtract 4 for
2440 JALR, just 2.
2441
2442Tue Sep 16 11:32:28 1997 Gavin Koch <gavin@cygnus.com>
2443
2444 * interp.c: Correct some HASFPU problems.
2445
2446Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
2447
2448 * configure: Regenerated to track ../common/aclocal.m4 changes.
2449
2450Fri Sep 12 12:01:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
2451
2452 * interp.c (mips_options): Fix samples option short form, should
2453 be `x'.
2454
2455Thu Sep 11 09:35:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
2456
2457 * interp.c (sim_info): Enable info code. Was just returning.
2458
2459Tue Sep 9 17:30:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
2460
2461 * interp.c (decode_coproc): Clarify warning about unsuported MTC0,
2462 MFC0.
2463
2464Tue Sep 9 16:28:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
2465
2466 * gencode.c (build_instruction): Use SIGNED64 for 64 bit
2467 constants.
2468 (build_instruction): Ditto for LL.
2469
2470Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
2471
2472 * configure: Regenerated to track ../common/aclocal.m4 changes.
2473
2474Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2475
2476 * configure: Regenerated to track ../common/aclocal.m4 changes.
2477 * config.in: Ditto.
2478
2479Wed Aug 27 14:12:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
2480
2481 * interp.c (sim_open): Add call to sim_analyze_program, update
2482 call to sim_config.
2483
2484Tue Aug 26 10:40:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
2485
2486 * interp.c (sim_kill): Delete.
2487 (sim_create_inferior): Add ABFD argument. Set PC from same.
2488 (sim_load): Move code initializing trap handlers from here.
2489 (sim_open): To here.
2490 (sim_load): Delete, use sim-hload.c.
2491
2492 * Makefile.in (SIM_OBJS): Add sim-hload.o module.
2493
2494Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2495
2496 * configure: Regenerated to track ../common/aclocal.m4 changes.
2497 * config.in: Ditto.
2498
2499Mon Aug 25 15:59:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
2500
2501 * interp.c (sim_open): Add ABFD argument.
2502 (sim_load): Move call to sim_config from here.
2503 (sim_open): To here. Check return status.
2504
2505Fri Jul 25 15:00:45 1997 Gavin Koch <gavin@cygnus.com>
2506
2507 * gencode.c (build_instruction): Two arg MADD should
2508 not assign result to $0.
2509
2510Thu Jun 26 12:13:17 1997 Angela Marie Thomas (angela@cygnus.com)
2511
2512 * sim/mips/configure: Change default_sim_endian to 0 (bi-endian)
2513 * sim/mips/configure.in: Regenerate.
2514
2515Wed Jul 9 10:29:21 1997 Andrew Cagney <cagney@critters.cygnus.com>
2516
2517 * interp.c (SUB_REG_UW, SUB_REG_SW, SUB_REG_*): Use more explicit
2518 signed8, unsigned8 et.al. types.
2519
2520 * interp.c (SUB_REG_FETCH): Handle both little and big endian
2521 hosts when selecting subreg.
2522
2523Wed Jul 2 11:54:10 1997 Jeffrey A Law (law@cygnus.com)
2524
2525 * interp.c (sim_engine_run): Reset the ZERO register to zero
2526 regardless of FEATURE_WARN_ZERO.
2527 * gencode.c (FEATURE_WARNINGS): Remove FEATURE_WARN_ZERO.
2528
2529Wed Jun 4 10:43:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
2530
2531 * interp.c (decode_coproc): Implement MTC0 N, CAUSE.
2532 (SignalException): For BreakPoints ignore any mode bits and just
2533 save the PC.
2534 (SignalException): Always set the CAUSE register.
2535
2536Tue Jun 3 05:00:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
2537
2538 * interp.c (SignalException): Clear the simDELAYSLOT flag when an
2539 exception has been taken.
2540
2541 * interp.c: Implement the ERET and mt/f sr instructions.
2542
2543Sat May 31 00:44:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
2544
2545 * interp.c (SignalException): Don't bother restarting an
2546 interrupt.
2547
2548Fri May 30 23:41:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
2549
2550 * interp.c (SignalException): Really take an interrupt.
2551 (interrupt_event): Only deliver interrupts when enabled.
2552
2553Tue May 27 20:08:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
2554
2555 * interp.c (sim_info): Only print info when verbose.
2556 (sim_info) Use sim_io_printf for output.
2557
2558Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
2559
2560 * interp.c (CoProcPresent): Add UNUSED attribute - not used by all
2561 mips architectures.
2562
2563Tue May 27 14:22:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
2564
2565 * interp.c (sim_do_command): Check for common commands if a
2566 simulator specific command fails.
2567
2568Thu May 22 09:32:03 1997 Gavin Koch <gavin@cygnus.com>
2569
2570 * interp.c (sim_engine_run): ifdef out uses of simSTOP, simSTEP
2571 and simBE when DEBUG is defined.
2572
2573Wed May 21 09:08:10 1997 Andrew Cagney <cagney@b1.cygnus.com>
2574
2575 * interp.c (interrupt_event): New function. Pass exception event
2576 onto exception handler.
2577
2578 * configure.in: Check for stdlib.h.
2579 * configure: Regenerate.
2580
2581 * gencode.c (build_instruction): Add UNUSED attribute to tempS
2582 variable declaration.
2583 (build_instruction): Initialize memval1.
2584 (build_instruction): Add UNUSED attribute to byte, bigend,
2585 reverse.
2586 (build_operands): Ditto.
2587
2588 * interp.c: Fix GCC warnings.
2589 (sim_get_quit_code): Delete.
2590
2591 * configure.in: Add INLINE, ENDIAN, HOSTENDIAN and WARNINGS.
2592 * Makefile.in: Ditto.
2593 * configure: Re-generate.
2594
2595 * Makefile.in (SIM_OBJS): Add sim-watch.o module.
2596
2597Tue May 20 15:08:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
2598
2599 * interp.c (mips_option_handler): New function parse argumes using
2600 sim-options.
2601 (myname): Replace with STATE_MY_NAME.
2602 (sim_open): Delete check for host endianness - performed by
2603 sim_config.
2604 (simHOSTBE, simBE): Delete, replaced by sim-endian flags.
2605 (sim_open): Move much of the initialization from here.
2606 (sim_load): To here. After the image has been loaded and
2607 endianness set.
2608 (sim_open): Move ColdReset from here.
2609 (sim_create_inferior): To here.
2610 (sim_open): Make FP check less dependant on host endianness.
2611
2612 * Makefile.in (SIM_RUN_OBJS): Set to nrun.o - use new version or
2613 run.
2614 * interp.c (sim_set_callbacks): Delete.
2615
2616 * interp.c (membank, membank_base, membank_size): Replace with
2617 STATE_MEMORY, STATE_MEM_SIZE, STATE_MEM_BASE.
2618 (sim_open): Remove call to callback->init. gdb/run do this.
2619
2620 * interp.c: Update
2621
2622 * sim-main.h (SIM_HAVE_FLATMEM): Define.
2623
2624 * interp.c (big_endian_p): Delete, replaced by
2625 current_target_byte_order.
2626
2627Tue May 20 13:55:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
2628
2629 * interp.c (host_read_long, host_read_word, host_swap_word,
2630 host_swap_long): Delete. Using common sim-endian.
2631 (sim_fetch_register, sim_store_register): Use H2T.
2632 (pipeline_ticks): Delete. Handled by sim-events.
2633 (sim_info): Update.
2634 (sim_engine_run): Update.
2635
2636Tue May 20 13:42:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
2637
2638 * interp.c (sim_stop_reason): Move code determining simEXCEPTION
2639 reason from here.
2640 (SignalException): To here. Signal using sim_engine_halt.
2641 (sim_stop_reason): Delete, moved to common.
2642
2643Tue May 20 10:19:48 1997 Andrew Cagney <cagney@b2.cygnus.com>
2644
2645 * interp.c (sim_open): Add callback argument.
2646 (sim_set_callbacks): Delete SIM_DESC argument.
2647 (sim_size): Ditto.
2648
2649Mon May 19 18:20:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
2650
2651 * Makefile.in (SIM_OBJS): Add common modules.
2652
2653 * interp.c (sim_set_callbacks): Also set SD callback.
2654 (set_endianness, xfer_*, swap_*): Delete.
2655 (host_read_word, host_read_long, host_swap_word, host_swap_long):
2656 Change to functions using sim-endian macros.
2657 (control_c, sim_stop): Delete, use common version.
2658 (simulate): Convert into.
2659 (sim_engine_run): This function.
2660 (sim_resume): Delete.
2661
2662 * interp.c (simulation): New variable - the simulator object.
2663 (sim_kind): Delete global - merged into simulation.
2664 (sim_load): Cleanup. Move PC assignment from here.
2665 (sim_create_inferior): To here.
2666
2667 * sim-main.h: New file.
2668 * interp.c (sim-main.h): Include.
2669
2670Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
2671
2672 * configure: Regenerated to track ../common/aclocal.m4 changes.
2673
2674Wed Apr 23 17:32:19 1997 Doug Evans <dje@canuck.cygnus.com>
2675
2676 * tconfig.in (SIM_HAVE_BIENDIAN): Define.
2677
2678Mon Apr 21 17:16:13 1997 Gavin Koch <gavin@cygnus.com>
2679
2680 * gencode.c (build_instruction): DIV instructions: check
2681 for division by zero and integer overflow before using
2682 host's division operation.
2683
2684Thu Apr 17 03:18:14 1997 Doug Evans <dje@canuck.cygnus.com>
2685
2686 * Makefile.in (SIM_OBJS): Add sim-load.o.
2687 * interp.c: #include bfd.h.
2688 (target_byte_order): Delete.
2689 (sim_kind, myname, big_endian_p): New static locals.
2690 (sim_open): Set sim_kind, myname. Move call to set_endianness to
2691 after argument parsing. Recognize -E arg, set endianness accordingly.
2692 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
2693 load file into simulator. Set PC from bfd.
2694 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
2695 (set_endianness): Use big_endian_p instead of target_byte_order.
2696
2697Wed Apr 16 17:55:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
2698
2699 * interp.c (sim_size): Delete prototype - conflicts with
2700 definition in remote-sim.h. Correct definition.
2701
2702Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2703
2704 * configure: Regenerated to track ../common/aclocal.m4 changes.
2705 * config.in: Ditto.
2706
2707Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
2708
2709 * interp.c (sim_open): New arg `kind'.
2710
2711 * configure: Regenerated to track ../common/aclocal.m4 changes.
2712
2713Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2714
2715 * configure: Regenerated to track ../common/aclocal.m4 changes.
2716
2717Tue Mar 25 11:38:22 1997 Doug Evans <dje@canuck.cygnus.com>
2718
2719 * interp.c (sim_open): Set optind to 0 before calling getopt.
2720
2721Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2722
2723 * configure: Regenerated to track ../common/aclocal.m4 changes.
2724
2725Mon Mar 17 10:52:59 1997 Gavin Koch <gavin@cetus.cygnus.com>
2726
2727 * interp.c : Replace uses of pr_addr with pr_uword64
2728 where the bit length is always 64 independent of SIM_ADDR.
2729 (pr_uword64) : added.
2730
2731Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2732
2733 * configure: Re-generate.
2734
2735Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
2736
2737 * configure: Regenerate to track ../common/aclocal.m4 changes.
2738
2739Thu Mar 13 12:51:36 1997 Doug Evans <dje@canuck.cygnus.com>
2740
2741 * interp.c (sim_open): New SIM_DESC result. Argument is now
2742 in argv form.
2743 (other sim_*): New SIM_DESC argument.
2744
2745Mon Feb 24 22:47:14 1997 Dawn Perchik <dawn@cygnus.com>
2746
2747 * interp.c: Fix printing of addresses for non-64-bit targets.
2748 (pr_addr): Add function to print address based on size.
2749
2750Wed Feb 19 14:42:09 1997 Mark Alexander <marka@cygnus.com>
2751
2752 * interp.c (simopen): Add support for LSI MiniRISC PMON vectors.
2753
2754Thu Feb 13 14:08:30 1997 Ian Lance Taylor <ian@cygnus.com>
2755
2756 * gencode.c (build_mips16_operands): Correct computation of base
2757 address for extended PC relative instruction.
2758
2759Thu Feb 6 17:16:15 1997 Ian Lance Taylor <ian@cygnus.com>
2760
2761 * interp.c (mips16_entry): Add support for floating point cases.
2762 (SignalException): Pass floating point cases to mips16_entry.
2763 (ValueFPR): Don't restrict fmt_single and fmt_word to even
2764 registers.
2765 (StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
2766 or fmt_word.
2767 (COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
2768 and then set the state to fmt_uninterpreted.
2769 (COP_SW): Temporarily set the state to fmt_word while calling
2770 ValueFPR.
2771
2772Tue Feb 4 16:48:25 1997 Ian Lance Taylor <ian@cygnus.com>
2773
2774 * gencode.c (build_instruction): The high order may be set in the
2775 comparison flags at any ISA level, not just ISA 4.
2776
2777Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
2778
2779 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
2780 COMMON_{PRE,POST}_CONFIG_FRAG instead.
2781 * configure.in: sinclude ../common/aclocal.m4.
2782 * configure: Regenerated.
2783
2784Fri Jan 31 11:11:45 1997 Ian Lance Taylor <ian@cygnus.com>
2785
2786 * configure: Rebuild after change to aclocal.m4.
2787
2788Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
2789
2790 * configure configure.in Makefile.in: Update to new configure
2791 scheme which is more compatible with WinGDB builds.
2792 * configure.in: Improve comment on how to run autoconf.
2793 * configure: Re-run autoconf to get new ../common/aclocal.m4.
2794 * Makefile.in: Use autoconf substitution to install common
2795 makefile fragment.
2796
2797Wed Jan 8 12:39:03 1997 Jim Wilson <wilson@cygnus.com>
2798
2799 * gencode.c (build_instruction): Use BigEndianCPU instead of
2800 ByteSwapMem.
2801
2802Thu Jan 02 22:23:04 1997 Mark Alexander <marka@cygnus.com>
2803
2804 * interp.c (sim_monitor): Make output to stdout visible in
2805 wingdb's I/O log window.
2806
2807Tue Dec 31 07:04:00 1996 Mark Alexander <marka@cygnus.com>
2808
2809 * support.h: Undo previous change to SIGTRAP
2810 and SIGQUIT values.
2811
2812Mon Dec 30 17:36:06 1996 Ian Lance Taylor <ian@cygnus.com>
2813
2814 * interp.c (store_word, load_word): New static functions.
2815 (mips16_entry): New static function.
2816 (SignalException): Look for mips16 entry and exit instructions.
2817 (simulate): Use the correct index when setting fpr_state after
2818 doing a pending move.
2819
2820Sun Dec 29 09:37:18 1996 Mark Alexander <marka@cygnus.com>
2821
2822 * interp.c: Fix byte-swapping code throughout to work on
2823 both little- and big-endian hosts.
2824
2825Sun Dec 29 09:18:32 1996 Mark Alexander <marka@cygnus.com>
2826
2827 * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
2828 with gdb/config/i386/xm-windows.h.
2829
2830Fri Dec 27 22:48:51 1996 Mark Alexander <marka@cygnus.com>
2831
2832 * gencode.c (build_instruction): Work around MSVC++ code gen bug
2833 that messes up arithmetic shifts.
2834
2835Fri Dec 20 11:04:05 1996 Stu Grossman (grossman@critters.cygnus.com)
2836
2837 * support.h: Use _WIN32 instead of __WIN32__. Also add defs for
2838 SIGTRAP and SIGQUIT for _WIN32.
2839
2840Thu Dec 19 14:07:27 1996 Ian Lance Taylor <ian@cygnus.com>
2841
2842 * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
2843 force a 64 bit multiplication.
2844 (build_instruction) [OR]: In mips16 mode, don't do anything if the
2845 destination register is 0, since that is the default mips16 nop
2846 instruction.
2847
2848Mon Dec 16 14:59:38 1996 Ian Lance Taylor <ian@cygnus.com>
2849
2850 * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
2851 (build_endian_shift): Don't check proc64.
2852 (build_instruction): Always set memval to uword64. Cast op2 to
2853 uword64 when shifting it left in memory instructions. Always use
2854 the same code for stores--don't special case proc64.
2855
2856 * gencode.c (build_mips16_operands): Fix base PC value for PC
2857 relative operands.
2858 (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
2859 jal instruction.
2860 * interp.c (simJALDELAYSLOT): Define.
2861 (JALDELAYSLOT): Define.
2862 (INDELAYSLOT, INJALDELAYSLOT): Define.
2863 (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
2864
2865Tue Dec 24 22:11:20 1996 Angela Marie Thomas (angela@cygnus.com)
2866
2867 * interp.c (sim_open): add flush_cache as a PMON routine
2868 (sim_monitor): handle flush_cache by ignoring it
2869
2870Wed Dec 11 13:53:51 1996 Jim Wilson <wilson@cygnus.com>
2871
2872 * gencode.c (build_instruction): Use !ByteSwapMem instead of
2873 BigEndianMem.
2874 * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
2875 (BigEndianMem): Rename to ByteSwapMem and change sense.
2876 (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
2877 BigEndianMem references to !ByteSwapMem.
2878 (set_endianness): New function, with prototype.
2879 (sim_open): Call set_endianness.
2880 (sim_info): Use simBE instead of BigEndianMem.
2881 (xfer_direct_word, xfer_direct_long, swap_direct_word,
2882 swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word,
2883 xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER
2884 ifdefs, keeping the prototype declaration.
2885 (swap_word): Rewrite correctly.
2886 (ColdReset): Delete references to CONFIG. Delete endianness related
2887 code; moved to set_endianness.
2888
2889Tue Dec 10 11:32:04 1996 Jim Wilson <wilson@cygnus.com>
2890
2891 * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
2892 * interp.c (CHECKHILO): Define away.
2893 (simSIGINT): New macro.
2894 (membank_size): Increase from 1MB to 2MB.
2895 (control_c): New function.
2896 (sim_resume): Rename parameter signal to signal_number. Add local
2897 variable prev. Call signal before and after simulate.
2898 (sim_stop_reason): Add simSIGINT support.
2899 (sim_warning, sim_error, dotrace, SignalException): Define as stdarg
2900 functions always.
2901 (sim_warning): Delete call to SignalException. Do call printf_filtered
2902 if logfh is NULL.
2903 (AddressTranslation): Add #ifdef DEBUG around debugging message and
2904 a call to sim_warning.
2905
2906Wed Nov 27 11:53:50 1996 Ian Lance Taylor <ian@cygnus.com>
2907
2908 * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
2909 16 bit instructions.
2910
2911Tue Nov 26 11:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
2912
2913 Add support for mips16 (16 bit MIPS implementation):
2914 * gencode.c (inst_type): Add mips16 instruction encoding types.
2915 (GETDATASIZEINSN): Define.
2916 (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
2917 jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
2918 mtlo.
2919 (MIPS16_DECODE): New table, for mips16 instructions.
2920 (bitmap_val): New static function.
2921 (struct mips16_op): Define.
2922 (mips16_op_table): New table, for mips16 operands.
2923 (build_mips16_operands): New static function.
2924 (process_instructions): If PC is odd, decode a mips16
2925 instruction. Break out instruction handling into new
2926 build_instruction function.
2927 (build_instruction): New static function, broken out of
2928 process_instructions. Check modifiers rather than flags for SHIFT
2929 bit count and m[ft]{hi,lo} direction.
2930 (usage): Pass program name to fprintf.
2931 (main): Remove unused variable this_option_optind. Change
2932 ``*loptarg++'' to ``loptarg++''.
2933 (my_strtoul): Parenthesize && within ||.
2934 * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd.
2935 (simulate): If PC is odd, fetch a 16 bit instruction, and
2936 increment PC by 2 rather than 4.
2937 * configure.in: Add case for mips16*-*-*.
2938 * configure: Rebuild.
2939
2940Fri Nov 22 08:49:36 1996 Mark Alexander <marka@cygnus.com>
2941
2942 * interp.c: Allow -t to enable tracing in standalone simulator.
2943 Fix garbage output in trace file and error messages.
2944
2945Wed Nov 20 01:54:37 1996 Doug Evans <dje@canuck.cygnus.com>
2946
2947 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
2948 (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
2949 * configure.in: Simplify using macros in ../common/aclocal.m4.
2950 * configure: Regenerated.
2951 * tconfig.in: New file.
2952
2953Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
2954
2955 * interp.c: Fix bugs in 64-bit port.
2956 Use ansi function declarations for msvc compiler.
2957 Initialize and test file pointer in trace code.
2958 Prevent duplicate definition of LAST_EMED_REGNUM.
2959
2960Tue Oct 15 11:07:06 1996 Mark Alexander <marka@cygnus.com>
2961
2962 * interp.c (xfer_big_long): Prevent unwanted sign extension.
2963
2964Thu Sep 26 17:35:00 1996 James G. Smith <jsmith@cygnus.co.uk>
2965
2966 * interp.c (SignalException): Check for explicit terminating
2967 breakpoint value.
2968 * gencode.c: Pass instruction value through SignalException()
2969 calls for Trap, Breakpoint and Syscall.
2970
2971Thu Sep 26 11:35:17 1996 James G. Smith <jsmith@cygnus.co.uk>
2972
2973 * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
2974 only used on those hosts that provide it.
2975 * configure.in: Add sqrt() to list of functions to be checked for.
2976 * config.in: Re-generated.
2977 * configure: Re-generated.
2978
2979Fri Sep 20 15:47:12 1996 Ian Lance Taylor <ian@cygnus.com>
2980
2981 * gencode.c (process_instructions): Call build_endian_shift when
2982 expanding STORE RIGHT, to fix swr.
2983 * support.h (SIGNEXTEND): If the sign bit is not set, explicitly
2984 clear the high bits.
2985 * interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
2986 Fix float to int conversions to produce signed values.
2987
2988Thu Sep 19 15:34:17 1996 Ian Lance Taylor <ian@cygnus.com>
2989
2990 * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction.
2991 (process_instructions): Correct handling of nor instruction.
2992 Correct shift count for 32 bit shift instructions. Correct sign
2993 extension for arithmetic shifts to not shift the number of bits in
2994 the type. Fix 64 bit multiply high word calculation. Fix 32 bit
2995 unsigned multiply. Fix ldxc1 and friends to use coprocessor 1.
2996 Fix madd.
2997 * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
2998 It's OK to have a mult follow a mult. What's not OK is to have a
2999 mult follow an mfhi.
3000 (Convert): Comment out incorrect rounding code.
3001
3002Mon Sep 16 11:38:16 1996 James G. Smith <jsmith@cygnus.co.uk>
3003
3004 * interp.c (sim_monitor): Improved monitor printf
3005 simulation. Tidied up simulator warnings, and added "--log" option
3006 for directing warning message output.
3007 * gencode.c: Use sim_warning() rather than WARNING macro.
3008
3009Thu Aug 22 15:03:12 1996 Ian Lance Taylor <ian@cygnus.com>
3010
3011 * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and
3012 getopt1.o, rather than on gencode.c. Link objects together.
3013 Don't link against -liberty.
3014 (gencode.o, getopt.o, getopt1.o): New targets.
3015 * gencode.c: Include <ctype.h> and "ansidecl.h".
3016 (AND): Undefine after including "ansidecl.h".
3017 (ULONG_MAX): Define if not defined.
3018 (OP_*): Don't define macros; now defined in opcode/mips.h.
3019 (main): Call my_strtoul rather than strtoul.
3020 (my_strtoul): New static function.
3021
3022Wed Jul 17 18:12:38 1996 Stu Grossman (grossman@critters.cygnus.com)
3023
3024 * gencode.c (process_instructions): Generate word64 and uword64
3025 instead of `long long' and `unsigned long long' data types.
3026 * interp.c: #include sysdep.h to get signals, and define default
3027 for SIGBUS.
3028 * (Convert): Work around for Visual-C++ compiler bug with type
3029 conversion.
3030 * support.h: Make things compile under Visual-C++ by using
3031 __int64 instead of `long long'. Change many refs to long long
3032 into word64/uword64 typedefs.
3033
3034Wed Jun 26 12:24:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
3035
3036 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
3037 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
3038 (docdir): Removed.
3039 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
3040 (AC_PROG_INSTALL): Added.
3041 (AC_PROG_CC): Moved to before configure.host call.
3042 * configure: Rebuilt.
3043
3044Wed Jun 5 08:28:13 1996 James G. Smith <jsmith@cygnus.co.uk>
3045
3046 * configure.in: Define @SIMCONF@ depending on mips target.
3047 * configure: Rebuild.
3048 * Makefile.in (run): Add @SIMCONF@ to control simulator
3049 construction.
3050 * gencode.c: Change LOADDRMASK to 64bit memory model only.
3051 * interp.c: Remove some debugging, provide more detailed error
3052 messages, update memory accesses to use LOADDRMASK.
3053
3054Mon Jun 3 11:55:03 1996 Ian Lance Taylor <ian@cygnus.com>
3055
3056 * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
3057 AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set
3058 stamp-h.
3059 * configure: Rebuild.
3060 * config.in: New file, generated by autoheader.
3061 * interp.c: Include "config.h". Include <stdlib.h>, <string.h>,
3062 and <strings.h> if they exist. Replace #ifdef sun with #ifdef
3063 HAVE_ANINT and HAVE_AINT, as appropriate.
3064 * Makefile.in (run): Use @LIBS@ rather than -lm.
3065 (interp.o): Depend upon config.h.
3066 (Makefile): Just rebuild Makefile.
3067 (clean): Remove stamp-h.
3068 (mostlyclean): Make the same as clean, not as distclean.
3069 (config.h, stamp-h): New targets.
3070
3071Fri May 10 00:41:17 1996 James G. Smith <jsmith@cygnus.co.uk>
3072
3073 * interp.c (ColdReset): Fix boolean test. Make all simulator
3074 globals static.
3075
3076Wed May 8 15:12:58 1996 James G. Smith <jsmith@cygnus.co.uk>
3077
3078 * interp.c (xfer_direct_word, xfer_direct_long,
3079 swap_direct_word, swap_direct_long, xfer_big_word,
3080 xfer_big_long, xfer_little_word, xfer_little_long,
3081 swap_word,swap_long): Added.
3082 * interp.c (ColdReset): Provide function indirection to
3083 host<->simulated_target transfer routines.
3084 * interp.c (sim_store_register, sim_fetch_register): Updated to
3085 make use of indirected transfer routines.
3086
3087Fri Apr 19 15:48:24 1996 James G. Smith <jsmith@cygnus.co.uk>
3088
3089 * gencode.c (process_instructions): Ensure FP ABS instruction
3090 recognised.
3091 * interp.c (AbsoluteValue): Add routine. Also provide simple PMON
3092 system call support.
3093
3094Wed Apr 10 09:51:38 1996 James G. Smith <jsmith@cygnus.co.uk>
3095
3096 * interp.c (sim_do_command): Complain if callback structure not
3097 initialised.
3098
3099Thu Mar 28 13:50:51 1996 James G. Smith <jsmith@cygnus.co.uk>
3100
3101 * interp.c (Convert): Provide round-to-nearest and round-to-zero
3102 support for Sun hosts.
3103 * Makefile.in (gencode): Ensure the host compiler and libraries
3104 used for cross-hosted build.
3105
3106Wed Mar 27 14:42:12 1996 James G. Smith <jsmith@cygnus.co.uk>
3107
3108 * interp.c, gencode.c: Some more (TODO) tidying.
3109
3110Thu Mar 7 11:19:33 1996 James G. Smith <jsmith@cygnus.co.uk>
3111
3112 * gencode.c, interp.c: Replaced explicit long long references with
3113 WORD64HI, WORD64LO, SET64HI and SET64LO macro calls.
3114 * support.h (SET64LO, SET64HI): Macros added.
3115
3116Wed Feb 21 12:16:21 1996 Ian Lance Taylor <ian@cygnus.com>
3117
3118 * configure: Regenerate with autoconf 2.7.
3119
3120Tue Jan 30 08:48:18 1996 Fred Fish <fnf@cygnus.com>
3121
3122 * interp.c (LoadMemory): Enclose text following #endif in /* */.
3123 * support.h: Remove superfluous "1" from #if.
3124 * support.h (CHECKSIM): Remove stray 'a' at end of line.
3125
3126Mon Dec 4 11:44:40 1995 Jamie Smith <jsmith@cygnus.com>
3127
3128 * interp.c (StoreFPR): Control UndefinedResult() call on
3129 WARN_RESULT manifest.
3130
3131Fri Dec 1 16:37:19 1995 James G. Smith <jsmith@cygnus.co.uk>
3132
3133 * gencode.c: Tidied instruction decoding, and added FP instruction
3134 support.
3135
3136 * interp.c: Added dineroIII, and BSD profiling support. Also
3137 run-time FP handling.
3138
3139Sun Oct 22 00:57:18 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
3140
3141 * Changelog, Makefile.in, README.Cygnus, configure, configure.in,
3142 gencode.c, interp.c, support.h: created.