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