* Contribute CGEN simulator build support code.
[binutils-gdb.git] / sim / mn10300 / ChangeLog
blob3d76d2c4cc67b8025319214024703fe4165022e6
1 Wed Aug  9 02:24:53 2000  Graham Stott  <grahams@cygnus.co.uk>
3         * am33.igen: Warning clean-up.
4         (movm): Initialize PC and mask.
5         (mov, movbu, movhu): Set srcreg2 from RI0.
6         (bsch): Initialize c.
7         (sat16_cmp): Actually do the comparison.
8         (mov_llt): Do not overwrite dstreg with uninitialized variable.
10 Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>
12         * configure: Regenerated to track ../common/aclocal.m4 changes.
14 2000-05-22  Alexandre Oliva  <aoliva@cygnus.com>
16         * am33.igen: Fix leading comments of SP-relative offset insns that
17         referred to other registers.  Make their offsets unsigned.
19 2000-05-18  Alexandre Oliva  <aoliva@cygnus.com>
21         * mn10300_sim.h (genericAdd, genericSub, genericCmp, genericOr,
22         genericXor, genericBtst): Use `unsigned32'.
23         * op_utils.c: Likewise.
24         * mn10300.igen, am33.igen: Use `unsigned32', `signed32',
25         `unsigned64' or `signed64' where type width is relevant.
27 2000-04-25  Alexandre Oliva  <aoliva@cygnus.com>
29         * am33.igen (inc4 Rn): Use genericAdd so as to modify flags.
31 2000-04-09  Alexandre Oliva  <aoliva@cygnus.com>
33         * am33.igen: Make SP-relative offsets unsigned.  Add `*am33' for
34         some instructions that were missing it.
36 2000-03-03  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
38         * Makefile.in (IGEN_INSN): Added am33.igen.
40 Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
42         * configure: Regenerated to track ../common/aclocal.m4 changes.
44 Tue Jul 13 13:26:20 1999  Andrew Cagney  <cagney@b1.cygnus.com>
46         * interp.c: Clarify error message reporting an unknown board.
48 1999-05-08  Felix Lee  <flee@cygnus.com>
50         * configure: Regenerated to track ../common/aclocal.m4 changes.
51         
52 1999-04-16  Frank Ch. Eigler  <fche@cygnus.com>
54         * interp.c (program_interrupt): Detect undesired recursion using
55         static flag.  Set NMIRC register's SYSEF flag during
56         --board=stdeval1 mode.
57         * dv-mn103-int.c (write_icr): Add backdoor address to allow CPU to
58         set SYSEF flag.
60 1999-04-02  Keith Seitz  <keiths@cygnus.com>
62         * Makefile.in (SIM_EXTRA_CFLAGS): Define a POLL_QUIT_INTERVAL
63         for use in the simulator so that the poll_quit callback is
64         not called too often.
66 Tue Mar  9 21:26:41 1999  Andrew Cagney  <cagney@b1.cygnus.com>
68         * dv-mn103int.c (mn103int_ioctl): Return something.
69         * dv-mn103tim.c (write_tm6md): GCC suggested parentheses around &&
70         within ||.
72 Tue Feb 16 23:57:17 1999  Jeffrey A Law  (law@cygnus.com)
74         * mn10300.igen (retf): Fix return address computation and store
75         the new pc value into nia.
77 1998-12-29  Frank Ch. Eigler  <fche@cygnus.com>
79         * Makefile.in (WITH_COMMON_OBJS): Build also dv-sockser.o.
80         * interp.c (sim_open): Add stub mn103002 cache control memory regions.
81         Set OPERATING_ENVIRONMENT on "stdeval1" board.
82         (mn10300_core_signal): New function to intercept memory errors.
83         (program_interrupt): New function to dispatch to exception vector
84         (mn10300_exception_*): New functions to snapshot pre/post exception
85         state.
86         * sim-main.h (SIM_CORE_SIGNAL): Define hook - call mn10300_core_signal.
87         (SIM_ENGINE_HALT_HOOK): Do nothing. 
88         (SIM_CPU_EXCEPTION*): Define hooks to call mn10300_cpu_exception*().
89         (_sim_cpu): Add exc_* fields to store register value snapshots. 
90         * dv-mn103ser.c (*): Support dv-sockser backend for UART I/O.
91         Various endianness and warning fixes.
92         * mn10300.igen (illegal): Call program_interrupt on error.
93         (break): Call program_interrupt on breakpoint
94         
95         Several changes from <janczyn@cygnus.com> and <cagney@cygnus.com>
96         merged in:
97         * dv-mn103int.c (mn103int_ioctl): New function for NMI
98         generation. (mn103int_finish): Install it as ioctl handler.
99         * dv-mn103tim.c: Support timer 6 specially.  Endianness fixes.
100         
101 Wed Oct 14 12:11:05 1998  Jeffrey A Law  (law@cygnus.com)
103         * am33.igen: Allow autoincrement stores using the same register
104         for source and destination operands.
106 Mon Aug 31 10:19:55 1998  Jeffrey A Law  (law@cygnus.com)
108         * am33.igen: Reverse HI/LO outputs of 4 operand "mul" and "mulu".
110 Fri Aug 28 14:40:49 1998  Joyce Janczyn  <janczyn@cygnus.com>
112         * interp.c (sim_open): Check for invalid --board option, fix
113         indentation, allocate memory for mem control and DMA regs.
115 Wed Aug 26 09:29:38 1998  Joyce Janczyn  <janczyn@cygnus.com>
117         * mn10300.igen (div,divu): Fix divide instructions so divide by 0
118         behaves like the hardware.
120 Mon Aug 24 11:50:09 1998  Joyce Janczyn  <janczyn@cygnus.com>
122         * sim-main.h (SIM_HANDLES_LMA): Define SIM_HANDLES_LMA.
124 Wed Aug 12 12:36:07 1998  Jeffrey A Law  (law@cygnus.com)
126         * am33.igen: Handle case where first DSP operation modifies a 
127         register used in the second DSP operation correctly.
129 Tue Jul 28 10:10:25 1998  Jeffrey A Law  (law@cygnus.com)
131         * am33.igen: Detect cases where two operands must not match for
132         DSP instructions too.
134 Mon Jul 27 12:04:17 1998  Jeffrey A Law  (law@cygnus.com)
136         * am33.igen: Detect cases where two operands must not match in
137         non-DSP instructions.
139 Fri Jul 24 18:15:21 1998  Joyce Janczyn  <janczyn@cygnus.com>
141         * op_utils.c (do_syscall): Rewrite to use common/syscall.c.
142         (syscall_read_mem, syscall_write_mem): New functions for syscall
143         callbacks.
144         * mn10300_sim.h: Add prototypes for syscall_read_mem and
145         syscall_write_mem. 
146         * mn10300.igen: Change C++ style comments to C style comments.
147         Check for divide by zero in div and divu ops.
149 Fri Jul 24 12:49:28 1998  Jeffrey A Law  (law@cygnus.com)
151         * am33.igen (translate_xreg): New function.  Use it as needed.
153 Thu Jul 23 10:05:28 1998  Jeffrey A Law  (law@cygnus.com)
155         * am33.igen: Add some missing instructions.
157         * am33.igen: Autoincrement loads/store fixes.
159 Tue Jul 21 09:48:14 1998  Jeffrey A Law  (law@cygnus.com)
161         * am33.igen: Add mov_lCC DSP instructions.
163         * am33.igen: Add most am33 DSP instructions.
165 Thu Jul  9 10:06:55 1998  Jeffrey A Law  (law@cygnus.com)
167         * mn10300.igen: Fix Z bit for addc and subc instructions.
168         Minor fixes in multiply/divide patterns.
170         * am33.igen: Add missing mul[u] imm32,Rn.  Fix condition code
171         handling for many instructions.  Fix sign extension for some
172         24bit immediates.
174         * am33.igen: Fix Z bit for remaining addc/subc instructions.
175         Do not sign extend immediate for mov imm,XRn.
176         More random mul, mac & div fixes.
177         Remove some unused variables.
178         Sign extend 24bit displacement in memory addresses.
180         * am33.igen: Fix Z bit for addc Rm,Rn and subc Rm,Rn.  Various
181         fixes to 2 register multiply, divide and mac instructions.  Set
182         Z,N correctly for sat16.  Sign extend 24 bit immediate for add,
183         and sub instructions.
185         * am33.igen: Add remaining non-DSP instructions.
187 Wed Jul  8 16:29:12 1998  Jeffrey A Law  (law@cygnus.com)
189         * am33.igen (translate_rreg): New function.  Use it as appropriate.
191         * am33.igen: More am33 instructions.  Fix "div".
193 Mon Jul  6 15:39:22 1998  Jeffrey A Law  (law@cygnus.com)
195         * mn10300.igen: Add am33 support.
197         * Makefile.in: Use multi-sim to support both a mn10300 and am33
198         simulator.
200         * am33.igen: Add many more am33 instructions.
202 Wed Jul  1 17:07:09 1998  Jeffrey A Law  (law@cygnus.com)
204         * mn10300_sim.h (FETCH24): Define.
206         * mn10300_sim.h: Add defines for some registers found on the AM33.
207         * am33.igen: New file with some am33 support.
209 Tue Jun 30 11:23:20 1998  Jeffrey A Law  (law@cygnus.com)
211         * mn10300_sim.h: Include bfd.h
212         (struct state): Add more room for processor specific registers.
213         (REG_E0): Define.
215 Thu Jun 25 10:12:03 1998  Joyce Janczyn  <janczyn@cygnus.com>
217         * dv-mn103tim.c: Include sim-assert.h
218         * dv-mn103ser.c (do_polling_event): Check for incoming data on
219         serial line and schedule next polling event.
220         (read_status_reg): schedule events to check for incoming data on
221         serial line and issue interrupt if necessary.
222         
223 Fri Jun 19 16:47:27 1998  Joyce Janczyn  <janczyn@cygnus.com>
225         * interp.c (sim_open): hook up serial 1 and 2 ports properly (typo).
227 Fri Jun 19 11:59:26 1998  Joyce Janczyn  <janczyn@cygnus.com>
229         * interp.c (board): Rename am32 to stdeval1 as this is the name
230         consistently used to refer to the mn1030002 board.
232 Thu June 18 14:37:14 1998  Joyce Janczyn  <janczyn@cygnus.com>
233         * interp.c (sim_open): Fix typo in address of EXTMD register
234         (0x34000280, not 0x3400280).
236 Wed Jun 17 18:00:18 1998  Jeffrey A Law  (law@cygnus.com)
238         * simops.c (syscall): Handle change in opcode # for syscall.
239         * mn10300.igen (syscall): Likewise.
241 Tue June 16 09:36:21 1998  Joyce Janczyn  <janczyn@cygnus.com>
242         * dv-mn103int.c (mn103int_finish): Regular interrupts (not NMI or
243         reset) are not enabled on reset.
244         
245 Sun June 14 17:04:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
246         * dv-mn103iop.c (write_*_reg): Check for attempt to write r/o
247         register bits.
248         * dv-mn103ser.c: Fill in methods for reading and writing to serial
249         device registers.
250         * interp.c (sim_open): Make the serial device a polling device.
251         
252 Fri June 12 16:24:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
253         * dv-mn103iop.c: New file for handling am32 io ports.
254         * configure.in: Add mn103iop to hw_device list.
255         * configure: Re-generate.
256         * interp.c (sim_open): Create io port device.
258 Wed June 10 14:34:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
259         * dv-mn103int.c (external_group): Use enumerated types to access
260         correct group addresses.
261         * dv-mn103tim.c (do_counter_event): Underflow of cascaded timer
262         triggers an interrupt on the higher-numbered timer's port.
264 Mon June 8 13:30:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
265         * interp.c: (mn10300_option_handler): New function parses arguments
266         using sim-options.
267         * (board): Add --board option for specifying am32.
268         * (sim_open): Create new timer and serial devices and control
269         configuration of other am32 devices via board option.
270         * dv-mn103tim.c, dv-mn103ser.c: New files for timers and serial devices.
271         * dv-mn103cpu.c: Fix typos in opening comments.
272         * dv-mn103int.c: Adjust interrupt controller settings for am32 instead of am30.
273         * configure.in: Add mn103tim and mn103ser to hw_device list.
274         * configure: Re-generate.
276 Mon May 25 20:50:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>
278         * dv-mn103int.c, dv-mn103cpu.c: Rename *_callback to *_method.
280         * dv-mn103cpu.c, dv-mn103int.c: Include hw-main.h and
281         sim-main.h. Declare a struct hw_descriptor instead of struct
282         hw_device_descriptor.
284 Mon May 25 17:33:33 1998  Andrew Cagney  <cagney@b1.cygnus.com>
286         * dv-mn103cpu.c (struct mn103cpu): Change type of pending_handler
287         to struct hw_event.
289 Fri May 22 12:17:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
291         * configure.in (SIM_AC_OPTION_HARDWARE): Add argument "yes".
293 Wed May  6 13:29:06 1998  Andrew Cagney  <cagney@b1.cygnus.com>
295         * interp.c (sim_open): Create a polling PAL device.
297 Fri May  1 16:39:15 1998  Andrew Cagney  <cagney@b1.cygnus.com>
299         * dv-mn103int.c (mn103int_port_event): 
300         (mn103int_port_event): 
301         (mn103int_io_read_buffer): 
302         (mn103int_io_write_buffer): 
304         * dv-mn103cpu.c (deliver_mn103cpu_interrupt): Drop CPU/CIA args.
305         (mn103cpu_port_event): Ditto.
306         (mn103cpu_io_read_buffer): Ditto.
307         (mn103cpu_io_write_buffer): Ditto.
309 Tue Apr 28 18:33:31 1998  Geoffrey Noer  <noer@cygnus.com>
311         * configure: Regenerated to track ../common/aclocal.m4 changes.
313 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
315         * configure: Regenerated to track ../common/aclocal.m4 changes.
316         * config.in: Ditto.
318 Sun Apr 26 15:19:55 1998  Tom Tromey  <tromey@cygnus.com>
320         * acconfig.h: New file.
321         * configure.in: Reverted change of Apr 24; use sinclude again.
323 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
325         * configure: Regenerated to track ../common/aclocal.m4 changes.
326         * config.in: Ditto.
328 Fri Apr 24 11:19:07 1998  Tom Tromey  <tromey@cygnus.com>
330         * configure.in: Don't call sinclude.
332 Tue Apr 14 10:03:02 1998  Andrew Cagney  <cagney@b1.cygnus.com>
334         * mn10300_sim.h: Declare all functions in op_utils.c using
335         INLINE_SIM_MAIN.
336         * op_utils.c: Ditto.
337         * sim-main.c: New file.  Include op_utils.c.
338         
339         * mn10300.igen (mov, cmp): Use new igen operators `!' and `=' to
340         differentiate between MOV/CMP immediate/register instructions.
342         * configure.in (SIM_AC_OPTION_INLINE): Add and enable.
343         * configure: Regenerate.
345 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
347         * configure: Regenerated to track ../common/aclocal.m4 changes.
349 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
351         * interp.c (hw): Delete variable, moved to SIM_DESC.
352         (sim_open): Delete calls to hw_tree_create, hw_tree_finish.
353         Handled by sim-module.
354         (sim_open): Do not anotate tree with trace properties, handled by
355         sim-hw.c
356         (sim_open): Call sim_hw_parse instead of hw_tree_parse.
358         * configure: Regenerated to track ../common/aclocal.m4 changes.
360 Thu Mar 26 20:46:18 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>
362         * dv-mn103cpu.c (deliver_mn103cpu_interrupt):  Save the entire PC
363         on the stack when delivering interrupts (not just the lower
364         half)...
365         * mn10300.igen (mov (Di,Am),Dn):  Fix decode.  Registers were
366         specified in the wrong order.
368 Fri Mar 27 00:56:40 1998  Andrew Cagney  <cagney@b1.cygnus.com>
370         * dv-mn103cpu.c (deliver_mn103cpu_interrupt): Stop loss of
371         succeeding interrupts, clear pending_handler when the handler
372         isn't re-scheduled.
374 Thu Mar 26 10:11:01 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>
376         * Makefile.in (tmp-igen):  Prefix all usage of move-if-change
377         script with $(SHELL) to make NT native builds happy.
378         * configure:  Regenerate because of change to ../common/aclocal.m4.
379         
380 Thu Mar 26 11:22:31 1998  Andrew Cagney  <cagney@b1.cygnus.com>
382         * configure.in: Make --enable-sim-common the default.
383         * configure: Re-generate.
384         
385         * sim-main.h (CIA_GET, CIA_SET): Save/restore current instruction
386         address into Sate.regs[REG_PC] instead of common struct.
388 Wed Mar 25 17:42:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
390         * mn10300.igen (cmp imm8,An): Do not sign extend imm8 value.
392 Wed Mar 25 12:08:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
394         * simops.c (OP_F0FD): Initialise variable 'sp'.
396 Thu Mar 26 00:21:32 1998  Andrew Cagney  <cagney@b1.cygnus.com>
398         * dv-mn103int.c (decode_group): A group register every 4 bytes not
399         8.
400         (write_icr): Rewrite equation updating request field.
401         (read_iagr): Fix check that interrupt is still pending.
403 Wed Mar 25 16:14:50 1998  Andrew Cagney  <cagney@b1.cygnus.com>
405         * interp.c (sim_open): Tidy up device creation.
407         * dv-mn103int.c (mn103int_port_event): Drive NMI with non-zero
408         value.
409         (mn103int_io_read_buffer): Convert absolute address to register
410         block offsets.
411         (read_icr, write_icr): Convert block offset into group offset.
412         
413 Wed Mar 25 15:08:49 1998  Andrew Cagney  <cagney@b1.cygnus.com>
415         * interp.c (sim_open): Create second 1mb memory region at
416         0x40000000.
417         (sim_open): Create a device tree.
418         (sim-hw.h): Include.
419         (do_interrupt): Delete, needs to use dv-mn103cpu.c
421         * dv-mn103int.c, dv-mn103cpu.c: New files.
423 Wed Mar 25 08:47:38 1998  Andrew Cagney  <cagney@b1.cygnus.com>
425         * mn10300_sim.h (EXTRACT_PSW_LM, INSERT_PSW_LM, PSW_IE, PSW_LM):
426         Define.
427         (SP): Define.
428         
429 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
431         * configure: Regenerated to track ../common/aclocal.m4 changes.
433 Wed Mar 25 10:24:48 1998  Andrew Cagney  <cagney@b1.cygnus.com>
435         * interp.c (sim-options.h): Include.
436         (sim_kind, myname): Declare when not using common framework.
438         * mn10300_sim.h (do_syscall, generic*): Provide prototypes for
439         functions found in op_utils.c
441         * mn10300.igen (add): Discard unused variables.
443         * configure, config.in: Re-generate with autoconf 2.12.1.
444         
445 Tue Mar 24 15:27:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
447         Add support for --enable-sim-common option.
448         * Makefile.in (WITHOUT_COMMON_OBJS): Files included if
449         ! --enable-sim-common
450         (WITH_COMMON_OBJS): Files included if --enable-sim-common.
451         (MN10300_OBJS,MN10300_INTERP_DEP): New variables.
452         (SIM_OBJS): Rewrite.
453         ({WITHOUT,WITH}_COMMON_RUN_OBJS,SIM_RUN_OBJS): New variables.
454         (SIM_EXTRA_CFLAGS): New variable.
455         (clean-extra): Clean up igen files.
456         (../igen/igen,clean-igen,tmp-igen): New rules.
457         * configure.in: Add support for common framework via 
458         --enable-sim-common.
459         * configure: Regenerate.
460         * interp.c: #include sim-main if WITH_COMMON, not mn10300_sim.h.
461         (hash,dispatch,sim_size): Don't compile if ! WITH_COMMON.
462         (init_system,sim_write,compare_simops): Likewise.
463         (sim_set_profile,sim_set_profile_size): Likewise.
464         (sim_stop,sim_resume,sim_trace,sim_info): Likewise.
465         (sim_set_callbacks,sim_stop_reason,sim_read,sim_load): Likewise.
466         (enum interrupt_type): New enum.
467         (interrupt_names): New global.
468         (do_interrupt): New function.
469         (sim_open): Define differently if WITH_COMMON.
470         (sim_close,sim_create_inferior,sim_do_command): Likewise.
471         * mn10300_sim.h ({load,store}_{byte,half,word}): Define versions
472         for WITH_COMMON.
473         * mn10300.igen: New file.
474         * mn10300.dc: New file.
475         * op_utils.c: New file.
476         * sim-main.h: New file.
478 Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>
480         * configure: Regenerated to track ../common/aclocal.m4 changes.
482 Fri Feb 27 18:36:04 1998  Jeffrey A Law  (law@cygnus.com)
484         * simops.c (inc): Fix typo.
486 Wed Feb 25 01:59:29 1998  Jeffrey A Law  (law@cygnus.com)
488         * simops.c (signed multiply instructions): Cast input operands to
489         signed32 before casting them to signed64 so that the sign bit
490         is propagated properly.
492 Mon Feb 23 20:23:19 1998  Mark Alexander  <marka@cygnus.com>
494         * Makefile.in: Last change was bad.  Define NL_TARGET
495         so that targ-vals.h will be used instead of syscall.h.
496         * simops.c: Use targ-vals.h instead of syscall.h.
497         (OP_F020): Disable unsupported system calls.
499 Mon Feb 23 09:44:38 1998  Mark Alexander  <marka@cygnus.com>
501         * Makefile.in: Get header files from libgloss/mn10300/sys.
503 Sun Feb 22 16:02:24 1998  Jeffrey A Law  (law@cygnus.com)
505         * simops.c: Include sim-types.h.
507 Wed Feb 18 13:07:08 1998  Jeffrey A Law  (law@cygnus.com)
509         * simops.c (multiply instructions): Cast input operands to a
510         signed64/unsigned64 type as appropriate.
512 Tue Feb 17 12:47:16 1998  Andrew Cagney  <cagney@b1.cygnus.com>
514         * interp.c (sim_store_register, sim_fetch_register): Pass in
515         length parameter.  Return -1.
517 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
519         * configure: Regenerated to track ../common/aclocal.m4 changes.
521 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
523         * configure: Regenerated to track ../common/aclocal.m4 changes.
525 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
527         * configure: Regenerated to track ../common/aclocal.m4 changes.
529 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
531         * configure: Regenerated to track ../common/aclocal.m4 changes.
532         * config.in: Ditto.
534 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
536         * configure: Regenerated to track ../common/aclocal.m4 changes.
538 Tue Nov 11 10:38:52 1997  Jeffrey A Law  (law@cygnus.com)
540         * simops.c (call:16 call:32): Stack adjustment is determined solely
541         by the imm8 field.
543 Wed Oct 22 14:43:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
545         * interp.c (sim_load): Pass lma_p and sim_write args to
546         sim_load_file.
548 Tue Oct 21 10:12:03 1997  Jeffrey A Law  (law@cygnus.com)
550         * simops.c: Correctly handle register restores for "ret" and "retf"
551         instructions.
553 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
555         * configure: Regenerated to track ../common/aclocal.m4 changes.
557 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
559         * configure: Regenerated to track ../common/aclocal.m4 changes.
561 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
563         * configure: Regenerated to track ../common/aclocal.m4 changes.
565 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
567         * configure: Regenerated to track ../common/aclocal.m4 changes.
569 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
571         * configure: Regenerated to track ../common/aclocal.m4 changes.
573 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
575         * configure: Regenerated to track ../common/aclocal.m4 changes.
577 Thu Sep  4 17:21:23 1997  Doug Evans  <dje@seba>
579         * configure: Regenerated to track ../common/aclocal.m4 changes.
581 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
583         * configure: Regenerated to track ../common/aclocal.m4 changes.
584         * config.in: Ditto.
586 Tue Aug 26 10:41:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
588         * interp.c (sim_kill): Delete.
589         (sim_create_inferior): Add ABFD argument.
590         (sim_load): Move setting of PC from here.
591         (sim_create_inferior): To here. 
593 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
595         * configure: Regenerated to track ../common/aclocal.m4 changes.
596         * config.in: Ditto.
598 Mon Aug 25 16:14:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>
600         * interp.c (sim_open): Add ABFD argument.
602 Tue Jun 24 13:46:20 1997  Jeffrey A Law  (law@cygnus.com)
604         * interp.c (sim_resume): Clear State.exited.
605         (sim_stop_reason): If State.exited is nonzero, then indicate that
606         the simulator exited instead of stopped.
607         * mn10300_sim.h (struct _state): Add exited field.
608         * simops.c (syscall): Set State.exited for SYS_exit.
610 Wed Jun 11 22:07:56 1997  Jeffrey A Law  (law@cygnus.com)
612         * simops.c: Fix thinko in last change.
614 Tue Jun 10 12:31:32 1997  Jeffrey A Law  (law@cygnus.com)
616         * simops.c: "call" stores the callee saved registers into the
617         stack!  Update the stack pointer properly when done with
618         register saves.
620         * simops.c: Fix return address computation for "call" instructions.
622 Thu May 22 01:43:11 1997  Jeffrey A Law  (law@cygnus.com)
624         * interp.c (sim_open): Fix typo.
626 Wed May 21 23:27:58 1997  Jeffrey A Law  (law@cygnus.com)
628         * interp.c (sim_resume): Add missing case in big switch
629         statement (for extb instruction).
631 Tue May 20 17:51:30 1997  Jeffrey A Law  (law@cygnus.com)
633         * interp.c: Replace all references to load_mem and store_mem
634         with references to load_byte, load_half, load_3_byte, load_word
635         and store_byte, store_half, store_3_byte, store_word.
636         (INLINE): Delete definition.
637         (load_mem_big): Likewise.
638         (max_mem): Make it global.
639         (dispatch): Make this function inline.
640         (load_mem, store_mem): Delete functions.
641         * mn10300_sim.h (INLINE): Define.
642         (RLW): Delete unused definition.
643         (load_mem, store_mem): Delete declarations.
644         (load_mem_big): New definition.
645         (load_byte, load_half, load_3_byte, load_word): New functions.
646         (store_byte, store_half, store_3_byte, store_word): New functions.
647         * simops.c:  Replace all references to load_mem and store_mem
648         with references to load_byte, load_half, load_3_byte, load_word
649         and store_byte, store_half, store_3_byte, store_word.
651 Tue May 20 10:21:51 1997  Andrew Cagney  <cagney@b1.cygnus.com>
653         * interp.c (sim_open): Add callback to arguments.
654         (sim_set_callbacks): Delete SIM_DESC argument.
656 Mon May 19 13:54:22 1997  Jeffrey A Law  (law@cygnus.com)
658         * interp.c (dispatch): Make this an inline function.
660         * simops.c (syscall): Use callback->write regardless of
661         what file descriptor we're writing too.
663 Sun May 18 16:46:31 1997  Jeffrey A Law  (law@cygnus.com)
665         * interp.c (load_mem_big): Remove function.  It's now a macro
666         defined elsewhere.
667         (compare_simops): New function.
668         (sim_open): Sort the Simops table before inserting entries
669         into the hash table.
670         * mn10300_sim.h: Remove unused #defines.
671         (load_mem_big): Define.
673 Fri May 16 16:36:17 1997  Jeffrey A Law  (law@cygnus.com)
675         * interp.c (load_mem): If we get a load from an out of range
676         address, abort.
677         (store_mem): Likewise for stores.
678         (max_mem): New variable.
680 Tue May  6 13:24:36 1997  Jeffrey A Law  (law@cygnus.com)
682         * mn10300_sim.h: Fix ordering of bits in the PSW.
684         * interp.c: Improve hashing routine to avoid long list
685         traversals for common instructions.  Add HASH_STAT support.
686         Rewrite opcode dispatch code using a big switch instead of
687         cascaded if/else statements.  Avoid useless calls to load_mem.
689 Mon May  5 18:07:48 1997  Jeffrey A Law  (law@cygnus.com)
691         * mn10300_sim.h (struct _state): Add space for mdrq register.
692         (REG_MDRQ): Define.
693         * simops.c: Don't abort for trap.  Add support for the extended
694         instructions, "getx", "putx", "mulq", "mulqu", "sat16", "sat24",
695         and "bsch".
697 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
699         * configure: Regenerated to track ../common/aclocal.m4 changes.
701 Fri Apr 18 14:04:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>
703         * interp.c (sim_stop): Add stub function.
705 Thu Apr 17 03:26:59 1997  Doug Evans  <dje@canuck.cygnus.com>
707         * Makefile.in (SIM_OBJS): Add sim-load.o.
708         * interp.c (sim_kind, myname): New static locals.
709         (sim_open): Set sim_kind, myname.  Ignore -E arg.
710         (sim_load): Return SIM_RC.  New arg abfd.  Call sim_load_file to
711         load file into simulator.  Set start address from bfd.
712         (sim_create_inferior): Return SIM_RC.  Delete arg start_address.
714 Wed Apr 16 19:30:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>
716         * simops.c (OP_F020): SYS_execv, SYS_time, SYS_times, SYS_utime
717         only include if implemented by host.
718         (OP_F020): Typecast arg passed to time function;
720 Mon Apr  7 23:57:49 1997  Jeffrey A Law  (law@cygnus.com)
722         * simops.c (syscall): Handle new mn10300 calling conventions.
724 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
726         * configure: Regenerated to track ../common/aclocal.m4 changes.
727         * config.in: Ditto.
729 Fri Apr  4 20:02:37 1997  Ian Lance Taylor  <ian@cygnus.com>
731         * Makefile.in: Change mn10300-opc.o to m10300-opc.o, to match
732         corresponding change in opcodes directory.
734 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
736         * interp.c (sim_open): New arg `kind'.
738         * configure: Regenerated to track ../common/aclocal.m4 changes.
740 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
742         * configure: Regenerated to track ../common/aclocal.m4 changes.
744 Thu Mar 20 11:58:02 1997  Jeffrey A Law  (law@cygnus.com)
746         * simops.c: Fix register extraction for a two "movbu" variants.
747         Somewhat simplify "sub" instructions.
748         Correctly sign extend operands for "mul".  Put the correct
749         half of the result in MDR for "mul" and "mulu".
750         Implement remaining instructions.
751         Tweak opcode for "syscall".
753 Tue Mar 18 14:21:21 1997  Jeffrey A Law  (law@cygnus.com)
755         * simops.c: Do syscall emulation in "syscall" instruction.  Add
756         dummy "trap" instruction.
758 Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
760         * configure: Regenerated to track ../common/aclocal.m4 changes.
762 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
764         * configure: Re-generate.
766 Fri Mar 14 10:34:11 1997  Michael Meissner  <meissner@cygnus.com>
768         * configure: Regenerate to track ../common/aclocal.m4 changes.
770 Thu Mar 13 12:54:45 1997  Doug Evans  <dje@canuck.cygnus.com>
772         * interp.c (sim_open): New SIM_DESC result.  Argument is now
773         in argv form.
774         (other sim_*): New SIM_DESC argument.
776 Wed Mar 12 15:04:00 1997  Jeffrey A Law  (law@cygnus.com)
778         * simops.c: Fix carry bit computation for "add" instructions.
780         * simops.c: Fix typos in bset insns.  Fix arguments to store_mem
781         for bset imm8,(d8,an) and bclr imm8,(d8,an).
783 Wed Mar  5 15:00:10 1997  Jeffrey A Law  (law@cygnus.com)
785         * simops.c: Fix register references when computing Z and N bits
786         for lsr imm8,dn.
788 Tue Feb  4 13:33:30 1997  Doug Evans  <dje@canuck.cygnus.com>
790         * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
791         COMMON_{PRE,POST}_CONFIG_FRAG instead.
792         * configure.in: sinclude ../common/aclocal.m4.
793         * configure: Regenerated.
795 Fri Jan 24 10:47:25 1997  Jeffrey A Law  (law@cygnus.com)
797         * interp.c (init_system): Allocate 2^19 bytes of space for the
798         simulator.
800 Thu Jan 23 11:46:23 1997  Stu Grossman  (grossman@critters.cygnus.com)
802         * configure configure.in Makefile.in:  Update to new configure
803         scheme which is more compatible with WinGDB builds.
804         * configure.in:  Improve comment on how to run autoconf.
805         * configure:  Re-run autoconf to get new ../common/aclocal.m4.
806         * Makefile.in:  Use autoconf substitution to install common
807         makefile fragment.
809 Tue Jan 21 15:03:04 1997  Jeffrey A Law  (law@cygnus.com)
811         * simops.c: Undo last change to "rol" and "ror", original code
812         was correct!
814 Thu Jan 16 11:28:14 1997  Jeffrey A Law  (law@cygnus.com)
816         * simops.c: Fix "rol" and "ror".
818 Wed Jan 15 06:45:58 1997  Jeffrey A Law  (law@cygnus.com)
820         * simops.c: Fix typo in last change.
822 Mon Jan 13 13:22:35 1997  Jeffrey A Law  (law@cygnus.com)
824         * simops.c: Use REG macros in few places not using them yet.
826 Mon Jan  6 16:21:19 1997  Jeffrey A Law  (law@cygnus.com)
828         * mn10300_sim.h (struct _state): Fix number of registers!
830 Tue Dec 31 16:20:41 1996  Jeffrey A Law  (law@cygnus.com)
832         * mn10300_sim.h (struct _state): Put all registers into a single
833         array to make gdb implementation easier.
834         (REG_*): Add definitions for all registers in the state array.
835         (SEXT32, SEXT40, SEXT44, SEXT60): Remove unused macros.
836         * simops.c: Related changes.
838 Wed Dec 18 10:10:45 1996  Jeffrey A Law  (law@cygnus.com)
840         * interp.c (sim_resume): Handle 0xff as a single byte insn.
842         * simops.c: Fix overflow computation for "add" and "inc"
843         instructions.
845 Mon Dec 16 10:03:52 1996  Jeffrey A Law  (law@cygnus.com)
847         * simops.c: Handle "break" instruction.
849         * simops.c: Fix restoring the PC for "ret" and "retf" instructions.
851 Wed Dec 11 09:53:10 1996  Jeffrey A Law  (law@cygnus.com)
853         * gencode.c (write_opcodes): Also write out the format of the
854         opcode.
855         * mn10300_sim.h (simops): Add "format" field.
856         * interp.c (sim_resume): Deal with endianness issues here.
858 Tue Dec 10 15:05:37 1996  Jeffrey A Law  (law@cygnus.com)
860         * simops.c (REG0_4): Define.
861         Use REG0_4 for indexed loads/stores.
863 Sat Dec  7 09:50:28 1996  Jeffrey A Law  (law@cygnus.com)
865         * simops.c (REG0_16): Fix typo.
867 Fri Dec  6 14:13:34 1996  Jeffrey A Law  (law@cygnus.com)
869         * simops.c: Call abort for any instruction that's not currently
870         simulated.
872         * simops.c: Define accessor macros to extract register
873         values from instructions.  Use them consistently.
875         * interp.c: Delete unused global variable "OP".
876         (sim_resume): Remove unused variable "opcode".
877         * simops.c: Fix some uninitialized variable problems, add
878         parens to fix various -Wall warnings.
880         * gencode.c (write_header): Add "insn" and "extension" arguments
881         to the OP_* declarations.
882         (write_template): Similarly for function templates.
883         * interp.c (insn, extension): Remove global variables.  Instead
884         pass them as arguments to the OP_* functions.
885         * mn10300_sim.h: Remove decls for "insn" and "extension".
886         * simops.c (OP_*): Accept "insn" and "extension" as arguments
887         instead of using globals.
889 Thu Dec  5 22:26:31 1996  Jeffrey A Law  (law@cygnus.com)
891         * simops.c: Fix typos in "mov am,(d16,an)" and "mov am,(d32,an)"
893         * simops.c: Fix thinkos in last change to "inc dn".
895 Wed Dec  4 10:57:53 1996  Jeffrey A Law  (law@cygnus.com)
897         * simops.c: "add imm,sp" does not effect the condition codes.
898         "inc dn" does effect the condition codes.
900 Tue Dec  3 17:37:45 1996  Jeffrey A Law  (law@cygnus.com)
902         * simops.c: Treat both operands as signed values for
903         "div" instruction.
905         * simops.c: Fix simulation of division instructions.
906         Fix typos/thinkos in several "cmp" and "sub" instructions.
908 Mon Dec  2 12:31:40 1996  Jeffrey A Law  (law@cygnus.com)
910         * simops.c: Fix carry bit handling in "sub" and "cmp"
911         instructions.
913         * simops.c: Fix "mov imm8,an" and "mov imm16,dn".
915 Sun Dec  1 16:05:42 1996  Jeffrey A Law  (law@cygnus.com)
917         * simops.c: Fix overflow computation for many instructions.
919         * simops.c: Fix "mov dm, an", "movbu dm, (an)", and "movhu dm, (an)".
921         * simops.c: Fix "mov am, dn".
923         * simops.c: Fix more bugs in "add imm,an" and
924         "add imm,dn".
926 Wed Nov 27 09:20:42 1996  Jeffrey A Law  (law@cygnus.com)
928         * simops.c: Fix bugs in "movm" and "add imm,an".
930         * simops.c: Don't lose the upper 24 bits of the return
931         pointer in "call" and "calls" instructions.  Rough cut
932         at emulated system calls.
934         * simops.c: Implement the remaining 5, 6 and 7 byte instructions.
936         * simops.c: Implement remaining 4 byte instructions.
938         * simops.c: Implement remaining 3 byte instructions.
940         * simops.c: Implement remaining 2 byte instructions.  Call
941         abort for instructions we're not implementing now.
943 Tue Nov 26 15:43:41 1996  Jeffrey A Law  (law@cygnus.com)
945         * simops.c: Implement lots of random instructions.
947         * simops.c: Implement "movm" and "bCC" insns.
949         * mn10300_sim.h (_state): Add another register (MDR).
950         (REG_MDR): Define.
951         * simops.c: Implement "cmp", "calls", "rets", "jmp" and
952         a few additional random insns.
954         * mn10300_sim.h (PSW_*): Define for CC status tracking.
955         (REG_D0, REG_A0, REG_SP): Define.
956         * simops.c: Implement "add", "addc" and a few other random
957         instructions.
959         * gencode.c, interp.c: Snapshot current simulator code.
961 Mon Nov 25 12:46:38 1996  Jeffrey A Law  (law@cygnus.com)
963         * Makefile.in, config.in, configure, configure.in: New files.
964         * gencode.c, interp.c, mn10300_sim.h, simops.c: New files.
965