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