1 Thu Mar 26 11:22:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
3 * configure.in: Make --enable-sim-common the default.
4 * configure: Re-generate.
6 * sim-main.h (CIA_GET, CIA_SET): Save/restore current instruction
7 address into Sate.regs[REG_PC] instead of common struct.
9 Wed Mar 25 17:42:00 1998 Joyce Janczyn <janczyn@cygnus.com>
11 * mn10300.igen (cmp imm8,An): Do not sign extend imm8 value.
13 Wed Mar 25 12:08:00 1998 Joyce Janczyn <janczyn@cygnus.com>
15 * simops.c (OP_F0FD): Initialise variable 'sp'.
17 Thu Mar 26 00:21:32 1998 Andrew Cagney <cagney@b1.cygnus.com>
19 * dv-mn103int.c (decode_group): A group register every 4 bytes not
21 (write_icr): Rewrite equation updating request field.
22 (read_iagr): Fix check that interrupt is still pending.
24 Wed Mar 25 16:14:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
26 * interp.c (sim_open): Tidy up device creation.
28 * dv-mn103int.c (mn103int_port_event): Drive NMI with non-zero
30 (mn103int_io_read_buffer): Convert absolute address to register
32 (read_icr, write_icr): Convert block offset into group offset.
34 Wed Mar 25 15:08:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
36 * interp.c (sim_open): Create second 1mb memory region at
38 (sim_open): Create a device tree.
40 (do_interrupt): Delete, needs to use dv-mn103cpu.c
42 * dv-mn103int.c, dv-mn103cpu.c: New files.
44 Wed Mar 25 08:47:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
46 * mn10300_sim.h (EXTRACT_PSW_LM, INSERT_PSW_LM, PSW_IE, PSW_LM):
50 Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
52 * configure: Regenerated to track ../common/aclocal.m4 changes.
54 Wed Mar 25 10:24:48 1998 Andrew Cagney <cagney@b1.cygnus.com>
56 * interp.c (sim-options.h): Include.
57 (sim_kind, myname): Declare when not using common framework.
59 * mn10300_sim.h (do_syscall, generic*): Provide prototypes for
60 functions found in op_utils.c
62 * mn10300.igen (add): Discard unused variables.
64 * configure, config.in: Re-generate with autoconf 2.12.1.
66 Tue Mar 24 15:27:00 1998 Joyce Janczyn <janczyn@cygnus.com>
68 Add support for --enable-sim-common option.
69 * Makefile.in (WITHOUT_COMMON_OBJS): Files included if
71 (WITH_COMMON_OBJS): Files included if --enable-sim-common.
72 (MN10300_OBJS,MN10300_INTERP_DEP): New variables.
74 ({WITHOUT,WITH}_COMMON_RUN_OBJS,SIM_RUN_OBJS): New variables.
75 (SIM_EXTRA_CFLAGS): New variable.
76 (clean-extra): Clean up igen files.
77 (../igen/igen,clean-igen,tmp-igen): New rules.
78 * configure.in: Add support for common framework via
80 * configure: Regenerate.
81 * interp.c: #include sim-main if WITH_COMMON, not mn10300_sim.h.
82 (hash,dispatch,sim_size): Don't compile if ! WITH_COMMON.
83 (init_system,sim_write,compare_simops): Likewise.
84 (sim_set_profile,sim_set_profile_size): Likewise.
85 (sim_stop,sim_resume,sim_trace,sim_info): Likewise.
86 (sim_set_callbacks,sim_stop_reason,sim_read,sim_load): Likewise.
87 (enum interrupt_type): New enum.
88 (interrupt_names): New global.
89 (do_interrupt): New function.
90 (sim_open): Define differently if WITH_COMMON.
91 (sim_close,sim_create_inferior,sim_do_command): Likewise.
92 * mn10300_sim.h ({load,store}_{byte,half,word}): Define versions
94 * mn10300.igen: New file.
95 * mn10300.dc: New file.
96 * op_utils.c: New file.
97 * sim-main.h: New file.
99 Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
101 * configure: Regenerated to track ../common/aclocal.m4 changes.
103 Fri Feb 27 18:36:04 1998 Jeffrey A Law (law@cygnus.com)
105 * simops.c (inc): Fix typo.
107 Wed Feb 25 01:59:29 1998 Jeffrey A Law (law@cygnus.com)
109 * simops.c (signed multiply instructions): Cast input operands to
110 signed32 before casting them to signed64 so that the sign bit
111 is propagated properly.
113 Mon Feb 23 20:23:19 1998 Mark Alexander <marka@cygnus.com>
115 * Makefile.in: Last change was bad. Define NL_TARGET
116 so that targ-vals.h will be used instead of syscall.h.
117 * simops.c: Use targ-vals.h instead of syscall.h.
118 (OP_F020): Disable unsupported system calls.
120 Mon Feb 23 09:44:38 1998 Mark Alexander <marka@cygnus.com>
122 * Makefile.in: Get header files from libgloss/mn10300/sys.
124 Sun Feb 22 16:02:24 1998 Jeffrey A Law (law@cygnus.com)
126 * simops.c: Include sim-types.h.
128 Wed Feb 18 13:07:08 1998 Jeffrey A Law (law@cygnus.com)
130 * simops.c (multiply instructions): Cast input operands to a
131 signed64/unsigned64 type as appropriate.
133 Tue Feb 17 12:47:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
135 * interp.c (sim_store_register, sim_fetch_register): Pass in
136 length parameter. Return -1.
138 Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
140 * configure: Regenerated to track ../common/aclocal.m4 changes.
142 Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
144 * configure: Regenerated to track ../common/aclocal.m4 changes.
146 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
148 * configure: Regenerated to track ../common/aclocal.m4 changes.
150 Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
152 * configure: Regenerated to track ../common/aclocal.m4 changes.
155 Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
157 * configure: Regenerated to track ../common/aclocal.m4 changes.
159 Tue Nov 11 10:38:52 1997 Jeffrey A Law (law@cygnus.com)
161 * simops.c (call:16 call:32): Stack adjustment is determined solely
164 Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
166 * interp.c (sim_load): Pass lma_p and sim_write args to
169 Tue Oct 21 10:12:03 1997 Jeffrey A Law (law@cygnus.com)
171 * simops.c: Correctly handle register restores for "ret" and "retf"
174 Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
176 * configure: Regenerated to track ../common/aclocal.m4 changes.
178 Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
180 * configure: Regenerated to track ../common/aclocal.m4 changes.
182 Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
184 * configure: Regenerated to track ../common/aclocal.m4 changes.
186 Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
188 * configure: Regenerated to track ../common/aclocal.m4 changes.
190 Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
192 * configure: Regenerated to track ../common/aclocal.m4 changes.
194 Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
196 * configure: Regenerated to track ../common/aclocal.m4 changes.
198 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
200 * configure: Regenerated to track ../common/aclocal.m4 changes.
202 Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
204 * configure: Regenerated to track ../common/aclocal.m4 changes.
207 Tue Aug 26 10:41:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
209 * interp.c (sim_kill): Delete.
210 (sim_create_inferior): Add ABFD argument.
211 (sim_load): Move setting of PC from here.
212 (sim_create_inferior): To here.
214 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
216 * configure: Regenerated to track ../common/aclocal.m4 changes.
219 Mon Aug 25 16:14:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
221 * interp.c (sim_open): Add ABFD argument.
223 Tue Jun 24 13:46:20 1997 Jeffrey A Law (law@cygnus.com)
225 * interp.c (sim_resume): Clear State.exited.
226 (sim_stop_reason): If State.exited is nonzero, then indicate that
227 the simulator exited instead of stopped.
228 * mn10300_sim.h (struct _state): Add exited field.
229 * simops.c (syscall): Set State.exited for SYS_exit.
231 Wed Jun 11 22:07:56 1997 Jeffrey A Law (law@cygnus.com)
233 * simops.c: Fix thinko in last change.
235 Tue Jun 10 12:31:32 1997 Jeffrey A Law (law@cygnus.com)
237 * simops.c: "call" stores the callee saved registers into the
238 stack! Update the stack pointer properly when done with
241 * simops.c: Fix return address computation for "call" instructions.
243 Thu May 22 01:43:11 1997 Jeffrey A Law (law@cygnus.com)
245 * interp.c (sim_open): Fix typo.
247 Wed May 21 23:27:58 1997 Jeffrey A Law (law@cygnus.com)
249 * interp.c (sim_resume): Add missing case in big switch
250 statement (for extb instruction).
252 Tue May 20 17:51:30 1997 Jeffrey A Law (law@cygnus.com)
254 * interp.c: Replace all references to load_mem and store_mem
255 with references to load_byte, load_half, load_3_byte, load_word
256 and store_byte, store_half, store_3_byte, store_word.
257 (INLINE): Delete definition.
258 (load_mem_big): Likewise.
259 (max_mem): Make it global.
260 (dispatch): Make this function inline.
261 (load_mem, store_mem): Delete functions.
262 * mn10300_sim.h (INLINE): Define.
263 (RLW): Delete unused definition.
264 (load_mem, store_mem): Delete declarations.
265 (load_mem_big): New definition.
266 (load_byte, load_half, load_3_byte, load_word): New functions.
267 (store_byte, store_half, store_3_byte, store_word): New functions.
268 * simops.c: Replace all references to load_mem and store_mem
269 with references to load_byte, load_half, load_3_byte, load_word
270 and store_byte, store_half, store_3_byte, store_word.
272 Tue May 20 10:21:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
274 * interp.c (sim_open): Add callback to arguments.
275 (sim_set_callbacks): Delete SIM_DESC argument.
277 Mon May 19 13:54:22 1997 Jeffrey A Law (law@cygnus.com)
279 * interp.c (dispatch): Make this an inline function.
281 * simops.c (syscall): Use callback->write regardless of
282 what file descriptor we're writing too.
284 Sun May 18 16:46:31 1997 Jeffrey A Law (law@cygnus.com)
286 * interp.c (load_mem_big): Remove function. It's now a macro
288 (compare_simops): New function.
289 (sim_open): Sort the Simops table before inserting entries
291 * mn10300_sim.h: Remove unused #defines.
292 (load_mem_big): Define.
294 Fri May 16 16:36:17 1997 Jeffrey A Law (law@cygnus.com)
296 * interp.c (load_mem): If we get a load from an out of range
298 (store_mem): Likewise for stores.
299 (max_mem): New variable.
301 Tue May 6 13:24:36 1997 Jeffrey A Law (law@cygnus.com)
303 * mn10300_sim.h: Fix ordering of bits in the PSW.
305 * interp.c: Improve hashing routine to avoid long list
306 traversals for common instructions. Add HASH_STAT support.
307 Rewrite opcode dispatch code using a big switch instead of
308 cascaded if/else statements. Avoid useless calls to load_mem.
310 Mon May 5 18:07:48 1997 Jeffrey A Law (law@cygnus.com)
312 * mn10300_sim.h (struct _state): Add space for mdrq register.
314 * simops.c: Don't abort for trap. Add support for the extended
315 instructions, "getx", "putx", "mulq", "mulqu", "sat16", "sat24",
318 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
320 * configure: Regenerated to track ../common/aclocal.m4 changes.
322 Fri Apr 18 14:04:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
324 * interp.c (sim_stop): Add stub function.
326 Thu Apr 17 03:26:59 1997 Doug Evans <dje@canuck.cygnus.com>
328 * Makefile.in (SIM_OBJS): Add sim-load.o.
329 * interp.c (sim_kind, myname): New static locals.
330 (sim_open): Set sim_kind, myname. Ignore -E arg.
331 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
332 load file into simulator. Set start address from bfd.
333 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
335 Wed Apr 16 19:30:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
337 * simops.c (OP_F020): SYS_execv, SYS_time, SYS_times, SYS_utime
338 only include if implemented by host.
339 (OP_F020): Typecast arg passed to time function;
341 Mon Apr 7 23:57:49 1997 Jeffrey A Law (law@cygnus.com)
343 * simops.c (syscall): Handle new mn10300 calling conventions.
345 Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
347 * configure: Regenerated to track ../common/aclocal.m4 changes.
350 Fri Apr 4 20:02:37 1997 Ian Lance Taylor <ian@cygnus.com>
352 * Makefile.in: Change mn10300-opc.o to m10300-opc.o, to match
353 corresponding change in opcodes directory.
355 Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
357 * interp.c (sim_open): New arg `kind'.
359 * configure: Regenerated to track ../common/aclocal.m4 changes.
361 Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
363 * configure: Regenerated to track ../common/aclocal.m4 changes.
365 Thu Mar 20 11:58:02 1997 Jeffrey A Law (law@cygnus.com)
367 * simops.c: Fix register extraction for a two "movbu" variants.
368 Somewhat simplify "sub" instructions.
369 Correctly sign extend operands for "mul". Put the correct
370 half of the result in MDR for "mul" and "mulu".
371 Implement remaining instructions.
372 Tweak opcode for "syscall".
374 Tue Mar 18 14:21:21 1997 Jeffrey A Law (law@cygnus.com)
376 * simops.c: Do syscall emulation in "syscall" instruction. Add
377 dummy "trap" instruction.
379 Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
381 * configure: Regenerated to track ../common/aclocal.m4 changes.
383 Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
385 * configure: Re-generate.
387 Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
389 * configure: Regenerate to track ../common/aclocal.m4 changes.
391 Thu Mar 13 12:54:45 1997 Doug Evans <dje@canuck.cygnus.com>
393 * interp.c (sim_open): New SIM_DESC result. Argument is now
395 (other sim_*): New SIM_DESC argument.
397 Wed Mar 12 15:04:00 1997 Jeffrey A Law (law@cygnus.com)
399 * simops.c: Fix carry bit computation for "add" instructions.
401 * simops.c: Fix typos in bset insns. Fix arguments to store_mem
402 for bset imm8,(d8,an) and bclr imm8,(d8,an).
404 Wed Mar 5 15:00:10 1997 Jeffrey A Law (law@cygnus.com)
406 * simops.c: Fix register references when computing Z and N bits
409 Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
411 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
412 COMMON_{PRE,POST}_CONFIG_FRAG instead.
413 * configure.in: sinclude ../common/aclocal.m4.
414 * configure: Regenerated.
416 Fri Jan 24 10:47:25 1997 Jeffrey A Law (law@cygnus.com)
418 * interp.c (init_system): Allocate 2^19 bytes of space for the
421 Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
423 * configure configure.in Makefile.in: Update to new configure
424 scheme which is more compatible with WinGDB builds.
425 * configure.in: Improve comment on how to run autoconf.
426 * configure: Re-run autoconf to get new ../common/aclocal.m4.
427 * Makefile.in: Use autoconf substitution to install common
430 Tue Jan 21 15:03:04 1997 Jeffrey A Law (law@cygnus.com)
432 * simops.c: Undo last change to "rol" and "ror", original code
435 Thu Jan 16 11:28:14 1997 Jeffrey A Law (law@cygnus.com)
437 * simops.c: Fix "rol" and "ror".
439 Wed Jan 15 06:45:58 1997 Jeffrey A Law (law@cygnus.com)
441 * simops.c: Fix typo in last change.
443 Mon Jan 13 13:22:35 1997 Jeffrey A Law (law@cygnus.com)
445 * simops.c: Use REG macros in few places not using them yet.
447 Mon Jan 6 16:21:19 1997 Jeffrey A Law (law@cygnus.com)
449 * mn10300_sim.h (struct _state): Fix number of registers!
451 Tue Dec 31 16:20:41 1996 Jeffrey A Law (law@cygnus.com)
453 * mn10300_sim.h (struct _state): Put all registers into a single
454 array to make gdb implementation easier.
455 (REG_*): Add definitions for all registers in the state array.
456 (SEXT32, SEXT40, SEXT44, SEXT60): Remove unused macros.
457 * simops.c: Related changes.
459 Wed Dec 18 10:10:45 1996 Jeffrey A Law (law@cygnus.com)
461 * interp.c (sim_resume): Handle 0xff as a single byte insn.
463 * simops.c: Fix overflow computation for "add" and "inc"
466 Mon Dec 16 10:03:52 1996 Jeffrey A Law (law@cygnus.com)
468 * simops.c: Handle "break" instruction.
470 * simops.c: Fix restoring the PC for "ret" and "retf" instructions.
472 Wed Dec 11 09:53:10 1996 Jeffrey A Law (law@cygnus.com)
474 * gencode.c (write_opcodes): Also write out the format of the
476 * mn10300_sim.h (simops): Add "format" field.
477 * interp.c (sim_resume): Deal with endianness issues here.
479 Tue Dec 10 15:05:37 1996 Jeffrey A Law (law@cygnus.com)
481 * simops.c (REG0_4): Define.
482 Use REG0_4 for indexed loads/stores.
484 Sat Dec 7 09:50:28 1996 Jeffrey A Law (law@cygnus.com)
486 * simops.c (REG0_16): Fix typo.
488 Fri Dec 6 14:13:34 1996 Jeffrey A Law (law@cygnus.com)
490 * simops.c: Call abort for any instruction that's not currently
493 * simops.c: Define accessor macros to extract register
494 values from instructions. Use them consistently.
496 * interp.c: Delete unused global variable "OP".
497 (sim_resume): Remove unused variable "opcode".
498 * simops.c: Fix some uninitialized variable problems, add
499 parens to fix various -Wall warnings.
501 * gencode.c (write_header): Add "insn" and "extension" arguments
502 to the OP_* declarations.
503 (write_template): Similarly for function templates.
504 * interp.c (insn, extension): Remove global variables. Instead
505 pass them as arguments to the OP_* functions.
506 * mn10300_sim.h: Remove decls for "insn" and "extension".
507 * simops.c (OP_*): Accept "insn" and "extension" as arguments
508 instead of using globals.
510 Thu Dec 5 22:26:31 1996 Jeffrey A Law (law@cygnus.com)
512 * simops.c: Fix typos in "mov am,(d16,an)" and "mov am,(d32,an)"
514 * simops.c: Fix thinkos in last change to "inc dn".
516 Wed Dec 4 10:57:53 1996 Jeffrey A Law (law@cygnus.com)
518 * simops.c: "add imm,sp" does not effect the condition codes.
519 "inc dn" does effect the condition codes.
521 Tue Dec 3 17:37:45 1996 Jeffrey A Law (law@cygnus.com)
523 * simops.c: Treat both operands as signed values for
526 * simops.c: Fix simulation of division instructions.
527 Fix typos/thinkos in several "cmp" and "sub" instructions.
529 Mon Dec 2 12:31:40 1996 Jeffrey A Law (law@cygnus.com)
531 * simops.c: Fix carry bit handling in "sub" and "cmp"
534 * simops.c: Fix "mov imm8,an" and "mov imm16,dn".
536 Sun Dec 1 16:05:42 1996 Jeffrey A Law (law@cygnus.com)
538 * simops.c: Fix overflow computation for many instructions.
540 * simops.c: Fix "mov dm, an", "movbu dm, (an)", and "movhu dm, (an)".
542 * simops.c: Fix "mov am, dn".
544 * simops.c: Fix more bugs in "add imm,an" and
547 Wed Nov 27 09:20:42 1996 Jeffrey A Law (law@cygnus.com)
549 * simops.c: Fix bugs in "movm" and "add imm,an".
551 * simops.c: Don't lose the upper 24 bits of the return
552 pointer in "call" and "calls" instructions. Rough cut
553 at emulated system calls.
555 * simops.c: Implement the remaining 5, 6 and 7 byte instructions.
557 * simops.c: Implement remaining 4 byte instructions.
559 * simops.c: Implement remaining 3 byte instructions.
561 * simops.c: Implement remaining 2 byte instructions. Call
562 abort for instructions we're not implementing now.
564 Tue Nov 26 15:43:41 1996 Jeffrey A Law (law@cygnus.com)
566 * simops.c: Implement lots of random instructions.
568 * simops.c: Implement "movm" and "bCC" insns.
570 * mn10300_sim.h (_state): Add another register (MDR).
572 * simops.c: Implement "cmp", "calls", "rets", "jmp" and
573 a few additional random insns.
575 * mn10300_sim.h (PSW_*): Define for CC status tracking.
576 (REG_D0, REG_A0, REG_SP): Define.
577 * simops.c: Implement "add", "addc" and a few other random
580 * gencode.c, interp.c: Snapshot current simulator code.
582 Mon Nov 25 12:46:38 1996 Jeffrey A Law (law@cygnus.com)
584 * Makefile.in, config.in, configure, configure.in: New files.
585 * gencode.c, interp.c, mn10300_sim.h, simops.c: New files.