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