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