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