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