Re-do --enable-sim-hardware so that each simulator can specify the devices
[deliverable/binutils-gdb.git] / sim / mn10300 / ChangeLog
1 Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
2
3 * configure: Regenerated to track ../common/aclocal.m4 changes.
4
5 Wed Mar 25 10:24:48 1998 Andrew Cagney <cagney@b1.cygnus.com>
6
7 * interp.c (sim-options.h): Include.
8 (sim_kind, myname): Declare when not using common framework.
9
10 * mn10300_sim.h (do_syscall, generic*): Provide prototypes for
11 functions found in op_utils.c
12
13 * mn10300.igen (add): Discard unused variables.
14
15 * configure, config.in: Re-generate with autoconf 2.12.1.
16
17 Tue Mar 24 15:27:00 1998 Joyce Janczyn <janczyn@cygnus.com>
18
19 Add support for --enable-sim-common option.
20 * Makefile.in (WITHOUT_COMMON_OBJS): Files included if
21 ! --enable-sim-common
22 (WITH_COMMON_OBJS): Files included if --enable-sim-common.
23 (MN10300_OBJS,MN10300_INTERP_DEP): New variables.
24 (SIM_OBJS): Rewrite.
25 ({WITHOUT,WITH}_COMMON_RUN_OBJS,SIM_RUN_OBJS): New variables.
26 (SIM_EXTRA_CFLAGS): New variable.
27 (clean-extra): Clean up igen files.
28 (../igen/igen,clean-igen,tmp-igen): New rules.
29 * configure.in: Add support for common framework via
30 --enable-sim-common.
31 * configure: Regenerate.
32 * interp.c: #include sim-main if WITH_COMMON, not mn10300_sim.h.
33 (hash,dispatch,sim_size): Don't compile if ! WITH_COMMON.
34 (init_system,sim_write,compare_simops): Likewise.
35 (sim_set_profile,sim_set_profile_size): Likewise.
36 (sim_stop,sim_resume,sim_trace,sim_info): Likewise.
37 (sim_set_callbacks,sim_stop_reason,sim_read,sim_load): Likewise.
38 (enum interrupt_type): New enum.
39 (interrupt_names): New global.
40 (do_interrupt): New function.
41 (sim_open): Define differently if WITH_COMMON.
42 (sim_close,sim_create_inferior,sim_do_command): Likewise.
43 * mn10300_sim.h ({load,store}_{byte,half,word}): Define versions
44 for WITH_COMMON.
45 * mn10300.igen: New file.
46 * mn10300.dc: New file.
47 * op_utils.c: New file.
48 * sim-main.h: New file.
49
50 Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
51
52 * configure: Regenerated to track ../common/aclocal.m4 changes.
53
54 Fri Feb 27 18:36:04 1998 Jeffrey A Law (law@cygnus.com)
55
56 * simops.c (inc): Fix typo.
57
58 Wed Feb 25 01:59:29 1998 Jeffrey A Law (law@cygnus.com)
59
60 * simops.c (signed multiply instructions): Cast input operands to
61 signed32 before casting them to signed64 so that the sign bit
62 is propagated properly.
63
64 Mon Feb 23 20:23:19 1998 Mark Alexander <marka@cygnus.com>
65
66 * Makefile.in: Last change was bad. Define NL_TARGET
67 so that targ-vals.h will be used instead of syscall.h.
68 * simops.c: Use targ-vals.h instead of syscall.h.
69 (OP_F020): Disable unsupported system calls.
70
71 Mon Feb 23 09:44:38 1998 Mark Alexander <marka@cygnus.com>
72
73 * Makefile.in: Get header files from libgloss/mn10300/sys.
74
75 Sun Feb 22 16:02:24 1998 Jeffrey A Law (law@cygnus.com)
76
77 * simops.c: Include sim-types.h.
78
79 Wed Feb 18 13:07:08 1998 Jeffrey A Law (law@cygnus.com)
80
81 * simops.c (multiply instructions): Cast input operands to a
82 signed64/unsigned64 type as appropriate.
83
84 Tue Feb 17 12:47:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
85
86 * interp.c (sim_store_register, sim_fetch_register): Pass in
87 length parameter. Return -1.
88
89 Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
90
91 * configure: Regenerated to track ../common/aclocal.m4 changes.
92
93 Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
94
95 * configure: Regenerated to track ../common/aclocal.m4 changes.
96
97 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
98
99 * configure: Regenerated to track ../common/aclocal.m4 changes.
100
101 Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
102
103 * configure: Regenerated to track ../common/aclocal.m4 changes.
104 * config.in: Ditto.
105
106 Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
107
108 * configure: Regenerated to track ../common/aclocal.m4 changes.
109
110 Tue Nov 11 10:38:52 1997 Jeffrey A Law (law@cygnus.com)
111
112 * simops.c (call:16 call:32): Stack adjustment is determined solely
113 by the imm8 field.
114
115 Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
116
117 * interp.c (sim_load): Pass lma_p and sim_write args to
118 sim_load_file.
119
120 Tue Oct 21 10:12:03 1997 Jeffrey A Law (law@cygnus.com)
121
122 * simops.c: Correctly handle register restores for "ret" and "retf"
123 instructions.
124
125 Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
126
127 * configure: Regenerated to track ../common/aclocal.m4 changes.
128
129 Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
130
131 * configure: Regenerated to track ../common/aclocal.m4 changes.
132
133 Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
134
135 * configure: Regenerated to track ../common/aclocal.m4 changes.
136
137 Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
138
139 * configure: Regenerated to track ../common/aclocal.m4 changes.
140
141 Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
142
143 * configure: Regenerated to track ../common/aclocal.m4 changes.
144
145 Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
146
147 * configure: Regenerated to track ../common/aclocal.m4 changes.
148
149 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
150
151 * configure: Regenerated to track ../common/aclocal.m4 changes.
152
153 Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
154
155 * configure: Regenerated to track ../common/aclocal.m4 changes.
156 * config.in: Ditto.
157
158 Tue Aug 26 10:41:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
159
160 * interp.c (sim_kill): Delete.
161 (sim_create_inferior): Add ABFD argument.
162 (sim_load): Move setting of PC from here.
163 (sim_create_inferior): To here.
164
165 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
166
167 * configure: Regenerated to track ../common/aclocal.m4 changes.
168 * config.in: Ditto.
169
170 Mon Aug 25 16:14:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
171
172 * interp.c (sim_open): Add ABFD argument.
173
174 Tue Jun 24 13:46:20 1997 Jeffrey A Law (law@cygnus.com)
175
176 * interp.c (sim_resume): Clear State.exited.
177 (sim_stop_reason): If State.exited is nonzero, then indicate that
178 the simulator exited instead of stopped.
179 * mn10300_sim.h (struct _state): Add exited field.
180 * simops.c (syscall): Set State.exited for SYS_exit.
181
182 Wed Jun 11 22:07:56 1997 Jeffrey A Law (law@cygnus.com)
183
184 * simops.c: Fix thinko in last change.
185
186 Tue Jun 10 12:31:32 1997 Jeffrey A Law (law@cygnus.com)
187
188 * simops.c: "call" stores the callee saved registers into the
189 stack! Update the stack pointer properly when done with
190 register saves.
191
192 * simops.c: Fix return address computation for "call" instructions.
193
194 Thu May 22 01:43:11 1997 Jeffrey A Law (law@cygnus.com)
195
196 * interp.c (sim_open): Fix typo.
197
198 Wed May 21 23:27:58 1997 Jeffrey A Law (law@cygnus.com)
199
200 * interp.c (sim_resume): Add missing case in big switch
201 statement (for extb instruction).
202
203 Tue May 20 17:51:30 1997 Jeffrey A Law (law@cygnus.com)
204
205 * interp.c: Replace all references to load_mem and store_mem
206 with references to load_byte, load_half, load_3_byte, load_word
207 and store_byte, store_half, store_3_byte, store_word.
208 (INLINE): Delete definition.
209 (load_mem_big): Likewise.
210 (max_mem): Make it global.
211 (dispatch): Make this function inline.
212 (load_mem, store_mem): Delete functions.
213 * mn10300_sim.h (INLINE): Define.
214 (RLW): Delete unused definition.
215 (load_mem, store_mem): Delete declarations.
216 (load_mem_big): New definition.
217 (load_byte, load_half, load_3_byte, load_word): New functions.
218 (store_byte, store_half, store_3_byte, store_word): New functions.
219 * simops.c: Replace all references to load_mem and store_mem
220 with references to load_byte, load_half, load_3_byte, load_word
221 and store_byte, store_half, store_3_byte, store_word.
222
223 Tue May 20 10:21:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
224
225 * interp.c (sim_open): Add callback to arguments.
226 (sim_set_callbacks): Delete SIM_DESC argument.
227
228 Mon May 19 13:54:22 1997 Jeffrey A Law (law@cygnus.com)
229
230 * interp.c (dispatch): Make this an inline function.
231
232 * simops.c (syscall): Use callback->write regardless of
233 what file descriptor we're writing too.
234
235 Sun May 18 16:46:31 1997 Jeffrey A Law (law@cygnus.com)
236
237 * interp.c (load_mem_big): Remove function. It's now a macro
238 defined elsewhere.
239 (compare_simops): New function.
240 (sim_open): Sort the Simops table before inserting entries
241 into the hash table.
242 * mn10300_sim.h: Remove unused #defines.
243 (load_mem_big): Define.
244
245 Fri May 16 16:36:17 1997 Jeffrey A Law (law@cygnus.com)
246
247 * interp.c (load_mem): If we get a load from an out of range
248 address, abort.
249 (store_mem): Likewise for stores.
250 (max_mem): New variable.
251
252 Tue May 6 13:24:36 1997 Jeffrey A Law (law@cygnus.com)
253
254 * mn10300_sim.h: Fix ordering of bits in the PSW.
255
256 * interp.c: Improve hashing routine to avoid long list
257 traversals for common instructions. Add HASH_STAT support.
258 Rewrite opcode dispatch code using a big switch instead of
259 cascaded if/else statements. Avoid useless calls to load_mem.
260
261 Mon May 5 18:07:48 1997 Jeffrey A Law (law@cygnus.com)
262
263 * mn10300_sim.h (struct _state): Add space for mdrq register.
264 (REG_MDRQ): Define.
265 * simops.c: Don't abort for trap. Add support for the extended
266 instructions, "getx", "putx", "mulq", "mulqu", "sat16", "sat24",
267 and "bsch".
268
269 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
270
271 * configure: Regenerated to track ../common/aclocal.m4 changes.
272
273 Fri Apr 18 14:04:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
274
275 * interp.c (sim_stop): Add stub function.
276
277 Thu Apr 17 03:26:59 1997 Doug Evans <dje@canuck.cygnus.com>
278
279 * Makefile.in (SIM_OBJS): Add sim-load.o.
280 * interp.c (sim_kind, myname): New static locals.
281 (sim_open): Set sim_kind, myname. Ignore -E arg.
282 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
283 load file into simulator. Set start address from bfd.
284 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
285
286 Wed Apr 16 19:30:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
287
288 * simops.c (OP_F020): SYS_execv, SYS_time, SYS_times, SYS_utime
289 only include if implemented by host.
290 (OP_F020): Typecast arg passed to time function;
291
292 Mon Apr 7 23:57:49 1997 Jeffrey A Law (law@cygnus.com)
293
294 * simops.c (syscall): Handle new mn10300 calling conventions.
295
296 Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
297
298 * configure: Regenerated to track ../common/aclocal.m4 changes.
299 * config.in: Ditto.
300
301 Fri Apr 4 20:02:37 1997 Ian Lance Taylor <ian@cygnus.com>
302
303 * Makefile.in: Change mn10300-opc.o to m10300-opc.o, to match
304 corresponding change in opcodes directory.
305
306 Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
307
308 * interp.c (sim_open): New arg `kind'.
309
310 * configure: Regenerated to track ../common/aclocal.m4 changes.
311
312 Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
313
314 * configure: Regenerated to track ../common/aclocal.m4 changes.
315
316 Thu Mar 20 11:58:02 1997 Jeffrey A Law (law@cygnus.com)
317
318 * simops.c: Fix register extraction for a two "movbu" variants.
319 Somewhat simplify "sub" instructions.
320 Correctly sign extend operands for "mul". Put the correct
321 half of the result in MDR for "mul" and "mulu".
322 Implement remaining instructions.
323 Tweak opcode for "syscall".
324
325 Tue Mar 18 14:21:21 1997 Jeffrey A Law (law@cygnus.com)
326
327 * simops.c: Do syscall emulation in "syscall" instruction. Add
328 dummy "trap" instruction.
329
330 Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
331
332 * configure: Regenerated to track ../common/aclocal.m4 changes.
333
334 Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
335
336 * configure: Re-generate.
337
338 Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
339
340 * configure: Regenerate to track ../common/aclocal.m4 changes.
341
342 Thu Mar 13 12:54:45 1997 Doug Evans <dje@canuck.cygnus.com>
343
344 * interp.c (sim_open): New SIM_DESC result. Argument is now
345 in argv form.
346 (other sim_*): New SIM_DESC argument.
347
348 Wed Mar 12 15:04:00 1997 Jeffrey A Law (law@cygnus.com)
349
350 * simops.c: Fix carry bit computation for "add" instructions.
351
352 * simops.c: Fix typos in bset insns. Fix arguments to store_mem
353 for bset imm8,(d8,an) and bclr imm8,(d8,an).
354
355 Wed Mar 5 15:00:10 1997 Jeffrey A Law (law@cygnus.com)
356
357 * simops.c: Fix register references when computing Z and N bits
358 for lsr imm8,dn.
359
360 Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
361
362 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
363 COMMON_{PRE,POST}_CONFIG_FRAG instead.
364 * configure.in: sinclude ../common/aclocal.m4.
365 * configure: Regenerated.
366
367 Fri Jan 24 10:47:25 1997 Jeffrey A Law (law@cygnus.com)
368
369 * interp.c (init_system): Allocate 2^19 bytes of space for the
370 simulator.
371
372 Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
373
374 * configure configure.in Makefile.in: Update to new configure
375 scheme which is more compatible with WinGDB builds.
376 * configure.in: Improve comment on how to run autoconf.
377 * configure: Re-run autoconf to get new ../common/aclocal.m4.
378 * Makefile.in: Use autoconf substitution to install common
379 makefile fragment.
380
381 Tue Jan 21 15:03:04 1997 Jeffrey A Law (law@cygnus.com)
382
383 * simops.c: Undo last change to "rol" and "ror", original code
384 was correct!
385
386 Thu Jan 16 11:28:14 1997 Jeffrey A Law (law@cygnus.com)
387
388 * simops.c: Fix "rol" and "ror".
389
390 Wed Jan 15 06:45:58 1997 Jeffrey A Law (law@cygnus.com)
391
392 * simops.c: Fix typo in last change.
393
394 Mon Jan 13 13:22:35 1997 Jeffrey A Law (law@cygnus.com)
395
396 * simops.c: Use REG macros in few places not using them yet.
397
398 Mon Jan 6 16:21:19 1997 Jeffrey A Law (law@cygnus.com)
399
400 * mn10300_sim.h (struct _state): Fix number of registers!
401
402 Tue Dec 31 16:20:41 1996 Jeffrey A Law (law@cygnus.com)
403
404 * mn10300_sim.h (struct _state): Put all registers into a single
405 array to make gdb implementation easier.
406 (REG_*): Add definitions for all registers in the state array.
407 (SEXT32, SEXT40, SEXT44, SEXT60): Remove unused macros.
408 * simops.c: Related changes.
409
410 Wed Dec 18 10:10:45 1996 Jeffrey A Law (law@cygnus.com)
411
412 * interp.c (sim_resume): Handle 0xff as a single byte insn.
413
414 * simops.c: Fix overflow computation for "add" and "inc"
415 instructions.
416
417 Mon Dec 16 10:03:52 1996 Jeffrey A Law (law@cygnus.com)
418
419 * simops.c: Handle "break" instruction.
420
421 * simops.c: Fix restoring the PC for "ret" and "retf" instructions.
422
423 Wed Dec 11 09:53:10 1996 Jeffrey A Law (law@cygnus.com)
424
425 * gencode.c (write_opcodes): Also write out the format of the
426 opcode.
427 * mn10300_sim.h (simops): Add "format" field.
428 * interp.c (sim_resume): Deal with endianness issues here.
429
430 Tue Dec 10 15:05:37 1996 Jeffrey A Law (law@cygnus.com)
431
432 * simops.c (REG0_4): Define.
433 Use REG0_4 for indexed loads/stores.
434
435 Sat Dec 7 09:50:28 1996 Jeffrey A Law (law@cygnus.com)
436
437 * simops.c (REG0_16): Fix typo.
438
439 Fri Dec 6 14:13:34 1996 Jeffrey A Law (law@cygnus.com)
440
441 * simops.c: Call abort for any instruction that's not currently
442 simulated.
443
444 * simops.c: Define accessor macros to extract register
445 values from instructions. Use them consistently.
446
447 * interp.c: Delete unused global variable "OP".
448 (sim_resume): Remove unused variable "opcode".
449 * simops.c: Fix some uninitialized variable problems, add
450 parens to fix various -Wall warnings.
451
452 * gencode.c (write_header): Add "insn" and "extension" arguments
453 to the OP_* declarations.
454 (write_template): Similarly for function templates.
455 * interp.c (insn, extension): Remove global variables. Instead
456 pass them as arguments to the OP_* functions.
457 * mn10300_sim.h: Remove decls for "insn" and "extension".
458 * simops.c (OP_*): Accept "insn" and "extension" as arguments
459 instead of using globals.
460
461 Thu Dec 5 22:26:31 1996 Jeffrey A Law (law@cygnus.com)
462
463 * simops.c: Fix typos in "mov am,(d16,an)" and "mov am,(d32,an)"
464
465 * simops.c: Fix thinkos in last change to "inc dn".
466
467 Wed Dec 4 10:57:53 1996 Jeffrey A Law (law@cygnus.com)
468
469 * simops.c: "add imm,sp" does not effect the condition codes.
470 "inc dn" does effect the condition codes.
471
472 Tue Dec 3 17:37:45 1996 Jeffrey A Law (law@cygnus.com)
473
474 * simops.c: Treat both operands as signed values for
475 "div" instruction.
476
477 * simops.c: Fix simulation of division instructions.
478 Fix typos/thinkos in several "cmp" and "sub" instructions.
479
480 Mon Dec 2 12:31:40 1996 Jeffrey A Law (law@cygnus.com)
481
482 * simops.c: Fix carry bit handling in "sub" and "cmp"
483 instructions.
484
485 * simops.c: Fix "mov imm8,an" and "mov imm16,dn".
486
487 Sun Dec 1 16:05:42 1996 Jeffrey A Law (law@cygnus.com)
488
489 * simops.c: Fix overflow computation for many instructions.
490
491 * simops.c: Fix "mov dm, an", "movbu dm, (an)", and "movhu dm, (an)".
492
493 * simops.c: Fix "mov am, dn".
494
495 * simops.c: Fix more bugs in "add imm,an" and
496 "add imm,dn".
497
498 Wed Nov 27 09:20:42 1996 Jeffrey A Law (law@cygnus.com)
499
500 * simops.c: Fix bugs in "movm" and "add imm,an".
501
502 * simops.c: Don't lose the upper 24 bits of the return
503 pointer in "call" and "calls" instructions. Rough cut
504 at emulated system calls.
505
506 * simops.c: Implement the remaining 5, 6 and 7 byte instructions.
507
508 * simops.c: Implement remaining 4 byte instructions.
509
510 * simops.c: Implement remaining 3 byte instructions.
511
512 * simops.c: Implement remaining 2 byte instructions. Call
513 abort for instructions we're not implementing now.
514
515 Tue Nov 26 15:43:41 1996 Jeffrey A Law (law@cygnus.com)
516
517 * simops.c: Implement lots of random instructions.
518
519 * simops.c: Implement "movm" and "bCC" insns.
520
521 * mn10300_sim.h (_state): Add another register (MDR).
522 (REG_MDR): Define.
523 * simops.c: Implement "cmp", "calls", "rets", "jmp" and
524 a few additional random insns.
525
526 * mn10300_sim.h (PSW_*): Define for CC status tracking.
527 (REG_D0, REG_A0, REG_SP): Define.
528 * simops.c: Implement "add", "addc" and a few other random
529 instructions.
530
531 * gencode.c, interp.c: Snapshot current simulator code.
532
533 Mon Nov 25 12:46:38 1996 Jeffrey A Law (law@cygnus.com)
534
535 * Makefile.in, config.in, configure, configure.in: New files.
536 * gencode.c, interp.c, mn10300_sim.h, simops.c: New files.
537
This page took 0.049863 seconds and 4 git commands to generate.