]> Git Repo - binutils.git/blame - sim/mips/ChangeLog
2002-03-19 Chris G. Demetriou <[email protected]>
[binutils.git] / sim / mips / ChangeLog
CommitLineData
487f79b7
CD
12002-03-19 Chris G. Demetriou <[email protected]>
2
3 * interp.c: Move FPU support routines from here to...
4 * cp1.c: Here. New file.
5 * Makefile.in (SIM_OBJS): Add cp1.o to object list.
6 (cp1.o): New target.
7
1e799e28
CD
82002-03-12 Chris Demetriou <[email protected]>
9
10 * configure.in (mipsisa32*-*-*, mipsisa64*-*-*): New targets.
11 * mips.igen (mips32, mips64): New models, add to all instructions
12 and functions as appropriate.
13 (loadstore_ea, check_u64): New variant for model mips64.
14 (check_fmt_p): New variant for models mipsV and mips64, remove
15 mipsV model marking fro other variant.
16 (SLL) Rename to...
17 (SLLa) this.
18 (CLO, CLZ, MADD, MADDU, MSUB, MSUBU, MUL, SLLb): New instructions
19 for mips32 and mips64.
20 (DCLO, DCLZ): New instructions for mips64.
21
82f728db
CD
222002-03-07 Chris Demetriou <[email protected]>
23
24 * mips.igen (BREAK, LUI, ORI, SYSCALL, XORI): Print
25 immediate or code as a hex value with the "%#lx" format.
26 (ANDI): Likewise, and fix printed instruction name.
27
b96e7ef1
CD
282002-03-05 Chris Demetriou <[email protected]>
29
30 * sim-main.h (UndefinedResult, Unpredictable): New macros
31 which currently do nothing.
32
d35d4f70
CD
332002-03-05 Chris Demetriou <[email protected]>
34
35 * sim-main.h (status_UX, status_SX, status_KX, status_TS)
36 (status_PX, status_MX, status_CU0, status_CU1, status_CU2)
37 (status_CU3): New definitions.
38
39 * sim-main.h (ExceptionCause): Add new values for MIPS32
40 and MIPS64: MDMX, MCheck, CacheErr. Update comments
41 for DebugBreakPoint and NMIReset to note their status in
42 MIPS32 and MIPS64.
43 (SignalExceptionMDMX, SignalExceptionWatch, SignalExceptionMCheck)
44 (SignalExceptionCacheErr): New exception macros.
45
3ad6f714
CD
462002-03-05 Chris Demetriou <[email protected]>
47
48 * mips.igen (check_fpu): Enable check for coprocessor 1 usability.
49 * sim-main.h (COP_Usable): Define, but for now coprocessor 1
50 is always enabled.
51 (SignalExceptionCoProcessorUnusable): Take as argument the
52 unusable coprocessor number.
53
86b77b47
CD
542002-03-05 Chris Demetriou <[email protected]>
55
56 * mips.igen: Fix formatting of all SignalException calls.
57
97a88e93 582002-03-05 Chris Demetriou <[email protected]>
3dea6720
CD
59
60 * sim-main.h (SIGNEXTEND): Remove.
61
97a88e93 622002-03-04 Chris Demetriou <[email protected]>
b5040d49
CD
63
64 * mips.igen: Remove gencode comment from top of file, fix
65 spelling in another comment.
66
97a88e93 672002-03-04 Chris Demetriou <[email protected]>
8612006b
CD
68
69 * mips.igen (check_fmt, check_fmt_p): New functions to check
70 whether specific floating point formats are usable.
71 (ABS.fmt, ADD.fmt, CEIL.L.fmt, CEIL.W, DIV.fmt, FLOOR.L.fmt)
72 (FLOOR.W.fmt, MOV.fmt, MUL.fmt, NEG.fmt, RECIP.fmt, ROUND.L.fmt)
73 (ROUND.W.fmt, RSQRT.fmt, SQRT.fmt, SUB.fmt, TRUNC.L.fmt, TRUNC.W):
74 Use the new functions.
75 (do_c_cond_fmt): Remove format checks...
76 (C.cond.fmta, C.cond.fmtb): And move them into all callers.
77
97a88e93 782002-03-03 Chris Demetriou <[email protected]>
9b17d183
CD
79
80 * mips.igen: Fix formatting of check_fpu calls.
81
41774c9d
CD
822002-03-03 Chris Demetriou <[email protected]>
83
84 * mips.igen (FLOOR.L.fmt): Store correct destination register.
85
4a0bd876
CD
862002-03-03 Chris Demetriou <[email protected]>
87
88 * mips.igen: Remove whitespace at end of lines.
89
09297648
CD
902002-03-02 Chris Demetriou <[email protected]>
91
92 * mips.igen (loadstore_ea): New function to do effective
93 address calculations.
94 (do_load, do_load_left, do_load_right, LL, LDD, PREF, do_store,
95 do_store_left, do_store_right, SC, SCD, PREFX, SWC1, SWXC1,
96 CACHE): Use loadstore_ea to do effective address computations.
97
043b7057
CD
982002-03-02 Chris Demetriou <[email protected]>
99
100 * interp.c (load_word): Use EXTEND32 rather than SIGNEXTEND.
101 * mips.igen (LL, CxC1, MxC1): Likewise.
102
c1e8ada4
CD
1032002-03-02 Chris Demetriou <[email protected]>
104
105 * mips.igen (LL, LLD, PREF, SC, SCD, ABS.fmt, ADD.fmt, CEIL.L.fmt,
106 CEIL.W, CVT.D.fmt, CVT.L.fmt, CVT.S.fmt, CVT.W.fmt, DIV.fmt,
107 FLOOR.L.fmt, FLOOR.W.fmt, MADD.D, MADD.S, MOV.fmt, MOVtf.fmt,
108 MSUB.D, MSUB.S, MUL.fmt, NEG.fmt, NMADD.D, NMADD.S, NMSUB.D,
109 NMSUB.S, PREFX, RECIP.fmt, ROUND.L.fmt, ROUND.W.fmt, RSQRT.fmt,
110 SQRT.fmt, SUB.fmt, SWC1, SWXC1, TRUNC.L.fmt, TRUNC.W, CACHE):
111 Don't split opcode fields by hand, use the opcode field values
112 provided by igen.
113
3e1dca16
CD
1142002-03-01 Chris Demetriou <[email protected]>
115
116 * mips.igen (do_divu): Fix spacing.
117
118 * mips.igen (do_dsllv): Move to be right before DSLLV,
119 to match the rest of the do_<shift> functions.
120
fff8d27d
CD
1212002-03-01 Chris Demetriou <[email protected]>
122
123 * mips.igen (do_dsll, do_dsllv, DSLL32, do_dsra, DSRA32, do_dsrl,
124 DSRL32, do_dsrlv): Trace inputs and results.
125
0d3e762b
CD
1262002-03-01 Chris Demetriou <[email protected]>
127
128 * mips.igen (CACHE): Provide instruction-printing string.
129
130 * interp.c (signal_exception): Comment tokens after #endif.
131
eb5fcf93
CD
1322002-02-28 Chris Demetriou <[email protected]>
133
134 * mips.igen (LWXC1): Mark with filter "64,f", rather than just "32".
135 (MOVtf, MxC1, MxC1, DMxC1, DMxC1, CxC1, CxC1, SQRT.fmt, MOV.fmt,
136 NEG.fmt, ROUND.L.fmt, TRUNC.L.fmt, CEIL.L.fmt, FLOOR.L.fmt,
137 ROUND.W.fmt, TRUNC.W, CEIL.W, FLOOR.W.fmt, RECIP.fmt, RSQRT.fmt,
138 CVT.S.fmt, CVT.D.fmt, CVT.W.fmt, CVT.L.fmt, MOVtf.fmt, C.cond.fmta,
139 C.cond.fmtb, SUB.fmt, MUL.fmt, DIV.fmt, MOVZ.fmt, MOVN.fmt, LDXC1,
140 SWXC1, SDXC1, MSUB.D, MSUB.S, NMADD.S, NMADD.D, NMSUB.S, NMSUB.D,
141 LWC1, SWC1): Add "f" to filter, since these are FP instructions.
142
bb22bd7d
CD
1432002-02-28 Chris Demetriou <[email protected]>
144
145 * mips.igen (DSRA32, DSRAV): Fix order of arguments in
146 instruction-printing string.
147 (LWU): Use '64' as the filter flag.
148
91a177cf
CD
1492002-02-28 Chris Demetriou <[email protected]>
150
151 * mips.igen (SDXC1): Fix instruction-printing string.
152
387f484a
CD
1532002-02-28 Chris Demetriou <[email protected]>
154
155 * mips.igen (LDC1, SDC1): Remove mipsI model, and mark with
156 filter flags "32,f".
157
3d81f391
CD
1582002-02-27 Chris Demetriou <[email protected]>
159
160 * mips.igen (PREFX): This is a 64-bit instruction, use '64'
161 as the filter flag.
162
af5107af
CD
1632002-02-27 Chris Demetriou <[email protected]>
164
165 * mips.igen (PREFX): Tweak instruction opcode fields (i.e.,
166 add a comma) so that it more closely match the MIPS ISA
167 documentation opcode partitioning.
168 (PREF): Put useful names on opcode fields, and include
169 instruction-printing string.
170
ca971540
CD
1712002-02-27 Chris Demetriou <[email protected]>
172
173 * mips.igen (check_u64): New function which in the future will
174 check whether 64-bit instructions are usable and signal an
175 exception if not. Currently a no-op.
176 (DADD, DADDI, DADDIU, DADDU, DDIV, DDIVU, DMULT, DMULTU, DSLL,
177 DSLL32, DSLLV, DSRA, DSRA32, DSRAV, DSRL, DSRL32, DSRLV, DSUB,
178 DSUBU, LD, LDL, LDR, LLD, LWU, SCD, SD, SDL, SDR, DMxC1, LDXC1,
179 LWXC1, SDXC1, SWXC1, DMFC0, DMTC0): Use check_u64.
180
181 * mips.igen (check_fpu): New function which in the future will
182 check whether FPU instructions are usable and signal an exception
183 if not. Currently a no-op.
184 (ABS.fmt, ADD.fmt, BC1a, BC1b, C.cond.fmta, C.cond.fmtb,
185 CEIL.L.fmt, CEIL.W, CxC1, CVT.D.fmt, CVT.L.fmt, CVT.S.fmt,
186 CVT.W.fmt, DIV.fmt, DMxC1, DMxC1, FLOOR.L.fmt, FLOOR.W.fmt, LDC1,
187 LDXC1, LWC1, LWXC1, MADD.D, MADD.S, MxC1, MOV.fmt, MOVtf,
188 MOVtf.fmt, MOVN.fmt, MOVZ.fmt, MSUB.D, MSUB.S, MUL.fmt, NEG.fmt,
189 NMADD.D, NMADD.S, NMSUB.D, NMSUB.S, RECIP.fmt, ROUND.L.fmt,
190 ROUND.W.fmt, RSQRT.fmt, SDC1, SDXC1, SQRT.fmt, SUB.fmt, SWC1,
191 SWXC1, TRUNC.L.fmt, TRUNC.W): Use check_fpu.
192
1c47a468
CD
1932002-02-27 Chris Demetriou <[email protected]>
194
195 * mips.igen (do_load_left, do_load_right): Move to be immediately
196 following do_load.
197 (do_store_left, do_store_right): Move to be immediately following
198 do_store.
199
603a98e7
CD
2002002-02-27 Chris Demetriou <[email protected]>
201
202 * mips.igen (mipsV): New model name. Also, add it to
203 all instructions and functions where it is appropriate.
204
c5d00cc7
CD
2052002-02-18 Chris Demetriou <[email protected]>
206
207 * mips.igen: For all functions and instructions, list model
208 names that support that instruction one per line.
209
074e9cb8
CD
2102002-02-11 Chris Demetriou <[email protected]>
211
212 * mips.igen: Add some additional comments about supported
213 models, and about which instructions go where.
214 (BC1b, MFC0, MTC0, RFE): Sort supported models in the same
215 order as is used in the rest of the file.
216
9805e229
CD
2172002-02-11 Chris Demetriou <[email protected]>
218
219 * mips.igen (ADD, ADDI, DADDI, DSUB, SUB): Add comment
220 indicating that ALU32_END or ALU64_END are there to check
221 for overflow.
222 (DADD): Likewise, but also remove previous comment about
223 overflow checking.
224
f701dad2
CD
2252002-02-10 Chris Demetriou <[email protected]>
226
227 * mips.igen (DDIV, DIV, DIVU, DMULT, DMULTU, DSLL, DSLL32,
228 DSLLV, DSRA, DSRA32, DSRAV, DSRL, DSRL32, DSRLV, DSUB, DSUBU,
229 JALR, JR, MOVN, MOVZ, MTLO, MULT, MULTU, SLL, SLLV, SLT, SLTU,
230 SRAV, SRLV, SUB, SUBU, SYNC, XOR, MOVtf, DI, DMFC0, DMTC0, EI,
231 ERET, RFE, TLBP, TLBR, TLBWI, TLBWR): Tweak instruction opcode
232 fields (i.e., add and move commas) so that they more closely
233 match the MIPS ISA documentation opcode partitioning.
234
2352002-02-10 Chris Demetriou <[email protected]>
20ae0098
CD
236
237 * mips.igen (ADDI): Print immediate value.
238 (BREAK): Print code.
239 (DADDIU, DSRAV, DSRLV): Print correct instruction name.
240 (SLL): Print "nop" specially, and don't run the code
241 that does the shift for the "nop" case.
242
9e52972e
FF
2432001-11-17 Fred Fish <[email protected]>
244
245 * sim-main.h (float_operation): Move enum declaration outside
246 of _sim_cpu struct declaration.
247
c0efbca4
JB
2482001-04-12 Jim Blandy <[email protected]>
249
250 * mips.igen (CFC1, CTC1): Pass the correct register numbers to
251 PENDING_FILL. Use PENDING_SCHED directly to handle the pending
252 set of the FCSR.
253 * sim-main.h (COCIDX): Remove definition; this isn't supported by
254 PENDING_FILL, and you can get the intended effect gracefully by
255 calling PENDING_SCHED directly.
256
fb891446
BE
2572001-02-23 Ben Elliston <[email protected]>
258
259 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Only define if not
260 already defined elsewhere.
261
8030f857
BE
2622001-02-19 Ben Elliston <[email protected]>
263
264 * sim-main.h (sim_monitor): Return an int.
265 * interp.c (sim_monitor): Add return values.
266 (signal_exception): Handle error conditions from sim_monitor.
267
56b48a7a
CD
2682001-02-08 Ben Elliston <[email protected]>
269
270 * sim-main.c (load_memory): Pass cia to sim_core_read* functions.
271 (store_memory): Likewise, pass cia to sim_core_write*.
272
d3ee60d9
FCE
2732000-10-19 Frank Ch. Eigler <[email protected]>
274
275 On advice from Chris G. Demetriou <[email protected]>:
276 * sim-main.h (GPR_CLEAR): Remove unused alternative macro.
277
071da002
AC
278Thu Jul 27 22:02:05 2000 Andrew Cagney <[email protected]>
279
280 From Maciej W. Rozycki <[email protected]>:
281 * Makefile.in: Don't delete *.igen when cleaning directory.
282
a28c02cd
AC
283Wed Jul 19 18:50:51 2000 Andrew Cagney <[email protected]>
284
285 * m16.igen (break): Call SignalException not sim_engine_halt.
286
80ee11fa
AC
287Mon Jul 3 11:13:20 2000 Andrew Cagney <[email protected]>
288
289 From Jason Eckhardt:
290 * mips.igen (MOVZ.fmt, MOVN.fmt): Move conditional on GPR[RT].
291
673388c0
AC
292Tue Jun 13 20:52:07 2000 Andrew Cagney <[email protected]>
293
294 * mips.igen (MxC1, DMxC1): Fix printf formatting.
295
4c0deff4
NC
2962000-05-24 Michael Hayes <[email protected]>
297
298 * mips.igen (do_dmultx): Fix typo.
299
eb2d80b4
AC
300Tue May 23 21:39:23 2000 Andrew Cagney <[email protected]>
301
302 * configure: Regenerated to track ../common/aclocal.m4 changes.
303
dd37a34b
AC
304Fri Apr 28 20:48:36 2000 Andrew Cagney <[email protected]>
305
306 * mips.igen (DMxC1): Fix format arguments for sim_io_eprintf call.
307
4c0deff4
NC
3082000-04-12 Frank Ch. Eigler <[email protected]>
309
310 * sim-main.h (GPR_CLEAR): Define macro.
311
e30db738
AC
312Mon Apr 10 00:07:09 2000 Andrew Cagney <[email protected]>
313
314 * interp.c (decode_coproc): Output long using %lx and not %s.
315
cb7450ea
FCE
3162000-03-21 Frank Ch. Eigler <[email protected]>
317
318 * interp.c (sim_open): Sort & extend dummy memory regions for
319 --board=jmr3904 for eCos.
320
a3027dd7
FCE
3212000-03-02 Frank Ch. Eigler <[email protected]>
322
323 * configure: Regenerated.
324
325Tue Feb 8 18:35:01 2000 Donald Lindsay <[email protected]>
326
327 * interp.c, mips.igen: all 5 DEADC0DE situations now have sim_io_eprintf
328 calls, conditional on the simulator being in verbose mode.
329
dfcd3bfb
JM
330Fri Feb 4 09:45:15 2000 Donald Lindsay <[email protected]>
331
332 * sim-main.c (cache_op): Added case arm so that CACHE ops to a secondary
333 cache don't get ReservedInstruction traps.
334
c2d11a7d
JM
3351999-11-29 Mark Salter <[email protected]>
336
337 * dv-tx3904sio.c (tx3904sio_io_write_buffer): Use write value as a mask
338 to clear status bits in sdisr register. This is how the hardware works.
339
340 * interp.c (sim_open): Added more memory aliases for jmr3904 hardware
341 being used by cygmon.
342
4ce44c66
JM
3431999-11-11 Andrew Haley <[email protected]>
344
345 * interp.c (decode_coproc): Correctly handle DMFC0 and DMTC0
346 instructions.
347
cff3e48b
JM
348Thu Sep 9 15:12:08 1999 Geoffrey Keating <[email protected]>
349
350 * mips.igen (MULT): Correct previous mis-applied patch.
351
d4f3574e
SS
352Tue Sep 7 13:34:54 1999 Geoffrey Keating <[email protected]>
353
354 * mips.igen (delayslot32): Handle sequence like
355 mtc1 $at,$f12 ; jal fp_add ; mov.s $f13,$f12
356 correctly by calling ENGINE_ISSUE_PREFIX_HOOK() before issue.
357 (MULT): Actually pass the third register...
358
3591999-09-03 Mark Salter <[email protected]>
360
361 * interp.c (sim_open): Added more memory aliases for additional
362 hardware being touched by cygmon on jmr3904 board.
363
364Thu Sep 2 18:15:53 1999 Andrew Cagney <[email protected]>
365
366 * configure: Regenerated to track ../common/aclocal.m4 changes.
367
a0b3c4fd
JM
368Tue Jul 27 16:36:51 1999 Andrew Cagney <[email protected]>
369
370 * interp.c (sim_store_register): Handle case where client - GDB -
371 specifies that a 4 byte register is 8 bytes in size.
372 (sim_fetch_register): Ditto.
373
adf40b2e
JM
3741999-07-14 Frank Ch. Eigler <[email protected]>
375
376 Implement "sim firmware" option, inspired by jimb's version of 1998-01.
377 * interp.c (firmware_option_p): New global flag: "sim firmware" given.
378 (idt_monitor_base): Base address for IDT monitor traps.
379 (pmon_monitor_base): Ditto for PMON.
380 (lsipmon_monitor_base): Ditto for LSI PMON.
381 (MONITOR_BASE, MONITOR_SIZE): Removed macros.
382 (mips_option): Add "firmware" option with new OPTION_FIRMWARE key.
383 (sim_firmware_command): New function.
384 (mips_option_handler): Call it for OPTION_FIRMWARE.
385 (sim_open): Allocate memory for idt_monitor region. If "--board"
386 option was given, add no monitor by default. Add BREAK hooks only if
387 monitors are also there.
388
43e526b9
JM
389Mon Jul 12 00:02:27 1999 Andrew Cagney <[email protected]>
390
391 * interp.c (sim_monitor): Flush output before reading input.
392
393Sun Jul 11 19:28:11 1999 Andrew Cagney <[email protected]>
394
395 * tconfig.in (SIM_HANDLES_LMA): Always define.
396
397Thu Jul 8 16:06:59 1999 Andrew Cagney <[email protected]>
398
399 From Mark Salter <[email protected]>:
400 * interp.c (BOARD_BSP): Define. Add to list of possible boards.
401 (sim_open): Add setup for BSP board.
402
9846de1b
JM
403Wed Jul 7 12:45:58 1999 Andrew Cagney <[email protected]>
404
405 * mips.igen (MULT, MULTU): Add syntax for two operand version.
406 (DMFC0, DMTC0): Recognize. Call DecodeCoproc which will report
407 them as unimplemented.
408
cd0fc7c3
SS
4091999-05-08 Felix Lee <[email protected]>
410
411 * configure: Regenerated to track ../common/aclocal.m4 changes.
412
7a292a7a
SS
4131999-04-21 Frank Ch. Eigler <[email protected]>
414
415 * mips.igen (bc0f): For the TX39 only, decode this as a no-op stub.
416
417Thu Apr 15 14:15:17 1999 Andrew Cagney <[email protected]>
418
419 * configure.in: Any mips64vr5*-*-* target should have
420 -DTARGET_ENABLE_FR=1.
421 (default_endian): Any mips64vr*el-*-* target should default to
422 LITTLE_ENDIAN.
423 * configure: Re-generate.
424
4251999-02-19 Gavin Romig-Koch <[email protected]>
426
427 * mips.igen (ldl): Extend from _16_, not 32.
428
429Wed Jan 27 18:51:38 1999 Andrew Cagney <[email protected]>
430
431 * interp.c (sim_store_register): Force registers written to by GDB
432 into an un-interpreted state.
433
c906108c
SS
4341999-02-05 Frank Ch. Eigler <[email protected]>
435
436 * dv-tx3904sio.c (tx3904sio_tickle): After a polled I/O from the
437 CPU, start periodic background I/O polls.
438 (tx3904sio_poll): New function: periodic I/O poller.
439
4401998-12-30 Frank Ch. Eigler <[email protected]>
441
442 * mips.igen (BREAK): Call signal_exception instead of sim_engine_halt.
443
444Tue Dec 29 16:03:53 1998 Rainer Orth <[email protected]>
445
446 * configure.in, configure (mips64vr5*-*-*): Added missing ;; in
447 case statement.
448
4491998-12-29 Frank Ch. Eigler <[email protected]>
450
451 * interp.c (sim_open): Allocate jm3904 memory in smaller chunks.
452 (load_word): Call SIM_CORE_SIGNAL hook on error.
453 (signal_exception): Call SIM_CPU_EXCEPTION_TRIGGER hook before
454 starting. For exception dispatching, pass PC instead of NULL_CIA.
455 (decode_coproc): Use COP0_BADVADDR to store faulting address.
456 * sim-main.h (COP0_BADVADDR): Define.
457 (SIM_CORE_SIGNAL): Define hook to call mips_core_signal.
458 (SIM_CPU_EXCEPTION*): Define hooks to call mips_cpu_exception*().
459 (_sim_cpu): Add exc_* fields to store register value snapshots.
460 * mips.igen (*): Replace memory-related SignalException* calls
461 with references to SIM_CORE_SIGNAL hook.
462
463 * dv-tx3904irc.c (tx3904irc_port_event): printf format warning
464 fix.
465 * sim-main.c (*): Minor warning cleanups.
466
4671998-12-24 Gavin Romig-Koch <[email protected]>
468
469 * m16.igen (DADDIU5): Correct type-o.
470
471Mon Dec 21 10:34:48 1998 Andrew Cagney <cagney@chook>
472
473 * mips.igen (do_ddiv, do_ddivu): Pacify GCC. Update hi/lo via tmp
474 variables.
475
476Wed Dec 16 18:20:28 1998 Andrew Cagney <cagney@chook>
477
478 * Makefile.in (SIM_EXTRA_CFLAGS): No longer need to add .../newlib
479 to include path.
480 (interp.o): Add dependency on itable.h
481 (oengine.c, gencode): Delete remaining references.
482 (BUILT_SRC_FROM_GEN): Clean up.
483
4841998-12-16 Gavin Romig-Koch <[email protected]>
485
486 * vr4run.c: New.
487 * Makefile.in (SIM_HACK_OBJ,HACK_OBJS,HACK_GEN_SRCS,libhack.a,
488 tmp-hack,tmp-m32-hack,tmp-m16-hack,tmp-itable-hack,
489 tmp-run-hack) : New.
490 * m16.igen (LD,DADDIU,DADDUI5,DADJSP,DADDIUSP,DADDI,DADDU,DSUBU,
491 DSLL,DSRL,DSRA,DSLLV,DSRAV,DMULT,DMULTU,DDIV,DDIVU,JALX32,JALX):
492 Drop the "64" qualifier to get the HACK generator working.
493 Use IMMEDIATE rather than IMMED. Use SHAMT rather than SHIFT.
494 * mips.igen (do_daddiu,do_ddiv,do_divu): Remove the 64-only
495 qualifier to get the hack generator working.
496 (do_dsll,do_dsllv,do_dsra,do_dsrl,do_dsrlv): New.
497 (DSLL): Use do_dsll.
498 (DSLLV): Use do_dsllv.
499 (DSRA): Use do_dsra.
500 (DSRL): Use do_dsrl.
501 (DSRLV): Use do_dsrlv.
502 (BC1): Move *vr4100 to get the HACK generator working.
503 (CxC1, DMxC1, MxC1,MACCU,MACCHI,MACCHIU): Rename to
504 get the HACK generator working.
505 (MACC) Rename to get the HACK generator working.
506 (DMACC,MACCS,DMACCS): Add the 64.
507
5081998-12-12 Gavin Romig-Koch <[email protected]>
509
510 * mips.igen (BC1): Renamed to BC1a and BC1b to avoid conflicts.
511 * sim-main.h (SizeFGR): Handle TARGET_ENABLE_FR.
512
5131998-12-11 Gavin Romig-Koch <[email protected]>
514
515 * mips/interp.c (DEBUG): Cleanups.
516
5171998-12-10 Frank Ch. Eigler <[email protected]>
518
519 * dv-tx3904sio.c (tx3904sio_io_read_buffer): Endianness fixes.
520 (tx3904sio_tickle): fflush after a stdout character output.
521
5221998-12-03 Frank Ch. Eigler <[email protected]>
523
524 * interp.c (sim_close): Uninstall modules.
525
526Wed Nov 25 13:41:03 1998 Andrew Cagney <[email protected]>
527
528 * sim-main.h, interp.c (sim_monitor): Change to global
529 function.
530
531Wed Nov 25 17:33:24 1998 Andrew Cagney <[email protected]>
532
533 * configure.in (vr4100): Only include vr4100 instructions in
534 simulator.
535 * configure: Re-generate.
536 * m16.igen (*): Tag all mips16 instructions as also being vr4100.
537
538Mon Nov 23 18:20:36 1998 Andrew Cagney <[email protected]>
539
540 * Makefile.in (SIM_CFLAGS): Do not define WITH_IGEN.
541 * sim-main.h, sim-main.c, interp.c: Delete #if WITH_IGEN keeping
542 true alternative.
543
544 * configure.in (sim_default_gen, sim_use_gen): Replace with
545 sim_gen.
546 (--enable-sim-igen): Delete config option. Always using IGEN.
547 * configure: Re-generate.
548
549 * Makefile.in (gencode): Kill, kill, kill.
550 * gencode.c: Ditto.
551
552Mon Nov 23 18:07:36 1998 Andrew Cagney <[email protected]>
553
554 * configure.in: Configure mips64vr4100-elf nee mips64vr41* as a 64
555 bit mips16 igen simulator.
556 * configure: Re-generate.
557
558 * mips.igen (check_div_hilo, check_mult_hilo, check_mf_hilo): Mark
559 as part of vr4100 ISA.
560 * vr.igen: Mark all instructions as 64 bit only.
561
562Mon Nov 23 17:07:37 1998 Andrew Cagney <[email protected]>
563
564 * interp.c (get_cell, sim_monitor, fetch_str, CoProcPresent):
565 Pacify GCC.
566
567Mon Nov 23 13:23:40 1998 Andrew Cagney <[email protected]>
568
569 * configure.in: Configure mips-lsi-elf nee mips*lsi* as a
570 mipsIII/mips16 igen simulator. Fix sim_gen VS sim_igen typos.
571 * configure: Re-generate.
572
573 * m16.igen (BREAK): Define breakpoint instruction.
574 (JALX32): Mark instruction as mips16 and not r3900.
575 * mips.igen (C.cond.fmt): Fix typo in instruction format.
576
577 * sim-main.h (PENDING_FILL): Wrap C statements in do/while.
578
579Sat Nov 7 09:54:38 1998 Andrew Cagney <[email protected]>
580
581 * gencode.c (build_instruction - BREAK): For MIPS16, handle BREAK
582 insn as a debug breakpoint.
583
584 * sim-main.h (PENDING_SLOT_BIT): Fix, was incorrectly defined as
585 pending.slot_size.
586 (PENDING_SCHED): Clean up trace statement.
587 (PENDING_SCHED): Increment PENDING_IN and PENDING_TOTAL.
588 (PENDING_FILL): Delay write by only one cycle.
589 (PENDING_FILL): For FSRs, write fmt_uninterpreted to FPR_STATE.
590
591 * sim-main.c (pending_tick): Clean up trace statements. Add trace
592 of pending writes.
593 (pending_tick): Fix sizes in switch statements, 4 & 8 instead of
594 32 & 64.
595 (pending_tick): Move incrementing of index to FOR statement.
596 (pending_tick): Only update PENDING_OUT after a write has occured.
597
598 * configure.in: Add explicit mips-lsi-* target. Use gencode to
599 build simulator.
600 * configure: Re-generate.
601
602 * interp.c (sim_engine_run OLD): Delete explicit call to
603 PENDING_TICK. Now called via ENGINE_ISSUE_PREFIX_HOOK.
604
605Sat Oct 30 09:49:10 1998 Frank Ch. Eigler <[email protected]>
606
607 * dv-tx3904cpu.c (deliver_tx3904cpu_interrupt): Add dummy
608 interrupt level number to match changed SignalExceptionInterrupt
609 macro.
610
611Fri Oct 9 18:02:25 1998 Doug Evans <[email protected]>
612
613 * interp.c: #include "itable.h" if WITH_IGEN.
614 (get_insn_name): New function.
615 (sim_open): Initialize CPU_INSN_NAME,CPU_MAX_INSNS.
616 * sim-main.h (MAX_INSNS,INSN_NAME): Delete.
617
618Mon Sep 14 12:36:44 1998 Frank Ch. Eigler <[email protected]>
619
620 * configure: Rebuilt to inhale new common/aclocal.m4.
621
622Tue Sep 1 15:39:18 1998 Frank Ch. Eigler <[email protected]>
623
624 * dv-tx3904sio.c: Include sim-assert.h.
625
626Tue Aug 25 12:49:46 1998 Frank Ch. Eigler <[email protected]>
627
628 * dv-tx3904sio.c: New file: tx3904 serial I/O module.
629 * configure.in: Add dv-tx3904sio, dv-sockser for tx39 target.
630 Reorganize target-specific sim-hardware checks.
631 * configure: rebuilt.
632 * interp.c (sim_open): For tx39 target boards, set
633 OPERATING_ENVIRONMENT, add tx3904sio devices.
634 * tconfig.in: For tx39 target, set SIM_HANDLES_LMA for loading
635 ROM executables. Install dv-sockser into sim-modules list.
636
637 * dv-tx3904irc.c: Compiler warning clean-up.
638 * dv-tx3904tmr.c: Compiler warning clean-up. Remove particularly
639 frequent hw-trace messages.
640
641Fri Jul 31 18:14:16 1998 Andrew Cagney <[email protected]>
642
643 * vr.igen (MulAcc): Identify as a vr4100 specific function.
644
645Sat Jul 25 16:03:14 1998 Andrew Cagney <[email protected]>
646
647 * Makefile.in (IGEN_INCLUDE): Add vr.igen.
648
649 * vr.igen: New file.
650 (MAC/MADD16, DMAC/DMADD16): Implement using code from gencode.c.
651 * mips.igen: Define vr4100 model. Include vr.igen.
652Mon Jun 29 09:21:07 1998 Gavin Koch <[email protected]>
653
654 * mips.igen (check_mf_hilo): Correct check.
655
656Wed Jun 17 12:20:49 1998 Andrew Cagney <[email protected]>
657
658 * sim-main.h (interrupt_event): Add prototype.
659
660 * dv-tx3904tmr.c (tx3904tmr_io_write_buffer): Delete unused
661 register_ptr, register_value.
662 (deliver_tx3904tmr_tick): Fix types passed to printf fmt.
663
664 * sim-main.h (tracefh): Make extern.
665
666Tue Jun 16 14:39:00 1998 Frank Ch. Eigler <[email protected]>
667
668 * dv-tx3904tmr.c: Deschedule timer event after dispatching.
669 Reduce unnecessarily high timer event frequency.
670 * dv-tx3904cpu.c: Ditto for interrupt event.
671
672Wed Jun 10 13:22:32 1998 Frank Ch. Eigler <[email protected]>
673
674 * interp.c (decode_coproc): For TX39, add stub COP0 register #7,
675 to allay warnings.
676 (interrupt_event): Made non-static.
677
678 * dv-tx3904tmr.c (deliver_tx3904tmr_tick): Correct accidental
679 interchange of configuration values for external vs. internal
680 clock dividers.
681
682Tue Jun 9 12:46:24 1998 Ian Carmichael <[email protected]>
683
684 * mips.igen (BREAK): Moved code to here for
685 simulator-reserved break instructions.
686 * gencode.c (build_instruction): Ditto.
687 * interp.c (signal_exception): Code moved from here. Non-
688 reserved instructions now use exception vector, rather
689 than halting sim.
690 * sim-main.h: Moved magic constants to here.
691
692Tue Jun 9 12:29:50 1998 Frank Ch. Eigler <[email protected]>
693
694 * dv-tx3904cpu.c (deliver_*_interrupt,*_port_event): Set the CAUSE
695 register upon non-zero interrupt event level, clear upon zero
696 event value.
697 * dv-tx3904irc.c (*_port_event): Handle deactivated interrupt signal
698 by passing zero event value.
699 (*_io_{read,write}_buffer): Endianness fixes.
700 * dv-tx3904tmr.c (*_io_{read,write}_buffer): Endianness fixes.
701 (deliver_*_tick): Reduce sim event interval to 75% of count interval.
702
703 * interp.c (sim_open): Added jmr3904pal board type that adds PAL-based
704 serial I/O and timer module at base address 0xFFFF0000.
705
706Tue Jun 9 11:52:29 1998 Gavin Koch <[email protected]>
707
708 * mips.igen (SWC1) : Correct the handling of ReverseEndian
709 and BigEndianCPU.
710
711Tue Jun 9 11:40:57 1998 Gavin Koch <[email protected]>
712
713 * configure.in (mips_fpu_bitsize) : Set this correctly for 32-bit mips
714 parts.
715 * configure: Update.
716
717Thu Jun 4 15:37:33 1998 Frank Ch. Eigler <[email protected]>
718
719 * dv-tx3904tmr.c: New file - implements tx3904 timer.
720 * dv-tx3904{irc,cpu}.c: Mild reformatting.
721 * configure.in: Include tx3904tmr in hw_device list.
722 * configure: Rebuilt.
723 * interp.c (sim_open): Instantiate three timer instances.
724 Fix address typo of tx3904irc instance.
725
726Tue Jun 2 15:48:02 1998 Ian Carmichael <[email protected]>
727
728 * interp.c (signal_exception): SystemCall exception now uses
729 the exception vector.
730
731Mon Jun 1 18:18:26 1998 Frank Ch. Eigler <[email protected]>
732
733 * interp.c (decode_coproc): For TX39, add stub COP0 register #3,
734 to allay warnings.
735
736Fri May 29 11:40:39 1998 Andrew Cagney <[email protected]>
737
738 * configure.in (sim_igen_filter): Match mips*tx39 not mipst*tx39.
739
740Mon May 25 20:47:45 1998 Andrew Cagney <[email protected]>
741
742 * dv-tx3904cpu.c, dv-tx3904irc.c: Rename *_callback to *_method.
743
744 * dv-tx3904cpu.c, dv-tx3904irc.c: Include hw-main.h and
745 sim-main.h. Declare a struct hw_descriptor instead of struct
746 hw_device_descriptor.
747
748Mon May 25 12:41:38 1998 Andrew Cagney <[email protected]>
749
750 * mips.igen (do_store_left, do_load_left): Compute nr of left and
751 right bits and then re-align left hand bytes to correct byte
752 lanes. Fix incorrect computation in do_store_left when loading
753 bytes from second word.
754
755Fri May 22 13:34:20 1998 Andrew Cagney <[email protected]>
756
757 * configure.in (SIM_AC_OPTION_HARDWARE): Only enable when tx3904.
758 * interp.c (sim_open): Only create a device tree when HW is
759 enabled.
760
761 * dv-tx3904irc.c (tx3904irc_finish): Pacify GCC.
762 * interp.c (signal_exception): Ditto.
763
764Thu May 21 14:24:11 1998 Gavin Koch <[email protected]>
765
766 * gencode.c: Mark BEGEZALL as LIKELY.
767
768Thu May 21 18:57:19 1998 Andrew Cagney <[email protected]>
769
770 * sim-main.h (ALU32_END): Sign extend 32 bit results.
771 * mips.igen (ADD, SUB, ADDI, DADD, DSUB): Trace.
772
773Mon May 18 18:22:42 1998 Frank Ch. Eigler <[email protected]>
774
775 * configure.in (SIM_AC_OPTION_HARDWARE): Added common hardware
776 modules. Recognize TX39 target with "mips*tx39" pattern.
777 * configure: Rebuilt.
778 * sim-main.h (*): Added many macros defining bits in
779 TX39 control registers.
780 (SignalInterrupt): Send actual PC instead of NULL.
781 (SignalNMIReset): New exception type.
782 * interp.c (board): New variable for future use to identify
783 a particular board being simulated.
784 (mips_option_handler,mips_options): Added "--board" option.
785 (interrupt_event): Send actual PC.
786 (sim_open): Make memory layout conditional on board setting.
787 (signal_exception): Initial implementation of hardware interrupt
788 handling. Accept another break instruction variant for simulator
789 exit.
790 (decode_coproc): Implement RFE instruction for TX39.
791 (mips.igen): Decode RFE instruction as such.
792 * configure.in (tx3904cpu,tx3904irc): Added devices for tx3904.
793 * interp.c: Define "jmr3904" and "jmr3904debug" board types and
794 bbegin to implement memory map.
795 * dv-tx3904cpu.c: New file.
796 * dv-tx3904irc.c: New file.
797
798Wed May 13 14:40:11 1998 Gavin Koch <[email protected]>
799
800 * mips.igen (check_mt_hilo): Create a separate r3900 version.
801
802Wed May 13 14:11:46 1998 Gavin Koch <[email protected]>
803
804 * tx.igen (madd,maddu): Replace calls to check_op_hilo
805 with calls to check_div_hilo.
806
807Wed May 13 09:59:27 1998 Gavin Koch <[email protected]>
808
809 * mips/mips.igen (check_op_hilo,check_mult_hilo,check_div_hilo):
810 Replace check_op_hilo with check_mult_hilo and check_div_hilo.
811 Add special r3900 version of do_mult_hilo.
812 (do_dmultx,do_mult,do_multu): Replace calls to check_op_hilo
813 with calls to check_mult_hilo.
814 (do_ddiv,do_ddivu,do_div,do_divu): Replace calls to check_op_hilo
815 with calls to check_div_hilo.
816
817Tue May 12 15:22:11 1998 Andrew Cagney <[email protected]>
818
819 * configure.in (SUBTARGET_R3900): Define for mipstx39 target.
820 Document a replacement.
821
822Fri May 8 17:48:19 1998 Ian Carmichael <[email protected]>
823
824 * interp.c (sim_monitor): Make mon_printf work.
825
826Wed May 6 19:42:19 1998 Doug Evans <[email protected]>
827
828 * sim-main.h (INSN_NAME): New arg `cpu'.
829
830Tue Apr 28 18:33:31 1998 Geoffrey Noer <[email protected]>
831
832 * configure: Regenerated to track ../common/aclocal.m4 changes.
833
834Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
835
836 * configure: Regenerated to track ../common/aclocal.m4 changes.
837 * config.in: Ditto.
838
839Sun Apr 26 15:20:01 1998 Tom Tromey <[email protected]>
840
841 * acconfig.h: New file.
842 * configure.in: Reverted change of Apr 24; use sinclude again.
843
844Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
845
846 * configure: Regenerated to track ../common/aclocal.m4 changes.
847 * config.in: Ditto.
848
849Fri Apr 24 11:19:20 1998 Tom Tromey <[email protected]>
850
851 * configure.in: Don't call sinclude.
852
853Fri Apr 24 11:35:01 1998 Andrew Cagney <[email protected]>
854
855 * mips.igen (do_store_left): Pass 0 not NULL to store_memory.
856
857Tue Apr 21 11:59:50 1998 Andrew Cagney <[email protected]>
858
859 * mips.igen (ERET): Implement.
860
861 * interp.c (decode_coproc): Return sign-extended EPC.
862
863 * mips.igen (ANDI, LUI, MFC0): Add tracing code.
864
865 * interp.c (signal_exception): Do not ignore Trap.
866 (signal_exception): On TRAP, restart at exception address.
867 (HALT_INSTRUCTION, HALT_INSTRUCTION_MASK): Define.
868 (signal_exception): Update.
869 (sim_open): Patch V_COMMON interrupt vector with an abort sequence
870 so that TRAP instructions are caught.
871
872Mon Apr 20 11:26:55 1998 Andrew Cagney <[email protected]>
873
874 * sim-main.h (struct hilo_access, struct hilo_history): Define,
875 contains HI/LO access history.
876 (struct _sim_cpu): Make hiaccess and loaccess of type hilo_access.
877 (HIACCESS, LOACCESS): Delete, replace with
878 (HIHISTORY, LOHISTORY): New macros.
879 (CHECKHILO): Delete all, moved to mips.igen
880
881 * gencode.c (build_instruction): Do not generate checks for
882 correct HI/LO register usage.
883
884 * interp.c (old_engine_run): Delete checks for correct HI/LO
885 register usage.
886
887 * mips.igen (check_mt_hilo, check_mf_hilo, check_op_hilo,
888 check_mf_cycles): New functions.
889 (do_mfhi, do_mflo, "mthi", "mtlo", do_ddiv, do_ddivu, do_div,
890 do_divu, domultx, do_mult, do_multu): Use.
891
892 * tx.igen ("madd", "maddu"): Use.
893
894Wed Apr 15 18:31:54 1998 Andrew Cagney <[email protected]>
895
896 * mips.igen (DSRAV): Use function do_dsrav.
897 (SRAV): Use new function do_srav.
898
899 * m16.igen (BEQZ, BNEZ): Compare GPR[TRX] not GPR[RX].
900 (B): Sign extend 11 bit immediate.
901 (EXT-B*): Shift 16 bit immediate left by 1.
902 (ADDIU*): Don't sign extend immediate value.
903
904Wed Apr 15 10:32:15 1998 Andrew Cagney <[email protected]>
905
906 * m16run.c (sim_engine_run): Restore CIA after handling an event.
907
908 * sim-main.h (DELAY_SLOT, NULLIFY_NEXT_INSTRUCTION): For IGEN, use
909 functions.
910
911 * mips.igen (delayslot32, nullify_next_insn): New functions.
912 (m16.igen): Always include.
913 (do_*): Add more tracing.
914
915 * m16.igen (delayslot16): Add NIA argument, could be called by a
916 32 bit MIPS16 instruction.
917
918 * interp.c (ifetch16): Move function from here.
919 * sim-main.c (ifetch16): To here.
920
921 * sim-main.c (ifetch16, ifetch32): Update to match current
922 implementations of LH, LW.
923 (signal_exception): Don't print out incorrect hex value of illegal
924 instruction.
925
926Wed Apr 15 00:17:25 1998 Andrew Cagney <[email protected]>
927
928 * m16run.c (sim_engine_run): Use IMEM16 and IMEM32 to fetch an
929 instruction.
930
931 * m16.igen: Implement MIPS16 instructions.
932
933 * mips.igen (do_addiu, do_addu, do_and, do_daddiu, do_daddu,
934 do_ddiv, do_ddivu, do_div, do_divu, do_dmultx, do_dmultu, do_srav,
935 do_dsubu, do_mfhi, do_mflo, do_mult, do_multu, do_nor, do_or,
936 do_sll, do_sllv, do_slt, do_slti, do_sltiu, do_sltu, do_sra,
937 do_srl, do_srlv, do_subu, do_xor, do_xori): New functions. Move
938 bodies of corresponding code from 32 bit insn to these. Also used
939 by MIPS16 versions of functions.
940
941 * sim-main.h (RAIDX, T8IDX, T8, SPIDX): Define.
942 (IMEM16): Drop NR argument from macro.
943
944Sat Apr 4 22:39:50 1998 Andrew Cagney <[email protected]>
945
946 * Makefile.in (SIM_OBJS): Add sim-main.o.
947
948 * sim-main.h (address_translation, load_memory, store_memory,
949 cache_op, sync_operation, prefetch, ifetch32, pending_tick): Mark
950 as INLINE_SIM_MAIN.
951 (pr_addr, pr_uword64): Declare.
952 (sim-main.c): Include when H_REVEALS_MODULE_P.
953
954 * interp.c (address_translation, load_memory, store_memory,
955 cache_op, sync_operation, prefetch, ifetch32, pending_tick): Move
956 from here.
957 * sim-main.c: To here. Fix compilation problems.
958
959 * configure.in: Enable inlining.
960 * configure: Re-config.
961
962Sat Apr 4 20:36:25 1998 Andrew Cagney <[email protected]>
963
964 * configure: Regenerated to track ../common/aclocal.m4 changes.
965
966Fri Apr 3 04:32:35 1998 Andrew Cagney <[email protected]>
967
968 * mips.igen: Include tx.igen.
969 * Makefile.in (IGEN_INCLUDE): Add tx.igen.
970 * tx.igen: New file, contains MADD and MADDU.
971
972 * interp.c (load_memory): When shifting bytes, use LOADDRMASK not
973 the hardwired constant `7'.
974 (store_memory): Ditto.
975 (LOADDRMASK): Move definition to sim-main.h.
976
977 mips.igen (MTC0): Enable for r3900.
978 (ADDU): Add trace.
979
980 mips.igen (do_load_byte): Delete.
981 (do_load, do_store, do_load_left, do_load_write, do_store_left,
982 do_store_right): New functions.
983 (SW*, LW*, SD*, LD*, SH, LH, SB, LB): Use.
984
985 configure.in: Let the tx39 use igen again.
986 configure: Update.
987
988Thu Apr 2 10:59:39 1998 Andrew Cagney <[email protected]>
989
990 * interp.c (sim_monitor): get_mem_info returns a 4 byte quantity,
991 not an address sized quantity. Return zero for cache sizes.
992
993Wed Apr 1 23:47:53 1998 Andrew Cagney <[email protected]>
994
995 * mips.igen (r3900): r3900 does not support 64 bit integer
996 operations.
997
998Mon Mar 30 14:46:05 1998 Gavin Koch <[email protected]>
999
1000 * configure.in (mipstx39*-*-*): Use gencode simulator rather
1001 than igen one.
1002 * configure : Rebuild.
1003
1004Fri Mar 27 16:15:52 1998 Andrew Cagney <[email protected]>
1005
1006 * configure: Regenerated to track ../common/aclocal.m4 changes.
1007
1008Fri Mar 27 15:01:50 1998 Andrew Cagney <[email protected]>
1009
1010 * interp.c (mips_option_handler): Iterate over MAX_NR_PROCESSORS.
1011
1012Wed Mar 25 16:44:27 1998 Ian Carmichael <[email protected]>
1013
1014 * configure: Regenerated to track ../common/aclocal.m4 changes.
1015 * config.in: Regenerated to track ../common/aclocal.m4 changes.
1016
1017Wed Mar 25 12:35:29 1998 Andrew Cagney <[email protected]>
1018
1019 * configure: Regenerated to track ../common/aclocal.m4 changes.
1020
1021Wed Mar 25 10:05:46 1998 Andrew Cagney <[email protected]>
1022
1023 * interp.c (Max, Min): Comment out functions. Not yet used.
1024
1025Wed Mar 18 12:38:12 1998 Andrew Cagney <[email protected]>
1026
1027 * configure: Regenerated to track ../common/aclocal.m4 changes.
1028
1029Tue Mar 17 19:05:20 1998 Frank Ch. Eigler <[email protected]>
1030
1031 * Makefile.in (MIPS_EXTRA_LIBS, SIM_EXTRA_LIBS): Added
1032 configurable settings for stand-alone simulator.
1033
1034 * configure.in: Added X11 search, just in case.
1035
1036 * configure: Regenerated.
1037
1038Wed Mar 11 14:09:10 1998 Andrew Cagney <[email protected]>
1039
1040 * interp.c (sim_write, sim_read, load_memory, store_memory):
1041 Replace sim_core_*_map with read_map, write_map, exec_map resp.
1042
1043Tue Mar 3 13:58:43 1998 Andrew Cagney <[email protected]>
1044
1045 * sim-main.h (GETFCC): Return an unsigned value.
1046
1047Tue Mar 3 13:21:37 1998 Andrew Cagney <[email protected]>
1048
1049 * mips.igen (DIV): Fix check for -1 / MIN_INT.
1050 (DADD): Result destination is RD not RT.
1051
1052Fri Feb 27 13:49:49 1998 Andrew Cagney <[email protected]>
1053
1054 * sim-main.h (HIACCESS, LOACCESS): Always define.
1055
1056 * mdmx.igen (Maxi, Mini): Rename Max, Min.
1057
1058 * interp.c (sim_info): Delete.
1059
1060Fri Feb 27 18:41:01 1998 Doug Evans <[email protected]>
1061
1062 * interp.c (DECLARE_OPTION_HANDLER): Use it.
1063 (mips_option_handler): New argument `cpu'.
1064 (sim_open): Update call to sim_add_option_table.
1065
1066Wed Feb 25 18:56:22 1998 Andrew Cagney <[email protected]>
1067
1068 * mips.igen (CxC1): Add tracing.
1069
1070Fri Feb 20 17:43:21 1998 Andrew Cagney <[email protected]>
1071
1072 * sim-main.h (Max, Min): Declare.
1073
1074 * interp.c (Max, Min): New functions.
1075
1076 * mips.igen (BC1): Add tracing.
1077
1078Thu Feb 19 14:50:00 1998 John Metzler <[email protected]>
1079
1080 * interp.c Added memory map for stack in vr4100
1081
1082Thu Feb 19 10:21:21 1998 Gavin Koch <[email protected]>
1083
1084 * interp.c (load_memory): Add missing "break"'s.
1085
1086Tue Feb 17 12:45:35 1998 Andrew Cagney <[email protected]>
1087
1088 * interp.c (sim_store_register, sim_fetch_register): Pass in
1089 length parameter. Return -1.
1090
1091Tue Feb 10 11:57:40 1998 Ian Carmichael <[email protected]>
1092
1093 * interp.c: Added hardware init hook, fixed warnings.
1094
1095Sat Feb 7 17:16:20 1998 Andrew Cagney <[email protected]>
1096
1097 * Makefile.in (itable.h itable.c): Depend on SIM_@sim_gen@_ALL.
1098
1099Tue Feb 3 11:36:02 1998 Andrew Cagney <[email protected]>
1100
1101 * interp.c (ifetch16): New function.
1102
1103 * sim-main.h (IMEM32): Rename IMEM.
1104 (IMEM16_IMMED): Define.
1105 (IMEM16): Define.
1106 (DELAY_SLOT): Update.
1107
1108 * m16run.c (sim_engine_run): New file.
1109
1110 * m16.igen: All instructions except LB.
1111 (LB): Call do_load_byte.
1112 * mips.igen (do_load_byte): New function.
1113 (LB): Call do_load_byte.
1114
1115 * mips.igen: Move spec for insn bit size and high bit from here.
1116 * Makefile.in (tmp-igen, tmp-m16): To here.
1117
1118 * m16.dc: New file, decode mips16 instructions.
1119
1120 * Makefile.in (SIM_NO_ALL): Define.
1121 (tmp-m16): Generate both 16 bit and 32 bit simulator engines.
1122
1123Tue Feb 3 11:28:00 1998 Andrew Cagney <[email protected]>
1124
1125 * configure.in (mips_fpu_bitsize): For tx39, restrict floating
1126 point unit to 32 bit registers.
1127 * configure: Re-generate.
1128
1129Sun Feb 1 15:47:14 1998 Andrew Cagney <[email protected]>
1130
1131 * configure.in (sim_use_gen): Make IGEN the default simulator
1132 generator for generic 32 and 64 bit mips targets.
1133 * configure: Re-generate.
1134
1135Sun Feb 1 16:52:37 1998 Andrew Cagney <[email protected]>
1136
1137 * sim-main.h (SizeFGR): Determine from floating-point and not gpr
1138 bitsize.
1139
1140 * interp.c (sim_fetch_register, sim_store_register): Read/write
1141 FGR from correct location.
1142 (sim_open): Set size of FGR's according to
1143 WITH_TARGET_FLOATING_POINT_BITSIZE.
1144
1145 * sim-main.h (FGR): Store floating point registers in a separate
1146 array.
1147
1148Sun Feb 1 16:47:51 1998 Andrew Cagney <[email protected]>
1149
1150 * configure: Regenerated to track ../common/aclocal.m4 changes.
1151
1152Tue Feb 3 00:10:50 1998 Andrew Cagney <[email protected]>
1153
1154 * interp.c (ColdReset): Call PENDING_INVALIDATE.
1155
1156 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Call PENDING_TICK.
1157
1158 * interp.c (pending_tick): New function. Deliver pending writes.
1159
1160 * sim-main.h (PENDING_FILL, PENDING_TICK, PENDING_SCHED,
1161 PENDING_BIT, PENDING_INVALIDATE): Re-write pipeline code so that
1162 it can handle mixed sized quantites and single bits.
1163
1164Mon Feb 2 17:43:15 1998 Andrew Cagney <[email protected]>
1165
1166 * interp.c (oengine.h): Do not include when building with IGEN.
1167 (sim_open): Replace GPRLEN by WITH_TARGET_WORD_BITSIZE.
1168 (sim_info): Ditto for PROCESSOR_64BIT.
1169 (sim_monitor): Replace ut_reg with unsigned_word.
1170 (*): Ditto for t_reg.
1171 (LOADDRMASK): Define.
1172 (sim_open): Remove defunct check that host FP is IEEE compliant,
1173 using software to emulate floating point.
1174 (value_fpr, ...): Always compile, was conditional on HASFPU.
1175
1176Sun Feb 1 11:15:29 1998 Andrew Cagney <[email protected]>
1177
1178 * sim-main.h (sim_state): Make the cpu array MAX_NR_PROCESSORS in
1179 size.
1180
1181 * interp.c (SD, CPU): Define.
1182 (mips_option_handler): Set flags in each CPU.
1183 (interrupt_event): Assume CPU 0 is the one being iterrupted.
1184 (sim_close): Do not clear STATE, deleted anyway.
1185 (sim_write, sim_read): Assume CPU zero's vm should be used for
1186 data transfers.
1187 (sim_create_inferior): Set the PC for all processors.
1188 (sim_monitor, store_word, load_word, mips16_entry): Add cpu
1189 argument.
1190 (mips16_entry): Pass correct nr of args to store_word, load_word.
1191 (ColdReset): Cold reset all cpu's.
1192 (signal_exception): Pass cpu to sim_monitor & mips16_entry.
1193 (sim_monitor, load_memory, store_memory, signal_exception): Use
1194 `CPU' instead of STATE_CPU.
1195
1196
1197 * sim-main.h: Replace uses of STATE_CPU with CPU. Replace sd with
1198 SD or CPU_.
1199
1200 * sim-main.h (signal_exception): Add sim_cpu arg.
1201 (SignalException*): Pass both SD and CPU to signal_exception.
1202 * interp.c (signal_exception): Update.
1203
1204 * sim-main.h (value_fpr, store_fpr, dotrace, ifetch32), interp.c:
1205 Ditto
1206 (sync_operation, prefetch, cache_op, store_memory, load_memory,
1207 address_translation): Ditto
1208 (decode_coproc, cop_lw, cop_ld, cop_sw, cop_sd): Ditto.
1209
1210Sat Jan 31 18:15:41 1998 Andrew Cagney <[email protected]>
1211
1212 * configure: Regenerated to track ../common/aclocal.m4 changes.
1213
1214Sat Jan 31 14:49:24 1998 Andrew Cagney <[email protected]>
1215
1216 * interp.c (sim_engine_run): Add `nr_cpus' argument.
1217
1218 * mips.igen (model): Map processor names onto BFD name.
1219
1220 * sim-main.h (CPU_CIA): Delete.
1221 (SET_CIA, GET_CIA): Define
1222
1223Wed Jan 21 16:16:27 1998 Andrew Cagney <[email protected]>
1224
1225 * sim-main.h (GPR_SET): Define, used by igen when zeroing a
1226 regiser.
1227
1228 * configure.in (default_endian): Configure a big-endian simulator
1229 by default.
1230 * configure: Re-generate.
1231
1232Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
1233
1234 * configure: Regenerated to track ../common/aclocal.m4 changes.
1235
1236Mon Jan 5 20:38:54 1998 Mark Alexander <[email protected]>
1237
1238 * interp.c (sim_monitor): Handle Densan monitor outbyte
1239 and inbyte functions.
1240
12411997-12-29 Felix Lee <[email protected]>
1242
1243 * interp.c (sim_engine_run): msvc cpp barfs on #if (a==b!=c).
1244
1245Wed Dec 17 14:48:20 1997 Jeffrey A Law ([email protected])
1246
1247 * Makefile.in (tmp-igen): Arrange for $zero to always be
1248 reset to zero after every instruction.
1249
1250Mon Dec 15 23:17:11 1997 Andrew Cagney <[email protected]>
1251
1252 * configure: Regenerated to track ../common/aclocal.m4 changes.
1253 * config.in: Ditto.
1254
1255Wed Dec 10 17:10:45 1997 Jeffrey A Law ([email protected])
1256
1257 * mips.igen (MSUB): Fix to work like MADD.
1258 * gencode.c (MSUB): Similarly.
1259
1260Thu Dec 4 09:21:05 1997 Doug Evans <[email protected]>
1261
1262 * configure: Regenerated to track ../common/aclocal.m4 changes.
1263
1264Wed Nov 26 11:00:23 1997 Andrew Cagney <[email protected]>
1265
1266 * mips.igen (LWC1): Correct assembler - lwc1 not swc1.
1267
1268Sun Nov 23 01:45:20 1997 Andrew Cagney <[email protected]>
1269
1270 * sim-main.h (sim-fpu.h): Include.
1271
1272 * interp.c (convert, SquareRoot, Recip, Divide, Multiply, Sub,
1273 Add, Negate, AbsoluteValue, Equal, Less, Infinity, NaN): Rewrite
1274 using host independant sim_fpu module.
1275
1276Thu Nov 20 19:56:22 1997 Andrew Cagney <[email protected]>
1277
1278 * interp.c (signal_exception): Report internal errors with SIGABRT
1279 not SIGQUIT.
1280
1281 * sim-main.h (C0_CONFIG): New register.
1282 (signal.h): No longer include.
1283
1284 * interp.c (decode_coproc): Allow access C0_CONFIG to register.
1285
1286Tue Nov 18 15:33:48 1997 Doug Evans <[email protected]>
1287
1288 * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
1289
1290Fri Nov 14 11:56:48 1997 Andrew Cagney <[email protected]>
1291
1292 * mips.igen: Tag vr5000 instructions.
1293 (ANDI): Was missing mipsIV model, fix assembler syntax.
1294 (do_c_cond_fmt): New function.
1295 (C.cond.fmt): Handle mips I-III which do not support CC field
1296 separatly.
1297 (bc1): Handle mips IV which do not have a delaed FCC separatly.
1298 (SDR): Mask paddr when BigEndianMem, not the converse as specified
1299 in IV3.2 spec.
1300 (DMULT, DMULTU): Force use of hosts 64bit multiplication. Handle
1301 vr5000 which saves LO in a GPR separatly.
1302
1303 * configure.in (enable-sim-igen): For vr5000, select vr5000
1304 specific instructions.
1305 * configure: Re-generate.
1306
1307Wed Nov 12 14:42:52 1997 Andrew Cagney <[email protected]>
1308
1309 * Makefile.in (SIM_OBJS): Add sim-fpu module.
1310
1311 * interp.c (store_fpr), sim-main.h: Add separate fmt_uninterpreted_32 and
1312 fmt_uninterpreted_64 bit cases to switch. Convert to
1313 fmt_formatted,
1314
1315 * sim-main.h (ENGINE_ISSUE_PREFIX_HOOK): Define,
1316
1317 * mips.igen (SWR): Mask paddr when BigEndianMem, not the converse
1318 as specified in IV3.2 spec.
1319 (MTC1, DMTC1): Call StoreFPR to store the GPR in the FPR.
1320
1321Tue Nov 11 12:38:23 1997 Andrew Cagney <[email protected]>
1322
1323 * mips.igen: Delay slot branches add OFFSET to NIA not CIA.
1324 (MFC0, MTC0, SWC1, LWC1, SDC1, LDC1): Implement.
1325 (MTC1, MFC1, DMTC1, DMFC1, CFC1, CTC1): Implement separate non
1326 PENDING_FILL versions of instructions. Simplify.
1327 (X): New function.
1328 (MULT, MULTU): Implement separate RD==0 and RD!=0 versions of
1329 instructions.
1330 (BEQZ, ..., SLT, SLTI, TLT, TLE, TLI, ...): Explicitly cast GPR to
1331 a signed value.
1332 (MTHI, MFHI): Disable code checking HI-LO.
1333
1334 * sim-main.h (dotrace,tracefh), interp.c: Make dotrace & tracefh
1335 global.
1336 (NULLIFY_NEXT_INSTRUCTION): Call dotrace.
1337
1338Thu Nov 6 16:36:35 1997 Andrew Cagney <[email protected]>
1339
1340 * gencode.c (build_mips16_operands): Replace IPC with cia.
1341
1342 * interp.c (sim_monitor, signal_exception, cache_op, store_fpr,
1343 value_fpr, cop_ld, cop_lw, cop_sw, cop_sd, decode_coproc): Replace
1344 IPC to `cia'.
1345 (UndefinedResult): Replace function with macro/function
1346 combination.
1347 (sim_engine_run): Don't save PC in IPC.
1348
1349 * sim-main.h (IPC): Delete.
1350
1351
1352 * interp.c (signal_exception, store_word, load_word,
1353 address_translation, load_memory, store_memory, cache_op,
1354 prefetch, sync_operation, ifetch, value_fpr, store_fpr, convert,
1355 cop_lw, cop_ld, cop_sw, cop_sd, decode_coproc, sim_monitor): Add
1356 current instruction address - cia - argument.
1357 (sim_read, sim_write): Call address_translation directly.
1358 (sim_engine_run): Rename variable vaddr to cia.
1359 (signal_exception): Pass cia to sim_monitor
1360
1361 * sim-main.h (SignalException, LoadWord, StoreWord, CacheOp,
1362 Prefetch, SyncOperation, ValueFPR, StoreFPR, Convert, COP_LW,
1363 COP_LD, COP_SW, COP_SD, DecodeCoproc): Update.
1364
1365 * sim-main.h (SignalExceptionSimulatorFault): Delete definition.
1366 * interp.c (sim_open): Replace SignalExceptionSimulatorFault with
1367 SIM_ASSERT.
1368
1369 * interp.c (signal_exception): Pass restart address to
1370 sim_engine_restart.
1371
1372 * Makefile.in (semantics.o, engine.o, support.o, itable.o,
1373 idecode.o): Add dependency.
1374
1375 * sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESUME_HOOK):
1376 Delete definitions
1377 (DELAY_SLOT): Update NIA not PC with branch address.
1378 (NULLIFY_NEXT_INSTRUCTION): Set NIA to instruction after next.
1379
1380 * mips.igen: Use CIA not PC in branch calculations.
1381 (illegal): Call SignalException.
1382 (BEQ, ADDIU): Fix assembler.
1383
1384Wed Nov 5 12:19:56 1997 Andrew Cagney <[email protected]>
1385
1386 * m16.igen (JALX): Was missing.
1387
1388 * configure.in (enable-sim-igen): New configuration option.
1389 * configure: Re-generate.
1390
1391 * sim-main.h (MAX_INSNS, INSN_NAME): Define.
1392
1393 * interp.c (load_memory, store_memory): Delete parameter RAW.
1394 (sim_read, sim_write): Use sim_core_{read,write}_buffer directly
1395 bypassing {load,store}_memory.
1396
1397 * sim-main.h (ByteSwapMem): Delete definition.
1398
1399 * Makefile.in (SIM_OBJS): Add sim-memopt module.
1400
1401 * interp.c (sim_do_command, sim_commands): Delete mips specific
1402 commands. Handled by module sim-options.
1403
1404 * sim-main.h (SIM_HAVE_FLATMEM): Undefine, use sim-core.o module.
1405 (WITH_MODULO_MEMORY): Define.
1406
1407 * interp.c (sim_info): Delete code printing memory size.
1408
1409 * interp.c (mips_size): Nee sim_size, delete function.
1410 (power2): Delete.
1411 (monitor, monitor_base, monitor_size): Delete global variables.
1412 (sim_open, sim_close): Delete code creating monitor and other
1413 memory regions. Use sim-memopts module, via sim_do_commandf, to
1414 manage memory regions.
1415 (load_memory, store_memory): Use sim-core for memory model.
1416
1417 * interp.c (address_translation): Delete all memory map code
1418 except line forcing 32 bit addresses.
1419
1420Wed Nov 5 11:21:11 1997 Andrew Cagney <[email protected]>
1421
1422 * sim-main.h (WITH_TRACE): Delete definition. Enables common
1423 trace options.
1424
1425 * interp.c (logfh, logfile): Delete globals.
1426 (sim_open, sim_close): Delete code opening & closing log file.
1427 (mips_option_handler): Delete -l and -n options.
1428 (OPTION mips_options): Ditto.
1429
1430 * interp.c (OPTION mips_options): Rename option trace to dinero.
1431 (mips_option_handler): Update.
1432
1433Wed Nov 5 09:35:59 1997 Andrew Cagney <[email protected]>
1434
1435 * interp.c (fetch_str): New function.
1436 (sim_monitor): Rewrite using sim_read & sim_write.
1437 (sim_open): Check magic number.
1438 (sim_open): Write monitor vectors into memory using sim_write.
1439 (MONITOR_BASE, MONITOR_SIZE, MEM_SIZE): Define.
1440 (sim_read, sim_write): Simplify - transfer data one byte at a
1441 time.
1442 (load_memory, store_memory): Clarify meaning of parameter RAW.
1443
1444 * sim-main.h (isHOST): Defete definition.
1445 (isTARGET): Mark as depreciated.
1446 (address_translation): Delete parameter HOST.
1447
1448 * interp.c (address_translation): Delete parameter HOST.
1449
1450Wed Oct 29 11:13:56 1997 Andrew Cagney <[email protected]>
1451
1452 * mips.igen:
1453
1454 * Makefile.in (IGEN_INCLUDE): Files included by mips.igen.
1455 (tmp-igen, tmp-m16): Depend on IGEN_INCLUDE.
1456
1457Tue Oct 28 11:06:47 1997 Andrew Cagney <[email protected]>
1458
1459 * mips.igen: Add model filter field to records.
1460
1461Mon Oct 27 17:53:59 1997 Andrew Cagney <[email protected]>
1462
1463 * Makefile.in (SIM_NO_CFLAGS): Define. Define WITH_IGEN=0.
1464
1465 interp.c (sim_engine_run): Do not compile function sim_engine_run
1466 when WITH_IGEN == 1.
1467
1468 * configure.in (sim_igen_flags, sim_m16_flags): Set according to
1469 target architecture.
1470
1471 Makefile.in (tmp-igen, tmp-m16): Drop -F and -M options to
1472 igen. Replace with configuration variables sim_igen_flags /
1473 sim_m16_flags.
1474
1475 * m16.igen: New file. Copy mips16 insns here.
1476 * mips.igen: From here.
1477
1478Mon Oct 27 13:53:59 1997 Andrew Cagney <[email protected]>
1479
1480 * Makefile.in (SIM_NO_OBJ): Define, move SIM_M16_OBJ, SIM_IGEN_OBJ
1481 to top.
1482 (tmp-igen, tmp-m16): Pass -I srcdir to igen.
1483
1484Sat Oct 25 16:51:40 1997 Gavin Koch <[email protected]>
1485
1486 * gencode.c (build_instruction): Follow sim_write's lead in using
1487 BigEndianMem instead of !ByteSwapMem.
1488
1489Fri Oct 24 17:41:49 1997 Andrew Cagney <[email protected]>
1490
1491 * configure.in (sim_gen): Dependent on target, select type of
1492 generator. Always select old style generator.
1493
1494 configure: Re-generate.
1495
1496 Makefile.in (tmp-igen, tmp-m16, clean-m16, clean-igen): New
1497 targets.
1498 (SIM_M16_CFLAGS, SIM_M16_ALL, SIM_M16_OBJ, BUILT_SRC_FROM_M16,
1499 SIM_IGEN_CFLAGS, SIM_IGEN_ALL, SIM_IGEN_OBJ, BUILT_SRC_FROM_IGEN,
1500 IGEN_TRACE, IGEN_INSN, IGEN_DC): Define
1501 (SIM_EXTRA_CFLAGS, SIM_EXTRA_ALL, SIM_OBJS): Add member
1502 SIM_@sim_gen@_*, set by autoconf.
1503
1504Wed Oct 22 12:52:06 1997 Andrew Cagney <[email protected]>
1505
1506 * sim-main.h (NULLIFY_NEXT_INSTRUCTION, DELAY_SLOT): Define.
1507
1508 * interp.c (ColdReset): Remove #ifdef HASFPU, check
1509 CURRENT_FLOATING_POINT instead.
1510
1511 * interp.c (ifetch32): New function. Fetch 32 bit instruction.
1512 (address_translation): Raise exception InstructionFetch when
1513 translation fails and isINSTRUCTION.
1514
1515 * interp.c (sim_open, sim_write, sim_monitor, store_word,
1516 sim_engine_run): Change type of of vaddr and paddr to
1517 address_word.
1518 (address_translation, prefetch, load_memory, store_memory,
1519 cache_op): Change type of vAddr and pAddr to address_word.
1520
1521 * gencode.c (build_instruction): Change type of vaddr and paddr to
1522 address_word.
1523
1524Mon Oct 20 15:29:04 1997 Andrew Cagney <[email protected]>
1525
1526 * sim-main.h (ALU64_END, ALU32_END): Use ALU*_OVERFLOW_RESULT
1527 macro to obtain result of ALU op.
1528
1529Tue Oct 21 17:39:14 1997 Andrew Cagney <[email protected]>
1530
1531 * interp.c (sim_info): Call profile_print.
1532
1533Mon Oct 20 13:31:20 1997 Andrew Cagney <[email protected]>
1534
1535 * Makefile.in (SIM_OBJS): Add sim-profile.o module.
1536
1537 * sim-main.h (WITH_PROFILE): Do not define, defined in
1538 common/sim-config.h. Use sim-profile module.
1539 (simPROFILE): Delete defintion.
1540
1541 * interp.c (PROFILE): Delete definition.
1542 (mips_option_handler): Delete 'p', 'y' and 'x' profile options.
1543 (sim_close): Delete code writing profile histogram.
1544 (mips_set_profile, mips_set_profile_size, writeout16, writeout32):
1545 Delete.
1546 (sim_engine_run): Delete code profiling the PC.
1547
1548Mon Oct 20 13:31:20 1997 Andrew Cagney <[email protected]>
1549
1550 * sim-main.h (SIGNEXTEND): Force type of result to unsigned_word.
1551
1552 * interp.c (sim_monitor): Make register pointers of type
1553 unsigned_word*.
1554
1555 * sim-main.h: Make registers of type unsigned_word not
1556 signed_word.
1557
1558Thu Oct 16 10:31:39 1997 Andrew Cagney <[email protected]>
1559
1560 * interp.c (sync_operation): Rename from SyncOperation, make
1561 global, add SD argument.
1562 (prefetch): Rename from Prefetch, make global, add SD argument.
1563 (decode_coproc): Make global.
1564
1565 * sim-main.h (SyncOperation, DecodeCoproc, Pefetch): Define.
1566
1567 * gencode.c (build_instruction): Generate DecodeCoproc not
1568 decode_coproc calls.
1569
1570 * interp.c (SETFCC, GETFCC, PREVCOC1): Move to sim-main.h
1571 (SizeFGR): Move to sim-main.h
1572 (simHALTEX, simHALTIN, simTRACE, simPROFILE, simDELAYSLOT,
1573 simSIGINT, simJALDELAYSLOT): Move to sim-main.h
1574 (FP_FLAGS, FP_ENABLE, FP_CAUSE, IR, UF, OF, DZ, IO, UO): Move to
1575 sim-main.h.
1576 (FP_FS, FP_MASK_RM, FP_SH_RM, FP_RM_NEAREST, FP_RM_TOPINF,
1577 FP_RM_TOMINF, GETRM): Move to sim-main.h.
1578 (Uncached, CachedNoncoherent, CachedCoherent, Cached,
1579 isINSTRUCTION, ..., AccessLength_BYTE, ...): Move to sim-main.h.
1580 (UserMode, BigEndianMem, ByteSwapMem, ReverseEndian,
1581 BigEndianCPU, status_KSU_mask, ...). Moved to sim-main.h
1582
1583 * sim-main.h (ALU32_END, ALU64_END): Define. When overflow raise
1584 exception.
1585 (sim-alu.h): Include.
1586 (NULLIFY_NIA, NULL_CIA, CPU_CIA): Define.
1587 (sim_cia): Typedef to instruction_address.
1588
1589Thu Oct 16 10:31:41 1997 Andrew Cagney <[email protected]>
1590
1591 * Makefile.in (interp.o): Rename generated file engine.c to
1592 oengine.c.
1593
1594 * interp.c: Update.
1595
1596Thu Oct 16 10:31:40 1997 Andrew Cagney <[email protected]>
1597
1598 * gencode.c (build_instruction): Use FPR_STATE not fpr_state.
1599
1600Thu Oct 16 10:31:39 1997 Andrew Cagney <[email protected]>
1601
1602 * gencode.c (build_instruction): For "FPSQRT", output correct
1603 number of arguments to Recip.
1604
1605Tue Oct 14 17:38:18 1997 Andrew Cagney <[email protected]>
1606
1607 * Makefile.in (interp.o): Depends on sim-main.h
1608
1609 * interp.c (mips16_entry, ColdReset,dotrace): Add SD argument. Use GPR not registers.
1610
1611 * sim-main.h (sim_cpu): Add registers, register_widths, fpr_state,
1612 ipc, dspc, pending_*, hiaccess, loaccess, state, dsstate fields.
1613 (REGISTERS, REGISTER_WIDTHS, FPR_STATE, IPC, DSPC, PENDING_*,
1614 STATE, DSSTATE): Define
1615 (GPR, FGRIDX, ..): Define.
1616
1617 * interp.c (registers, register_widths, fpr_state, ipc, dspc,
1618 pending_*, hiaccess, loaccess, state, dsstate): Delete globals.
1619 (GPR, FGRIDX, ...): Delete macros.
1620
1621 * interp.c: Update names to match defines from sim-main.h
1622
1623Tue Oct 14 15:11:45 1997 Andrew Cagney <[email protected]>
1624
1625 * interp.c (sim_monitor): Add SD argument.
1626 (sim_warning): Delete. Replace calls with calls to
1627 sim_io_eprintf.
1628 (sim_error): Delete. Replace calls with sim_io_error.
1629 (open_trace, writeout32, writeout16, getnum): Add SD argument.
1630 (mips_set_profile): Rename from sim_set_profile. Add SD argument.
1631 (mips_set_profile_size): Rename from sim_set_profile_size. Add SD
1632 argument.
1633 (mips_size): Rename from sim_size. Add SD argument.
1634
1635 * interp.c (simulator): Delete global variable.
1636 (callback): Delete global variable.
1637 (mips_option_handler, sim_open, sim_write, sim_read,
1638 sim_store_register, sim_fetch_register, sim_info, sim_do_command,
1639 sim_size,sim_monitor): Use sim_io_* not callback->*.
1640 (sim_open): ZALLOC simulator struct.
1641 (PROFILE): Do not define.
1642
1643Tue Oct 14 13:35:48 1997 Andrew Cagney <[email protected]>
1644
1645 * interp.c (sim_open), support.h: Replace CHECKSIM macro found in
1646 support.h with corresponding code.
1647
1648 * sim-main.h (word64, uword64), support.h: Move definition to
1649 sim-main.h.
1650 (WORD64LO, WORD64HI, SET64LO, SET64HI, WORD64, UWORD64): Ditto.
1651
1652 * support.h: Delete
1653 * Makefile.in: Update dependencies
1654 * interp.c: Do not include.
1655
1656Tue Oct 14 13:35:48 1997 Andrew Cagney <[email protected]>
1657
1658 * interp.c (address_translation, load_memory, store_memory,
1659 cache_op): Rename to from AddressTranslation et.al., make global,
1660 add SD argument
1661
1662 * sim-main.h (AddressTranslation, LoadMemory, StoreMemory,
1663 CacheOp): Define.
1664
1665 * interp.c (SignalException): Rename to signal_exception, make
1666 global.
1667
1668 * interp.c (Interrupt, ...): Move definitions to sim-main.h.
1669
1670 * sim-main.h (SignalException, SignalExceptionInterrupt,
1671 SignalExceptionInstructionFetch, SignalExceptionAddressStore,
1672 SignalExceptionAddressLoad, SignalExceptionSimulatorFault,
1673 SignalExceptionIntegerOverflow, SignalExceptionCoProcessorUnusable):
1674 Define.
1675
1676 * interp.c, support.h: Use.
1677
1678Tue Oct 14 13:19:20 1997 Andrew Cagney <[email protected]>
1679
1680 * interp.c (ValueFPR, StoreFPR), sim-main.h: Make global, rename
1681 to value_fpr / store_fpr. Add SD argument.
1682 (NaN, Infinity, Less, Equal, AbsoluteValue, Negate, Add, Sub,
1683 Multiply, Divide, Recip, SquareRoot, Convert): Make global.
1684
1685 * sim-main.h (ValueFPR, StoreFPR): Define.
1686
1687Tue Oct 14 13:06:55 1997 Andrew Cagney <[email protected]>
1688
1689 * interp.c (sim_engine_run): Check consistency between configure
1690 WITH_TARGET_WORD_BITSIZE and WITH_FLOATING_POINT and gensim GPRLEN
1691 and HASFPU.
1692
1693 * configure.in (mips_bitsize): Configure WITH_TARGET_WORD_BITSIZE.
1694 (mips_fpu): Configure WITH_FLOATING_POINT.
1695 (mips_endian): Configure WITH_TARGET_ENDIAN.
1696 * configure: Update.
1697
1698Fri Oct 3 09:28:00 1997 Andrew Cagney <[email protected]>
1699
1700 * configure: Regenerated to track ../common/aclocal.m4 changes.
1701
1702Mon Sep 29 14:45:00 1997 Bob Manson <[email protected]>
1703
1704 * configure: Regenerated.
1705
1706Fri Sep 26 12:48:18 1997 Mark Alexander <[email protected]>
1707
1708 * interp.c: Allow Debug, DEPC, and EPC registers to be examined in GDB.
1709
1710Thu Sep 25 11:15:22 1997 Andrew Cagney <[email protected]>
1711
1712 * gencode.c (print_igen_insn_models): Assume certain architectures
1713 include all mips* instructions.
1714 (print_igen_insn_format): Use data_size==-1 as marker for MIPS16
1715 instruction.
1716
1717 * Makefile.in (tmp.igen): Add target. Generate igen input from
1718 gencode file.
1719
1720 * gencode.c (FEATURE_IGEN): Define.
1721 (main): Add --igen option. Generate output in igen format.
1722 (process_instructions): Format output according to igen option.
1723 (print_igen_insn_format): New function.
1724 (print_igen_insn_models): New function.
1725 (process_instructions): Only issue warnings and ignore
1726 instructions when no FEATURE_IGEN.
1727
1728Wed Sep 24 17:38:57 1997 Andrew Cagney <[email protected]>
1729
1730 * interp.c (COP_SD, COP_LD): Add UNUSED to pacify GCC for some
1731 MIPS targets.
1732
1733Tue Sep 23 11:04:38 1997 Andrew Cagney <[email protected]>
1734
1735 * configure: Regenerated to track ../common/aclocal.m4 changes.
1736
1737Tue Sep 23 10:19:51 1997 Andrew Cagney <[email protected]>
1738
1739 * Makefile.in (SIM_ALIGNMENT, SIM_ENDIAN, SIM_HOSTENDIAN,
1740 SIM_RESERVED_BITS): Delete, moved to common.
1741 (SIM_EXTRA_CFLAGS): Update.
1742
1743Mon Sep 22 11:46:20 1997 Andrew Cagney <[email protected]>
1744
1745 * configure.in: Configure non-strict memory alignment.
1746 * configure: Regenerated to track ../common/aclocal.m4 changes.
1747
1748Fri Sep 19 17:45:25 1997 Andrew Cagney <[email protected]>
1749
1750 * configure: Regenerated to track ../common/aclocal.m4 changes.
1751
1752Sat Sep 20 14:07:28 1997 Gavin Koch <[email protected]>
1753
1754 * gencode.c (SDBBP,DERET): Added (3900) insns.
1755 (RFE): Turn on for 3900.
1756 * interp.c (DebugBreakPoint,DEPC,Debug,Debug_*): Added.
1757 (dsstate): Made global.
1758 (SUBTARGET_R3900): Added.
1759 (CANCELDELAYSLOT): New.
1760 (SignalException): Ignore SystemCall rather than ignore and
1761 terminate. Add DebugBreakPoint handling.
1762 (decode_coproc): New insns RFE, DERET; and new registers Debug
1763 and DEPC protected by SUBTARGET_R3900.
1764 (sim_engine_run): Use CANCELDELAYSLOT rather than clearing
1765 bits explicitly.
1766 * Makefile.in,configure.in: Add mips subtarget option.
1767 * configure: Update.
1768
1769Fri Sep 19 09:33:27 1997 Gavin Koch <[email protected]>
1770
1771 * gencode.c: Add r3900 (tx39).
1772
1773
1774Tue Sep 16 15:52:04 1997 Gavin Koch <[email protected]>
1775
1776 * gencode.c (build_instruction): Don't need to subtract 4 for
1777 JALR, just 2.
1778
1779Tue Sep 16 11:32:28 1997 Gavin Koch <[email protected]>
1780
1781 * interp.c: Correct some HASFPU problems.
1782
1783Mon Sep 15 17:36:15 1997 Andrew Cagney <[email protected]>
1784
1785 * configure: Regenerated to track ../common/aclocal.m4 changes.
1786
1787Fri Sep 12 12:01:39 1997 Andrew Cagney <[email protected]>
1788
1789 * interp.c (mips_options): Fix samples option short form, should
1790 be `x'.
1791
1792Thu Sep 11 09:35:29 1997 Andrew Cagney <[email protected]>
1793
1794 * interp.c (sim_info): Enable info code. Was just returning.
1795
1796Tue Sep 9 17:30:57 1997 Andrew Cagney <[email protected]>
1797
1798 * interp.c (decode_coproc): Clarify warning about unsuported MTC0,
1799 MFC0.
1800
1801Tue Sep 9 16:28:28 1997 Andrew Cagney <[email protected]>
1802
1803 * gencode.c (build_instruction): Use SIGNED64 for 64 bit
1804 constants.
1805 (build_instruction): Ditto for LL.
1806
1807Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
1808
1809 * configure: Regenerated to track ../common/aclocal.m4 changes.
1810
1811Wed Aug 27 18:13:22 1997 Andrew Cagney <[email protected]>
1812
1813 * configure: Regenerated to track ../common/aclocal.m4 changes.
1814 * config.in: Ditto.
1815
1816Wed Aug 27 14:12:27 1997 Andrew Cagney <[email protected]>
1817
1818 * interp.c (sim_open): Add call to sim_analyze_program, update
1819 call to sim_config.
1820
1821Tue Aug 26 10:40:07 1997 Andrew Cagney <[email protected]>
1822
1823 * interp.c (sim_kill): Delete.
1824 (sim_create_inferior): Add ABFD argument. Set PC from same.
1825 (sim_load): Move code initializing trap handlers from here.
1826 (sim_open): To here.
1827 (sim_load): Delete, use sim-hload.c.
1828
1829 * Makefile.in (SIM_OBJS): Add sim-hload.o module.
1830
1831Mon Aug 25 17:50:22 1997 Andrew Cagney <[email protected]>
1832
1833 * configure: Regenerated to track ../common/aclocal.m4 changes.
1834 * config.in: Ditto.
1835
1836Mon Aug 25 15:59:48 1997 Andrew Cagney <[email protected]>
1837
1838 * interp.c (sim_open): Add ABFD argument.
1839 (sim_load): Move call to sim_config from here.
1840 (sim_open): To here. Check return status.
1841
1842Fri Jul 25 15:00:45 1997 Gavin Koch <[email protected]>
1843
1844 * gencode.c (build_instruction): Two arg MADD should
1845 not assign result to $0.
1846
1847Thu Jun 26 12:13:17 1997 Angela Marie Thomas ([email protected])
1848
1849 * sim/mips/configure: Change default_sim_endian to 0 (bi-endian)
1850 * sim/mips/configure.in: Regenerate.
1851
1852Wed Jul 9 10:29:21 1997 Andrew Cagney <[email protected]>
1853
1854 * interp.c (SUB_REG_UW, SUB_REG_SW, SUB_REG_*): Use more explicit
1855 signed8, unsigned8 et.al. types.
1856
1857 * interp.c (SUB_REG_FETCH): Handle both little and big endian
1858 hosts when selecting subreg.
1859
1860Wed Jul 2 11:54:10 1997 Jeffrey A Law ([email protected])
1861
1862 * interp.c (sim_engine_run): Reset the ZERO register to zero
1863 regardless of FEATURE_WARN_ZERO.
1864 * gencode.c (FEATURE_WARNINGS): Remove FEATURE_WARN_ZERO.
1865
1866Wed Jun 4 10:43:14 1997 Andrew Cagney <[email protected]>
1867
1868 * interp.c (decode_coproc): Implement MTC0 N, CAUSE.
1869 (SignalException): For BreakPoints ignore any mode bits and just
1870 save the PC.
1871 (SignalException): Always set the CAUSE register.
1872
1873Tue Jun 3 05:00:33 1997 Andrew Cagney <[email protected]>
1874
1875 * interp.c (SignalException): Clear the simDELAYSLOT flag when an
1876 exception has been taken.
1877
1878 * interp.c: Implement the ERET and mt/f sr instructions.
1879
1880Sat May 31 00:44:16 1997 Andrew Cagney <[email protected]>
1881
1882 * interp.c (SignalException): Don't bother restarting an
1883 interrupt.
1884
1885Fri May 30 23:41:48 1997 Andrew Cagney <[email protected]>
1886
1887 * interp.c (SignalException): Really take an interrupt.
1888 (interrupt_event): Only deliver interrupts when enabled.
1889
1890Tue May 27 20:08:06 1997 Andrew Cagney <[email protected]>
1891
1892 * interp.c (sim_info): Only print info when verbose.
1893 (sim_info) Use sim_io_printf for output.
1894
1895Tue May 27 14:22:23 1997 Andrew Cagney <[email protected]>
1896
1897 * interp.c (CoProcPresent): Add UNUSED attribute - not used by all
1898 mips architectures.
1899
1900Tue May 27 14:22:23 1997 Andrew Cagney <[email protected]>
1901
1902 * interp.c (sim_do_command): Check for common commands if a
1903 simulator specific command fails.
1904
1905Thu May 22 09:32:03 1997 Gavin Koch <[email protected]>
1906
1907 * interp.c (sim_engine_run): ifdef out uses of simSTOP, simSTEP
1908 and simBE when DEBUG is defined.
1909
1910Wed May 21 09:08:10 1997 Andrew Cagney <[email protected]>
1911
1912 * interp.c (interrupt_event): New function. Pass exception event
1913 onto exception handler.
1914
1915 * configure.in: Check for stdlib.h.
1916 * configure: Regenerate.
1917
1918 * gencode.c (build_instruction): Add UNUSED attribute to tempS
1919 variable declaration.
1920 (build_instruction): Initialize memval1.
1921 (build_instruction): Add UNUSED attribute to byte, bigend,
1922 reverse.
1923 (build_operands): Ditto.
1924
1925 * interp.c: Fix GCC warnings.
1926 (sim_get_quit_code): Delete.
1927
1928 * configure.in: Add INLINE, ENDIAN, HOSTENDIAN and WARNINGS.
1929 * Makefile.in: Ditto.
1930 * configure: Re-generate.
1931
1932 * Makefile.in (SIM_OBJS): Add sim-watch.o module.
1933
1934Tue May 20 15:08:56 1997 Andrew Cagney <[email protected]>
1935
1936 * interp.c (mips_option_handler): New function parse argumes using
1937 sim-options.
1938 (myname): Replace with STATE_MY_NAME.
1939 (sim_open): Delete check for host endianness - performed by
1940 sim_config.
1941 (simHOSTBE, simBE): Delete, replaced by sim-endian flags.
1942 (sim_open): Move much of the initialization from here.
1943 (sim_load): To here. After the image has been loaded and
1944 endianness set.
1945 (sim_open): Move ColdReset from here.
1946 (sim_create_inferior): To here.
1947 (sim_open): Make FP check less dependant on host endianness.
1948
1949 * Makefile.in (SIM_RUN_OBJS): Set to nrun.o - use new version or
1950 run.
1951 * interp.c (sim_set_callbacks): Delete.
1952
1953 * interp.c (membank, membank_base, membank_size): Replace with
1954 STATE_MEMORY, STATE_MEM_SIZE, STATE_MEM_BASE.
1955 (sim_open): Remove call to callback->init. gdb/run do this.
1956
1957 * interp.c: Update
1958
1959 * sim-main.h (SIM_HAVE_FLATMEM): Define.
1960
1961 * interp.c (big_endian_p): Delete, replaced by
1962 current_target_byte_order.
1963
1964Tue May 20 13:55:00 1997 Andrew Cagney <[email protected]>
1965
1966 * interp.c (host_read_long, host_read_word, host_swap_word,
1967 host_swap_long): Delete. Using common sim-endian.
1968 (sim_fetch_register, sim_store_register): Use H2T.
1969 (pipeline_ticks): Delete. Handled by sim-events.
1970 (sim_info): Update.
1971 (sim_engine_run): Update.
1972
1973Tue May 20 13:42:03 1997 Andrew Cagney <[email protected]>
1974
1975 * interp.c (sim_stop_reason): Move code determining simEXCEPTION
1976 reason from here.
1977 (SignalException): To here. Signal using sim_engine_halt.
1978 (sim_stop_reason): Delete, moved to common.
1979
1980Tue May 20 10:19:48 1997 Andrew Cagney <[email protected]>
1981
1982 * interp.c (sim_open): Add callback argument.
1983 (sim_set_callbacks): Delete SIM_DESC argument.
1984 (sim_size): Ditto.
1985
1986Mon May 19 18:20:38 1997 Andrew Cagney <[email protected]>
1987
1988 * Makefile.in (SIM_OBJS): Add common modules.
1989
1990 * interp.c (sim_set_callbacks): Also set SD callback.
1991 (set_endianness, xfer_*, swap_*): Delete.
1992 (host_read_word, host_read_long, host_swap_word, host_swap_long):
1993 Change to functions using sim-endian macros.
1994 (control_c, sim_stop): Delete, use common version.
1995 (simulate): Convert into.
1996 (sim_engine_run): This function.
1997 (sim_resume): Delete.
1998
1999 * interp.c (simulation): New variable - the simulator object.
2000 (sim_kind): Delete global - merged into simulation.
2001 (sim_load): Cleanup. Move PC assignment from here.
2002 (sim_create_inferior): To here.
2003
2004 * sim-main.h: New file.
2005 * interp.c (sim-main.h): Include.
2006
2007Thu Apr 24 00:39:51 1997 Doug Evans <[email protected]>
2008
2009 * configure: Regenerated to track ../common/aclocal.m4 changes.
2010
2011Wed Apr 23 17:32:19 1997 Doug Evans <[email protected]>
2012
2013 * tconfig.in (SIM_HAVE_BIENDIAN): Define.
2014
2015Mon Apr 21 17:16:13 1997 Gavin Koch <[email protected]>
2016
2017 * gencode.c (build_instruction): DIV instructions: check
2018 for division by zero and integer overflow before using
2019 host's division operation.
2020
2021Thu Apr 17 03:18:14 1997 Doug Evans <[email protected]>
2022
2023 * Makefile.in (SIM_OBJS): Add sim-load.o.
2024 * interp.c: #include bfd.h.
2025 (target_byte_order): Delete.
2026 (sim_kind, myname, big_endian_p): New static locals.
2027 (sim_open): Set sim_kind, myname. Move call to set_endianness to
2028 after argument parsing. Recognize -E arg, set endianness accordingly.
2029 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
2030 load file into simulator. Set PC from bfd.
2031 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
2032 (set_endianness): Use big_endian_p instead of target_byte_order.
2033
2034Wed Apr 16 17:55:37 1997 Andrew Cagney <[email protected]>
2035
2036 * interp.c (sim_size): Delete prototype - conflicts with
2037 definition in remote-sim.h. Correct definition.
2038
2039Mon Apr 7 15:45:02 1997 Andrew Cagney <[email protected]>
2040
2041 * configure: Regenerated to track ../common/aclocal.m4 changes.
2042 * config.in: Ditto.
2043
2044Wed Apr 2 15:06:28 1997 Doug Evans <[email protected]>
2045
2046 * interp.c (sim_open): New arg `kind'.
2047
2048 * configure: Regenerated to track ../common/aclocal.m4 changes.
2049
2050Wed Apr 2 14:34:19 1997 Andrew Cagney <[email protected]>
2051
2052 * configure: Regenerated to track ../common/aclocal.m4 changes.
2053
2054Tue Mar 25 11:38:22 1997 Doug Evans <[email protected]>
2055
2056 * interp.c (sim_open): Set optind to 0 before calling getopt.
2057
2058Wed Mar 19 01:14:00 1997 Andrew Cagney <[email protected]>
2059
2060 * configure: Regenerated to track ../common/aclocal.m4 changes.
2061
2062Mon Mar 17 10:52:59 1997 Gavin Koch <[email protected]>
2063
2064 * interp.c : Replace uses of pr_addr with pr_uword64
2065 where the bit length is always 64 independent of SIM_ADDR.
2066 (pr_uword64) : added.
2067
2068Mon Mar 17 15:10:07 1997 Andrew Cagney <[email protected]>
2069
2070 * configure: Re-generate.
2071
2072Fri Mar 14 10:34:11 1997 Michael Meissner <[email protected]>
2073
2074 * configure: Regenerate to track ../common/aclocal.m4 changes.
2075
2076Thu Mar 13 12:51:36 1997 Doug Evans <[email protected]>
2077
2078 * interp.c (sim_open): New SIM_DESC result. Argument is now
2079 in argv form.
2080 (other sim_*): New SIM_DESC argument.
2081
2082Mon Feb 24 22:47:14 1997 Dawn Perchik <[email protected]>
2083
2084 * interp.c: Fix printing of addresses for non-64-bit targets.
2085 (pr_addr): Add function to print address based on size.
2086
2087Wed Feb 19 14:42:09 1997 Mark Alexander <[email protected]>
2088
2089 * interp.c (simopen): Add support for LSI MiniRISC PMON vectors.
2090
2091Thu Feb 13 14:08:30 1997 Ian Lance Taylor <[email protected]>
2092
2093 * gencode.c (build_mips16_operands): Correct computation of base
2094 address for extended PC relative instruction.
2095
2096Thu Feb 6 17:16:15 1997 Ian Lance Taylor <[email protected]>
2097
2098 * interp.c (mips16_entry): Add support for floating point cases.
2099 (SignalException): Pass floating point cases to mips16_entry.
2100 (ValueFPR): Don't restrict fmt_single and fmt_word to even
2101 registers.
2102 (StoreFPR): Likewise. Also, don't clobber fpr + 1 for fmt_single
2103 or fmt_word.
2104 (COP_LW): Pass fmt_word rather than fmt_uninterpreted to StoreFPR,
2105 and then set the state to fmt_uninterpreted.
2106 (COP_SW): Temporarily set the state to fmt_word while calling
2107 ValueFPR.
2108
2109Tue Feb 4 16:48:25 1997 Ian Lance Taylor <[email protected]>
2110
2111 * gencode.c (build_instruction): The high order may be set in the
2112 comparison flags at any ISA level, not just ISA 4.
2113
2114Tue Feb 4 13:33:30 1997 Doug Evans <[email protected]>
2115
2116 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
2117 COMMON_{PRE,POST}_CONFIG_FRAG instead.
2118 * configure.in: sinclude ../common/aclocal.m4.
2119 * configure: Regenerated.
2120
2121Fri Jan 31 11:11:45 1997 Ian Lance Taylor <[email protected]>
2122
2123 * configure: Rebuild after change to aclocal.m4.
2124
2125Thu Jan 23 11:46:23 1997 Stu Grossman ([email protected])
2126
2127 * configure configure.in Makefile.in: Update to new configure
2128 scheme which is more compatible with WinGDB builds.
2129 * configure.in: Improve comment on how to run autoconf.
2130 * configure: Re-run autoconf to get new ../common/aclocal.m4.
2131 * Makefile.in: Use autoconf substitution to install common
2132 makefile fragment.
2133
2134Wed Jan 8 12:39:03 1997 Jim Wilson <[email protected]>
2135
2136 * gencode.c (build_instruction): Use BigEndianCPU instead of
2137 ByteSwapMem.
2138
2139Thu Jan 02 22:23:04 1997 Mark Alexander <[email protected]>
2140
2141 * interp.c (sim_monitor): Make output to stdout visible in
2142 wingdb's I/O log window.
2143
2144Tue Dec 31 07:04:00 1996 Mark Alexander <[email protected]>
2145
2146 * support.h: Undo previous change to SIGTRAP
2147 and SIGQUIT values.
2148
2149Mon Dec 30 17:36:06 1996 Ian Lance Taylor <[email protected]>
2150
2151 * interp.c (store_word, load_word): New static functions.
2152 (mips16_entry): New static function.
2153 (SignalException): Look for mips16 entry and exit instructions.
2154 (simulate): Use the correct index when setting fpr_state after
2155 doing a pending move.
2156
2157Sun Dec 29 09:37:18 1996 Mark Alexander <[email protected]>
2158
2159 * interp.c: Fix byte-swapping code throughout to work on
2160 both little- and big-endian hosts.
2161
2162Sun Dec 29 09:18:32 1996 Mark Alexander <[email protected]>
2163
2164 * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
2165 with gdb/config/i386/xm-windows.h.
2166
2167Fri Dec 27 22:48:51 1996 Mark Alexander <[email protected]>
2168
2169 * gencode.c (build_instruction): Work around MSVC++ code gen bug
2170 that messes up arithmetic shifts.
2171
2172Fri Dec 20 11:04:05 1996 Stu Grossman ([email protected])
2173
2174 * support.h: Use _WIN32 instead of __WIN32__. Also add defs for
2175 SIGTRAP and SIGQUIT for _WIN32.
2176
2177Thu Dec 19 14:07:27 1996 Ian Lance Taylor <[email protected]>
2178
2179 * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
2180 force a 64 bit multiplication.
2181 (build_instruction) [OR]: In mips16 mode, don't do anything if the
2182 destination register is 0, since that is the default mips16 nop
2183 instruction.
2184
2185Mon Dec 16 14:59:38 1996 Ian Lance Taylor <[email protected]>
2186
2187 * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
2188 (build_endian_shift): Don't check proc64.
2189 (build_instruction): Always set memval to uword64. Cast op2 to
2190 uword64 when shifting it left in memory instructions. Always use
2191 the same code for stores--don't special case proc64.
2192
2193 * gencode.c (build_mips16_operands): Fix base PC value for PC
2194 relative operands.
2195 (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
2196 jal instruction.
2197 * interp.c (simJALDELAYSLOT): Define.
2198 (JALDELAYSLOT): Define.
2199 (INDELAYSLOT, INJALDELAYSLOT): Define.
2200 (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
2201
2202Tue Dec 24 22:11:20 1996 Angela Marie Thomas ([email protected])
2203
2204 * interp.c (sim_open): add flush_cache as a PMON routine
2205 (sim_monitor): handle flush_cache by ignoring it
2206
2207Wed Dec 11 13:53:51 1996 Jim Wilson <[email protected]>
2208
2209 * gencode.c (build_instruction): Use !ByteSwapMem instead of
2210 BigEndianMem.
2211 * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
2212 (BigEndianMem): Rename to ByteSwapMem and change sense.
2213 (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
2214 BigEndianMem references to !ByteSwapMem.
2215 (set_endianness): New function, with prototype.
2216 (sim_open): Call set_endianness.
2217 (sim_info): Use simBE instead of BigEndianMem.
2218 (xfer_direct_word, xfer_direct_long, swap_direct_word,
2219 swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word,
2220 xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER
2221 ifdefs, keeping the prototype declaration.
2222 (swap_word): Rewrite correctly.
2223 (ColdReset): Delete references to CONFIG. Delete endianness related
2224 code; moved to set_endianness.
2225
2226Tue Dec 10 11:32:04 1996 Jim Wilson <[email protected]>
2227
2228 * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
2229 * interp.c (CHECKHILO): Define away.
2230 (simSIGINT): New macro.
2231 (membank_size): Increase from 1MB to 2MB.
2232 (control_c): New function.
2233 (sim_resume): Rename parameter signal to signal_number. Add local
2234 variable prev. Call signal before and after simulate.
2235 (sim_stop_reason): Add simSIGINT support.
2236 (sim_warning, sim_error, dotrace, SignalException): Define as stdarg
2237 functions always.
2238 (sim_warning): Delete call to SignalException. Do call printf_filtered
2239 if logfh is NULL.
2240 (AddressTranslation): Add #ifdef DEBUG around debugging message and
2241 a call to sim_warning.
2242
2243Wed Nov 27 11:53:50 1996 Ian Lance Taylor <[email protected]>
2244
2245 * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
2246 16 bit instructions.
2247
2248Tue Nov 26 11:53:12 1996 Ian Lance Taylor <[email protected]>
2249
2250 Add support for mips16 (16 bit MIPS implementation):
2251 * gencode.c (inst_type): Add mips16 instruction encoding types.
2252 (GETDATASIZEINSN): Define.
2253 (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
2254 jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
2255 mtlo.
2256 (MIPS16_DECODE): New table, for mips16 instructions.
2257 (bitmap_val): New static function.
2258 (struct mips16_op): Define.
2259 (mips16_op_table): New table, for mips16 operands.
2260 (build_mips16_operands): New static function.
2261 (process_instructions): If PC is odd, decode a mips16
2262 instruction. Break out instruction handling into new
2263 build_instruction function.
2264 (build_instruction): New static function, broken out of
2265 process_instructions. Check modifiers rather than flags for SHIFT
2266 bit count and m[ft]{hi,lo} direction.
2267 (usage): Pass program name to fprintf.
2268 (main): Remove unused variable this_option_optind. Change
2269 ``*loptarg++'' to ``loptarg++''.
2270 (my_strtoul): Parenthesize && within ||.
2271 * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd.
2272 (simulate): If PC is odd, fetch a 16 bit instruction, and
2273 increment PC by 2 rather than 4.
2274 * configure.in: Add case for mips16*-*-*.
2275 * configure: Rebuild.
2276
2277Fri Nov 22 08:49:36 1996 Mark Alexander <[email protected]>
2278
2279 * interp.c: Allow -t to enable tracing in standalone simulator.
2280 Fix garbage output in trace file and error messages.
2281
2282Wed Nov 20 01:54:37 1996 Doug Evans <[email protected]>
2283
2284 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
2285 (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
2286 * configure.in: Simplify using macros in ../common/aclocal.m4.
2287 * configure: Regenerated.
2288 * tconfig.in: New file.
2289
2290Tue Nov 12 13:34:00 1996 Dawn Perchik <[email protected]>
2291
2292 * interp.c: Fix bugs in 64-bit port.
2293 Use ansi function declarations for msvc compiler.
2294 Initialize and test file pointer in trace code.
2295 Prevent duplicate definition of LAST_EMED_REGNUM.
2296
2297Tue Oct 15 11:07:06 1996 Mark Alexander <[email protected]>
2298
2299 * interp.c (xfer_big_long): Prevent unwanted sign extension.
2300
2301Thu Sep 26 17:35:00 1996 James G. Smith <[email protected]>
2302
2303 * interp.c (SignalException): Check for explicit terminating
2304 breakpoint value.
2305 * gencode.c: Pass instruction value through SignalException()
2306 calls for Trap, Breakpoint and Syscall.
2307
2308Thu Sep 26 11:35:17 1996 James G. Smith <[email protected]>
2309
2310 * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
2311 only used on those hosts that provide it.
2312 * configure.in: Add sqrt() to list of functions to be checked for.
2313 * config.in: Re-generated.
2314 * configure: Re-generated.
2315
2316Fri Sep 20 15:47:12 1996 Ian Lance Taylor <[email protected]>
2317
2318 * gencode.c (process_instructions): Call build_endian_shift when
2319 expanding STORE RIGHT, to fix swr.
2320 * support.h (SIGNEXTEND): If the sign bit is not set, explicitly
2321 clear the high bits.
2322 * interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
2323 Fix float to int conversions to produce signed values.
2324
2325Thu Sep 19 15:34:17 1996 Ian Lance Taylor <[email protected]>
2326
2327 * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction.
2328 (process_instructions): Correct handling of nor instruction.
2329 Correct shift count for 32 bit shift instructions. Correct sign
2330 extension for arithmetic shifts to not shift the number of bits in
2331 the type. Fix 64 bit multiply high word calculation. Fix 32 bit
2332 unsigned multiply. Fix ldxc1 and friends to use coprocessor 1.
2333 Fix madd.
2334 * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
2335 It's OK to have a mult follow a mult. What's not OK is to have a
2336 mult follow an mfhi.
2337 (Convert): Comment out incorrect rounding code.
2338
2339Mon Sep 16 11:38:16 1996 James G. Smith <[email protected]>
2340
2341 * interp.c (sim_monitor): Improved monitor printf
2342 simulation. Tidied up simulator warnings, and added "--log" option
2343 for directing warning message output.
2344 * gencode.c: Use sim_warning() rather than WARNING macro.
2345
2346Thu Aug 22 15:03:12 1996 Ian Lance Taylor <[email protected]>
2347
2348 * Makefile.in (gencode): Depend upon gencode.o, getopt.o, and
2349 getopt1.o, rather than on gencode.c. Link objects together.
2350 Don't link against -liberty.
2351 (gencode.o, getopt.o, getopt1.o): New targets.
2352 * gencode.c: Include <ctype.h> and "ansidecl.h".
2353 (AND): Undefine after including "ansidecl.h".
2354 (ULONG_MAX): Define if not defined.
2355 (OP_*): Don't define macros; now defined in opcode/mips.h.
2356 (main): Call my_strtoul rather than strtoul.
2357 (my_strtoul): New static function.
2358
2359Wed Jul 17 18:12:38 1996 Stu Grossman ([email protected])
2360
2361 * gencode.c (process_instructions): Generate word64 and uword64
2362 instead of `long long' and `unsigned long long' data types.
2363 * interp.c: #include sysdep.h to get signals, and define default
2364 for SIGBUS.
2365 * (Convert): Work around for Visual-C++ compiler bug with type
2366 conversion.
2367 * support.h: Make things compile under Visual-C++ by using
2368 __int64 instead of `long long'. Change many refs to long long
2369 into word64/uword64 typedefs.
2370
2371Wed Jun 26 12:24:55 1996 Jason Molenda ([email protected])
2372
2373 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
2374 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
2375 (docdir): Removed.
2376 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
2377 (AC_PROG_INSTALL): Added.
2378 (AC_PROG_CC): Moved to before configure.host call.
2379 * configure: Rebuilt.
2380
2381Wed Jun 5 08:28:13 1996 James G. Smith <[email protected]>
2382
2383 * configure.in: Define @SIMCONF@ depending on mips target.
2384 * configure: Rebuild.
2385 * Makefile.in (run): Add @SIMCONF@ to control simulator
2386 construction.
2387 * gencode.c: Change LOADDRMASK to 64bit memory model only.
2388 * interp.c: Remove some debugging, provide more detailed error
2389 messages, update memory accesses to use LOADDRMASK.
2390
2391Mon Jun 3 11:55:03 1996 Ian Lance Taylor <[email protected]>
2392
2393 * configure.in: Add calls to AC_CONFIG_HEADER, AC_CHECK_HEADERS,
2394 AC_CHECK_LIB, and AC_CHECK_FUNCS. Change AC_OUTPUT to set
2395 stamp-h.
2396 * configure: Rebuild.
2397 * config.in: New file, generated by autoheader.
2398 * interp.c: Include "config.h". Include <stdlib.h>, <string.h>,
2399 and <strings.h> if they exist. Replace #ifdef sun with #ifdef
2400 HAVE_ANINT and HAVE_AINT, as appropriate.
2401 * Makefile.in (run): Use @LIBS@ rather than -lm.
2402 (interp.o): Depend upon config.h.
2403 (Makefile): Just rebuild Makefile.
2404 (clean): Remove stamp-h.
2405 (mostlyclean): Make the same as clean, not as distclean.
2406 (config.h, stamp-h): New targets.
2407
2408Fri May 10 00:41:17 1996 James G. Smith <[email protected]>
2409
2410 * interp.c (ColdReset): Fix boolean test. Make all simulator
2411 globals static.
2412
2413Wed May 8 15:12:58 1996 James G. Smith <[email protected]>
2414
2415 * interp.c (xfer_direct_word, xfer_direct_long,
2416 swap_direct_word, swap_direct_long, xfer_big_word,
2417 xfer_big_long, xfer_little_word, xfer_little_long,
2418 swap_word,swap_long): Added.
2419 * interp.c (ColdReset): Provide function indirection to
2420 host<->simulated_target transfer routines.
2421 * interp.c (sim_store_register, sim_fetch_register): Updated to
2422 make use of indirected transfer routines.
2423
2424Fri Apr 19 15:48:24 1996 James G. Smith <[email protected]>
2425
2426 * gencode.c (process_instructions): Ensure FP ABS instruction
2427 recognised.
2428 * interp.c (AbsoluteValue): Add routine. Also provide simple PMON
2429 system call support.
2430
2431Wed Apr 10 09:51:38 1996 James G. Smith <[email protected]>
2432
2433 * interp.c (sim_do_command): Complain if callback structure not
2434 initialised.
2435
2436Thu Mar 28 13:50:51 1996 James G. Smith <[email protected]>
2437
2438 * interp.c (Convert): Provide round-to-nearest and round-to-zero
2439 support for Sun hosts.
2440 * Makefile.in (gencode): Ensure the host compiler and libraries
2441 used for cross-hosted build.
2442
2443Wed Mar 27 14:42:12 1996 James G. Smith <[email protected]>
2444
2445 * interp.c, gencode.c: Some more (TODO) tidying.
2446
2447Thu Mar 7 11:19:33 1996 James G. Smith <[email protected]>
2448
2449 * gencode.c, interp.c: Replaced explicit long long references with
2450 WORD64HI, WORD64LO, SET64HI and SET64LO macro calls.
2451 * support.h (SET64LO, SET64HI): Macros added.
2452
2453Wed Feb 21 12:16:21 1996 Ian Lance Taylor <[email protected]>
2454
2455 * configure: Regenerate with autoconf 2.7.
2456
2457Tue Jan 30 08:48:18 1996 Fred Fish <[email protected]>
2458
2459 * interp.c (LoadMemory): Enclose text following #endif in /* */.
2460 * support.h: Remove superfluous "1" from #if.
2461 * support.h (CHECKSIM): Remove stray 'a' at end of line.
2462
2463Mon Dec 4 11:44:40 1995 Jamie Smith <[email protected]>
2464
2465 * interp.c (StoreFPR): Control UndefinedResult() call on
2466 WARN_RESULT manifest.
2467
2468Fri Dec 1 16:37:19 1995 James G. Smith <[email protected]>
2469
2470 * gencode.c: Tidied instruction decoding, and added FP instruction
2471 support.
2472
2473 * interp.c: Added dineroIII, and BSD profiling support. Also
2474 run-time FP handling.
2475
2476Sun Oct 22 00:57:18 1995 James G. Smith <[email protected]>
2477
2478 * Changelog, Makefile.in, README.Cygnus, configure, configure.in,
2479 gencode.c, interp.c, support.h: created.
This page took 0.483628 seconds and 4 git commands to generate.