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