Use trace_one_insn in trace functions. Buffer up trace data so that
[binutils-gdb.git] / sim / v850 / ChangeLog
1 Tue Sep 16 15:14:01 1997 Andrew Cagney <cagney@b1.cygnus.com>
2
3 * simops.c (trace_pc, trace_name, trace_values, trace_num_values):
4 New static globals.
5 (trace_input): Just save pc, name and values for trace_output.
6 (trace_output): Write trace values to a buffer. Use
7 trace_one_insn to print trace info and buffer.
8 (SIZE_OPERANDS, SIZE_LOCATION): Delete.
9
10 Tue Sep 16 09:02:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
11
12 * sim-main.h (struct _sim_cpu): Add psw_mask so that reserved bits
13 can be masked out.
14
15 * simops.c (OP_2007E0, OP_4007E0): Move "ldsr", "stsr"
16 instructions from here.
17 * v850.igen (ldsr, stsr): To here. Mask out reserved bits when
18 setting PSW.
19
20 * interp.c (sim_open): Set psw_mask if machine known.
21
22 Tue Sep 16 10:20:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
23
24 start-sanitize-v850e
25 * v850-dc: Add rule to diferentiate between breakpoint and divh.
26 * v850.igen (break): New instruction, breakpoint simulator.
27
28 end-sanitize-v850e
29 * v850.igen (breakpoint): Enable. Change to a 32bit instruction.
30
31 start-sanitize-v850e
32 Mon Sep 15 18:44:05 1997 Jim Wilson <wilson@cygnus.com>
33
34 * simops.c (Multiply64): Don't store into register zero.
35
36 start-sanitize-v850e
37 Tue Sep 16 09:02:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
38
39 * Makefile.in (semantics.o): Add dependency.
40
41 * sim-main.h (SAVE_1, SAVE_2): Perform backward compatible save,
42 do not adjust CIA/NIA.
43
44 Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
45
46 start-sanitize-v850eq
47 * simops.c (OP_300, OP_400, OP_70): Make behavour depend on PSW[US].
48
49 * simops.c: Move "divun", "sld.bu", "divhn", "divhun", "divn",
50 "divun", "pushml" code from here to v850.igen.
51 (divun): Make global.
52 (type3_regs): Make global
53
54 * v850.igen: Move simops.c code to here.
55
56 * interp.c (sim_create_inferior): For v850eq set US bit by
57 default.
58
59 end-sanitize-v850eq
60 start-sanitize-v850e
61 * interp.c (sim_open): Don't set arch, now set by
62 sim_analyze_program.
63
64 end-sanitize-v850e
65 * configure: Regenerated to track ../common/aclocal.m4 changes.
66
67 Mon Sep 15 14:39:34 1997 Andrew Cagney <cagney@b1.cygnus.com>
68
69 * simops.c (op_types): Move from here.
70 sim-main.h: To here.
71
72 * sim-main.h (trace_input, trace_output), simops.c: Make global.
73
74 * simops.c (OP_60): Move "jmp" code from here.
75 * v850.igen (jmp): To here.
76
77 start-sanitize-v850eq
78 * simops.c (OP_60): Move "sld.bu" code from here.
79 * v850.igen (sld.bu): To here.
80
81 end-sanitize-v850eq
82 Fri Sep 12 15:11:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
83
84 start-sanitize-v850eq
85 * v850.igen (prepare, ...): Add to v850eq architecture.
86
87 end-sanitize-v850eq
88 start-sanitize-v850e
89 * interp.c (sim_open): Default to v850eq.
90
91 end-sanitize-v850e
92 start-sanitize-v850eq
93
94 * interp.c (sim_open): Default to v850e.
95 end-sanitize-v850eq
96 * sim-main.h (signal.h): Include.
97
98 * v850.igen (illegal): Report/halt illegal instructions.
99
100 * Makefile.in (SIM_EXTRA_CFLAGS): Add SIM_RESERVED_BITS.
101
102 * configure.in: Add reserved bits option.
103 * configure: Regenerate.
104
105 Thu Sep 11 08:40:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
106
107 * interp.c (sim_open): Use sim_do_commandf instead of asprintf.
108
109 * sim-main.h (INSN_NAME):
110
111 * Makefile.in (INCLUDE): Add SIM_EXTRA_DEPS.
112 (SIM_EXTRA_DEPS): Add itable.h
113 (tmp-gencode): Does not depend on simops.h
114
115 * sim-main.h (itable.h): Include.
116 (MAX_INSNS, INSN_NAME): Define.
117
118 * interp.c: Compute inttype from the interrupt_names index that
119 was passed in.
120
121 Wed Sep 10 10:25:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
122
123 * simops.c (trace_input): Use trace_printf instead of
124 sim_io_printf.
125 (trace_output): Ditto.
126 (trace_input): Only trace when TRACE_ALU_P. Delete code
127 disasembling instruction.
128 (trace_output): Only trace when TRACE_ALU_P.
129
130 Tue Sep 9 01:29:50 1997 Andrew Cagney <cagney@b1.cygnus.com>
131
132 * simops.c (trace_input, trace_output): Use sim_io_printf.
133 (OP_620): Pass correct argument to trace.
134 (OP_E607E0): Ditto.
135 (trace_input): Obtain prog_bfd, text_start et.al from simulator
136 struct.
137
138 Mon Sep 8 21:03:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
139
140 * v850.igen: New file.
141 * v850-dc: New file.
142
143 Mon Sep 8 18:33:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
144
145
146 * sim-main.h (SEXT16): Delete, use EXTEND16.
147 (SEXT8): Delete, use EXTEND8.
148 (SEXT32): Delete, used?
149 (SEXT40, SEXT44, SEXT64): Use UNSIGNED64 for constants, not ...LL.
150 (WITH_TARGET_WORD_MSB): Define as 31. v850 little bit endian.
151
152 * simops.c: Use EXTEND15 from sim-bits instead of SEXT16.
153
154 * sim-main.h (DEBUG_TRACE, DEBUG_VALUES, v850_debug): Delete,
155 replace with TRACE_INSN_P and TRACE_ALU_P.
156
157 * simops.c (trace_input, trace_output): Update.
158
159 * interp.c (sim_engine_run): Delete.
160 (lookup_hash): Delete.
161 (sim_open): Do not fill hash table.
162 (sim_trace): Delete.
163
164 Fri Sep 5 17:04:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
165
166 * simops.c (OP_FFFF): Use sim_engine_halt.
167 (OP_12007E0): Ditto.
168 (OP_10007E0): Ditto.
169
170 * sim-main.h (struct sim_cpu): Delete member exception. Using
171 sim-engine et.al.
172
173 * interp.c (sim_info): Do not do anything in sim-info.
174 (sim_stop): Delete, replace with sim-stop.
175 (sim_stop_reason): Delete, replace with sim-reason.
176
177 * sim-main.h (WITH_WATCHPOINTS): Define.
178 (WITH_MODULO_MEMORY): Define
179
180 * Makefile.in (SIM_OBJS): Add sim-resume, sim-watch, sim-stop,
181 sim-reason.
182
183 * interp.c (enum interrupt_cond_type): Delete.
184 (struct interrupt_generator): Delete.
185 (enum interrupt_type): Drop int_none.
186 (sim_open): Initialize WATCHPOINT module.
187 (sim_resume, sim_run): Rename sim_resume to sim_run.
188 (sim_engine_run): Replace interrupt code with call to sim-events.
189 (sim_set_interrupt): Delete.
190 (sim_parse_number): Delete.
191
192 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
193
194 * configure: Regenerated to track ../common/aclocal.m4 changes.
195
196 Thu Sep 4 18:11:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
197
198 * simops.c (fetch_argv): New function, fetch a arg vector from
199 simulator memory.
200
201 * configure.in: Check for fork, execve, execv.
202 * configure: Regenerate.
203
204 * interp.c (sim_store_register, sim_fetch_register): Use H2T_4 and
205 T2H_4 for byte swapping.
206
207 * sim-main.h, interp.c (get_word, get_half, get_byte, put_word,
208 put_half, put_byte): Delete.
209
210 * Makefile.in (SIM_OBJS): Add sim-memopt.o module.
211
212 * sim-main.h (load_mem, store_mem): Redefine as macros.
213 (IMEM, IMEM_IMMED): New macros - fetch instructions.
214
215 * simops.c (OP_10007E0): For SYS_read, SYS_write, SYS_open
216 transfer data via a buffer.
217 (fetch_str): New function, fetch string from memory.
218
219 * Makefile.in (SIM_OBJS): Add sim-hrw.o module.
220
221 * interp.c (sim_open): Establish memory maps using sim-memopt.c
222 via sim_do_command.
223 (sim_do_command): Print error if memory-map command is used. Call
224 sim_args_command.
225 (map): Delete, replaced by sim-core.
226 (sim_memory_init): Delete, replaced by sim-core.
227 (sim_set_memory_map): Delete, replaced by sim-memopt.
228 (load_mem): Delete, replaced by sim-core.
229 (store_mem): Delete, replaced by sim-core.
230 (sim_write): Delete, replaced by sim-hrw.
231 (sim_read): Delete, replaced by sim-hrw.
232
233 * sim-main.h (struct sim_state): Remove memory members, using
234 sim-core.c
235
236 Wed Sep 3 10:18:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
237
238 * sim-main.h: Replace SIM_HAVE_FLATMEM with mem ptr.
239 * interp.c (map): Do not add to a void pointer.
240
241 * Makefile.in (INCLUDE): Add sim-main.h
242
243 * configure.in: Check for time.h
244 * configure: Re-generate.
245
246 * interp.c (struct interrupt_generator): Make time unsigned long,
247 address SIM_ADDR.
248 (sim_resume): Make oldpc SIM_ADDR.
249 (struct hash_entry): Make mask/opcode unsigned.
250
251 * v850_sim.h (struct simops ): Make opcode and mask unsigned.
252
253 * simops.c (utime.h): Include if available.
254 (OP_10007E0): Check for UTIME function.
255 (divun): Put parentheses around shift argument.
256 (OP_640): Put parentheses around shift argument, was wrong.
257 (OP_107F0): Return something.
258
259 * interp.c (sim_parse_number): Use strtoul not strtol.
260 (sim_resume): Use sim_elapsed_time_get to keep track of the time.
261
262 * configure.in (SIM_AC_OPTION_WARNINGS): Add.
263 (SIM_AC_OPTION_ENDIAN): Set to hardwired big.
264 (SIM_AC_OPTION_HOST_ENDIAN): Add.
265 (AC_CHECK_FUNCS): Add utime.
266 (AC_CHECK_HEADERS): Add stdlib.h, string.h, strings.h, utime.h
267 configure: Regenerate.
268
269
270 * Makefile.in (SIM_RUN_OBJS): Use nrun.o.
271 (SIM_OBJS): Add sim-io.o, sim-hload.o, sim-utils.o, sim-options.o,
272 sim-config.o, sim-module.o, sim-events.o, sim-core.o,
273 sim-endian.o, sim-engine.o, sim-trace.o, sim-profile.o
274 (SIM_ENDIAN, SIM_WARNGINS): Define.
275
276 * simops.c (OP_10007E0): Use sim_io_* for transfers.
277
278 * interp.c (sim_resume): Pass sd around.
279
280 * simops.c (sim-main.h): Include.
281
282 * gencode.c (write_template): Generate #include sim-main.h.
283 (write_opcodes): Ditto.
284
285 * interp.c (prog_bfd, prog_bfd_was_opened_p): Delete.
286 (v850_callback): Ditto.
287 (sim_kind, myname): Ditto.
288 (lookup_hash): Pass SD. Use sim_io_error.
289 (sim_set_memory_map): Pass in SD, use.
290 (init_system): Pass in SD, use.
291 (sim_open): Update.
292 (sim_set_profile): Delete.
293 (sim_set_profile_size): Delete.
294 (do_interrupt): Pass in SD, use.
295 (sim_info): Use sim_io_printf.
296 (sim_create_inferior): Reset registers. Set PC from prog_bfd
297 argument.
298 (sim_load): Delete, use common/sim-hload.c
299 (sim_size): Rename to sim_memory_init.
300 (sim_write): Remove call to init_system.
301 (init_system): Delete.
302 (sim_set_callbacks): Delete.
303 (sim_set_interrupt): Pass in SD, use.
304 (start_time): Delete.
305
306 * v850_sim.h: Remove everything except `struct simops' from here.
307 * sim-main.h: Move most to here.
308 * gencode.c: Move #includes to here.
309
310 * sim-main.h(struct _sim_cpu): Rename struct _state.
311 (#define PC, et.al.): Update
312 (v850_callback): Delete. Replaced with SIM_DESC arg.
313 (int8, uint8, int16, uint16, int32, uint32): Define types using
314 unsigned8 et.al from common/sim-types.h.
315 * sim-main.h (State): Define as STATE_CPU.
316
317 Mon Sep 1 12:07:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
318
319 * configure.in: Check for time, chmod.
320 * configure: Regenerate.
321 * simops.c (SYS_time, SYS_chmod): Use HAVE_TIME, HAVE_CHMOD.
322
323 * simops.c (../../libgloss/v850/sys/syscall.h): Include instead of
324 sys/syscall.h.
325 (OP_10007E0): Check the existance each SYS_* macro independantly.
326
327 * v850_sim.h (SIGQUIT, SIGTRAP): Only define if missing.
328
329 Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
330
331 * configure: Regenerated to track ../common/aclocal.m4 changes.
332 * config.in: Ditto.
333
334 Tue Aug 26 10:42:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
335
336 * interp.c (sim_kill): Delete.
337 (sim_create_inferior): Add ABFD argument.
338 (sim_load): Move setting of PC from here.
339 (sim_create_inferior): To here.
340
341 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
342
343 * configure: Regenerated to track ../common/aclocal.m4 changes.
344 * config.in: Ditto.
345
346 Mon Aug 25 11:31:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
347
348 * interp.c (sim_open): Add ABFD argument.
349
350 start-sanitize-v850e
351 Fri Aug 22 10:39:28 1997 Nick Clifton <nickc@cygnus.com>
352
353 * simops.c (bsh): Only set CY flag if either of the bottom
354 bytes is zero.
355
356 * simops.c (prepare, dispose): Lower numbered
357 registers go to higher numbered address.
358
359 * simops.c (unsigned divide instructions): S bit set if result has
360 top bit set.
361
362 start-sanitize-v850eq
363 * simops.c (pushml, pushmh, popml, popmh): Lower numbered
364 registers go to higher numbered address.
365 end-sanitize-v850eq
366 end-sanitize-v850e
367
368 Wed Aug 20 13:56:35 1997 Nick Clifton <nickc@cygnus.com>
369
370 * simops.c (OP_107E0, OP_107F0, OP_307E0, OP_307F0): Use correct
371 interpretation of SR bit in list18 structure.
372 start-sanitize-v850eq
373 (divn, divun): New functions to perform N step divide functions.
374 end-sanitize-v850eq
375
376 start-sanitize-v850eq
377 Mon Aug 18 10:59:02 1997 Nick Clifton <nickc@cygnus.com>
378
379 * simops.c (OP_300, OP_400, OP_60, OP_70): Support variant opcodes
380 with US bit set in the PSW.
381 start-sanitize-v850eq
382
383 Wed Aug 13 19:06:55 1997 Nick Clifton <nickc@cygnus.com>
384
385 * interp.c (sim_resume): Opcode functions return amount to be
386 added to PC and all opcodes take a standard format in the OP[]
387 array.
388
389 (do_format_*): Functions removed.
390
391 * v850_sim.h (SP, EP): New register mnemonics.
392
393 * gencode.c (write_header): Functions prototypes return an
394 integer.
395
396 * simops.c: Opcode functions return amount to be added to PC.
397
398 start-sanitize-v850e
399 * v850_sim.h (CTPC, CTPSW, CTBP): New register mnemonics.
400
401 * simops.c: Add support for v850e instructions.
402
403 * .Sanitize (Do-first, Do-last): Add support for keep-v850e
404 command line option.
405
406 end-sanitize-v850e
407
408 start-sanitize-v850eq
409 * .Sanitize (Do-first, Do-last): Add support for keep-v850eq
410 command line option.
411
412 * simops.c: Add support for v850eq instructions.
413 end-sanitize-v850eq
414
415 Tue May 20 10:24:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
416
417 * interp.c (sim_open): Add callback argument.
418 (sim_set_callbacks): Delete SIM_DESC argument.
419
420 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
421
422 * configure: Regenerated to track ../common/aclocal.m4 changes.
423
424 Wed Apr 23 17:20:16 1997 Doug Evans <dje@canuck.cygnus.com>
425
426 * interp.c (prog_bfd_was_opened_p): New static local.
427 (prog_bfd): New global variable.
428 (sim_open): Undo patch to add -E support.
429 (sim_close): Close prog_bfd if sim_load opened it.
430 (sim_load): Record bfd of loaded file in prog_bfd.
431 * simops.c (prog_bfd): Renamed from exec_bfd.
432
433 Fri Apr 18 14:17:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
434
435 * interp.c (sim_stop): Stub function.
436
437 Thu Apr 17 03:53:18 1997 Doug Evans <dje@canuck.cygnus.com>
438
439 * Makefile.in (SIM_OBJS): Add sim-load.o.
440 * interp.c (sim_kind, myname): New static locals.
441 (sim_open): Set sim_kind, myname. Ignore -E arg.
442 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
443 load file into simulator. Set start address from bfd.
444 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
445
446 Wed Apr 16 19:53:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
447
448 * simops.c (OP_10007E0): Only provide system calls SYS_execv,
449 SYS_wait, SYS_wait, SYS_utime, SYS_time if defined by the host.
450
451 Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
452
453 * configure: Regenerated to track ../common/aclocal.m4 changes.
454 * config.in: Ditto.
455
456 Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
457
458 * interp.c (sim_open): New arg `kind'.
459
460 * configure: Regenerated to track ../common/aclocal.m4 changes.
461
462 Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
463
464 * configure: Regenerated to track ../common/aclocal.m4 changes.
465
466 Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
467
468 * configure: Regenerated to track ../common/aclocal.m4 changes.
469
470 Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
471
472 * configure: Re-generate.
473
474 Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
475
476 * configure: Regenerate to track ../common/aclocal.m4 changes.
477
478 Thu Mar 13 13:00:54 1997 Doug Evans <dje@canuck.cygnus.com>
479
480 * interp.c (sim_open): New SIM_DESC result. Argument is now
481 in argv form.
482 (other sim_*): New SIM_DESC argument.
483
484 Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
485
486 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
487 COMMON_{PRE,POST}_CONFIG_FRAG instead.
488 * configure.in: sinclude ../common/aclocal.m4.
489 * configure: Regenerated.
490
491 Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
492
493 * configure configure.in Makefile.in: Update to new configure
494 scheme which is more compatible with WinGDB builds.
495 * configure.in: Improve comment on how to run autoconf.
496 * configure: Re-run autoconf to get new ../common/aclocal.m4.
497 * Makefile.in: Use autoconf substitution to install common
498 makefile fragment.
499
500 Mon Jan 20 16:05:34 1997 Michael Meissner <meissner@tiktok.cygnus.com>
501
502 * simops.c (OP_{E0,2E0,6E0}): The multiply operations sign extend,
503 not zero extend.
504
505 Tue Jan 14 17:06:03 1997 Stu Grossman (grossman@critters.cygnus.com)
506
507 * simops.c: Put ifdefs around things to make MSVC happy. Get rid
508 of unistd.h. Disable SYS_stat, SYS_chown, SYS_time, SYS_times,
509 SYS_gettimeofday and SYS_utime from MSVC.
510
511 Tue Dec 31 18:11:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
512
513 * simops.c (OP_10007E0): Know that kill encodes the signal number
514 via: 0xdead0000 | signal and turn it back into a signal.
515
516 Fri Dec 27 14:44:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
517
518 * v850_sim.h (SIG_V850_EXIT): Define as -1.
519
520 * interp.c (sim_open): Cast calloc function.
521 (sim_stop_reason): If signal is SIG_V850_EXIT, inform gdb the
522 program exited with the appropriate exit code.
523 (sim_set_interrupt): Declare buildargv.
524
525 * simops.c (OP_10007E0): Make exit signal normal exit. Make time
526 type correct and work on big endian systems.
527
528 Wed Nov 20 02:18:44 1996 Doug Evans <dje@canuck.cygnus.com>
529
530 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
531 (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
532 * configure.in: Simplify using macros in ../common/aclocal.m4.
533 Call AC_CHECK_HEADERS(unistd.h).
534 * configure: Regenerated.
535 * config.in: New file.
536 * simops.c: #include "config.h". #include <unistd.h> if present.
537
538 Sun Nov 3 23:02:54 1996 Stan Shebs <shebs@andros.cygnus.com>
539
540 * v850_sim.h (State): New slots dummy_mem, pending_nmi.
541 (EIPC, etc): New macros for system registers.
542 * simops.c, interp.c: Use everywhere.
543
544 * interp.c: Add support for interrupts issued by interrupt
545 generators, either PC- or time-based. Controlled by simulator
546 command "sim interrupt".
547
548 * interp.c: Add support for variable-size allocation of memory,
549 via simulator command "sim memory-map".
550 (map): Issue SIGSEGV for references to invalid memory regions.
551
552 Thu Oct 31 14:44:10 1996 Gavin Koch <gavin@cygnus.com>
553
554 * simops.c: Include <sys/time.h> for struct timeval and
555 struct timezone.
556
557 Wed Oct 30 08:49:10 1996 Jeffrey A Law (law@cygnus.com)
558
559 * simops.c (OP_10007E0): Handle SYS_times and SYS_gettimeofday.
560
561 * simops.c (OP_10007E0): Handle SYS_time.
562
563 Tue Oct 29 14:22:55 1996 Jeffrey A Law (law@cygnus.com)
564
565 * simops.c: Include <sys/stat.h>.
566 (OP_10007E0): Handle SYS_stat.
567
568 Thu Oct 24 12:26:35 1996 Jeffrey A Law (law@cygnus.com)
569
570 * simops.c (OP_10007E0): Don't declare errno.
571
572 * simops.c (OP_500): Mask off low bit in displacement
573 for sld.w.
574 (OP_501): Similarly.
575
576 * simops.c (OP_500): Fix displacement handling for sld.w.
577 (OP_501): Similarly for sst.w.
578
579 * simops.c (trace_input): Remove all references to SEXT7.
580 (OP_300, OP_400, OP_500, OP_380, OP_480, OP_501): Displacement
581 is zero extended for sst/sld instructions.
582 * v850_sim.h (SEX7): Delete. It's no longer needed (and it
583 was incorrect anyway).
584
585 Thu Oct 24 10:33:33 1996 Stu Grossman (grossman@critters.cygnus.com)
586
587 * Makefile.in: Get rid of srcroot. Set all INSTALL macros via
588 autoconf.
589 * gencode.c (write_opcodes): Pad operands field to account for
590 MSVC braindamage.
591 * simops.c: Include errno.h. Exclude SYS_chown, since MSVC
592 doesn't support it. (Why is this here in the first place?!?)
593 * v850_sim.h: Get rid of 64 bit defs. Also, get rid of #elif's.
594 Change number of operands in struct simops from 9 to 6. Define
595 SIGTRAP and SIGQUIT for MSVC.
596
597 Tue Oct 15 16:19:51 1996 Stu Grossman (grossman@critters.cygnus.com)
598
599 * interp.c (MEM_SIZE): It's now bytes, not a power of 2.
600 * (map): Add support for external mem in the 1->2 meg range.
601 Also, abort() when memory access is way out of bounds. (Better to
602 die than to give wrong result. (This will be fixed later.))
603 * (sim_size): MEM_SIZE is now bytes, not shift factor.
604
605 Tue Oct 1 15:53:24 1996 Gavin Koch <gavin@cygnus.com>
606
607 * simops.c (trace_input): Swapped order of operands for output
608 output of OP_IMM_REG. Changed the fetching of the operands for
609 OP_LOAD32, and OP_STORE32 to work like op-function.
610
611 Mon Sep 30 15:46:33 1996 Stu Grossman (grossman@critters.cygnus.com)
612
613 * interp.c: Move includes of remote-sim.h and callback.h to
614 v850-sim.h.
615 * (lookup_hash): Add PC to report of hash failure.
616 * (map load_mem store_mem): New memory subsystem. Models V851
617 memory system.
618 * (sim_write sim_read): Use new memory subsystem.
619 * (sim_resume): Don't load and save PC into EIPC anymore. Needed
620 to make user-defined traps work right.
621 * simops.c (OP_*): Use new memory subsystem.
622 * (OP_14007E0 (reti)): Implement reti.
623 * (OP_14996E0 (trap)): Implement user-defined traps. Move I/O to
624 trap 31. Use new memory subsystem.
625 * v850_sim.h: Prototypes for load_mem, store_mem and map. Use
626 load_mem in RLW macro.
627
628 Fri Sep 27 18:34:09 1996 Stu Grossman (grossman@critters.cygnus.com)
629
630 * gencode.c (write_opcodes): Output hex values for opcode mask
631 and patterns.
632 * interp.c (sim_resume): Save and restore PC from the appropriate
633 register.
634 * (sim_fetch_register sim_store_register): Fix byte-order problem
635 with reading and writing registers.
636 * simops.c (OP_FFFF): Implement pseudo-breakpoint insn.
637
638 Fri Sep 27 17:42:37 1996 Jeffrey A Law (law@cygnus.com)
639
640 * simops.c (trace_input): Fix thinko.
641
642 Wed Sep 18 09:54:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
643
644 * simops.c (exec_bfd): Rename from sim_bfd.
645 (trace_input): Ditto.
646
647 Thu Sep 12 12:03:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
648
649 * simops.c (trace_input): Use find_nearest_line to print line
650 number, function name or file name of PC.
651
652 Wed Sep 11 16:44:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
653
654 * simops.c: Add tracing support. Use SEXTxx macros instead of
655 doing hardwired shifts.
656
657 * configure.in (--enable-sim-cflags): Add switch to add additional
658 flags to simulator buld. If --enable-sim-cflags=trace, turn on
659 tracing.
660 * configure: Regenerate.
661
662 * Makefile.in: Don't require a VPATH capable make if configuring
663 in the same directory. Don't use CFLAGS for configuration flags.
664 Add flags from --enable-sim-cflags. Support canadian cross
665 builds. Rebuild whole simulator if include files change.
666
667 * interp.c (v850_debug): New global for debugging.
668 (lookup_hash,sim_size,sim_set_profile): Use
669 printf_filtered callback, instead of calling printf directly.
670 (sim_{open,trace}): Enable tracing if -t and compiled for tracing.
671
672 * v850_sim.h: Use limits.h to set the various sized types.
673 (SEXT{5,7,16,22}): New macros.
674
675 Mon Sep 9 20:50:46 1996 Jeffrey A Law (law@cygnus.com)
676
677 * interp.c (hash): Make this an inline function
678 when compiling with GCC. Simplify.
679 * simpos.c: Explicitly include "sys/syscall.h". Remove
680 some #if 0'd code. Enable more emulated syscalls.
681
682 Wed Sep 4 01:48:55 1996 Jeffrey A Law (law@cygnus.com)
683
684 * interp.c: Fix sign bit handling for add and sub instructions.
685
686 Tue Sep 3 10:20:30 1996 Jeffrey A Law (law@cygnus.com)
687
688 * gencode.c: Fix various indention & style problems.
689 Remove test code. Remove #if 0 code.
690 * interp.c: Provide prototypes for all static functions.
691 Fix minor indention problems.
692 (sim_open, sim_resume): Remove unused variables.
693 (sim_read): Return type is "int".
694 * simops.c: Remove unused variables.
695 (divh): Make result of divide-by-zero zero.
696 (setf): Initialize result to keep compiler quiet.
697 (sar instructions): These just clear the overflow bit.
698 * v850_sim.h: Provide prototypes for put_byte, put_half
699 and put_word.
700
701 * interp.c: OP should be an array of 32bit operands!
702 (v850_callback): Declare.
703 (do_format_5): Fix extraction of OP[0].
704 (sim_size): Remove debugging printf.
705 (sim_set_callbacks): Do something useful.
706 (sim_stop_reason): Gross hacks to get c-torture running.
707 * simops.c: Simplify code for computing targets of bCC
708 insns. Invert 's' bit if 'ov' bit is set for some
709 instructions. Fix 'cy' bit handling for numerous
710 instructions. Make the simulator stop when a halt
711 instruction is encountered. Very crude support for
712 emulated syscalls (trap 0).
713 * v850_sim.h: Include "callback.h" and declare
714 v850_callback. Items in the operand array are 32bits.
715
716 Sun Sep 1 22:35:35 1996 Jeffrey A Law (law@cygnus.com)
717
718 * interp.c (sim_resume): Fix code to check for a format 3
719 opcode.
720 * simops.c: bCC insns only argument is a constant, not a
721 register value (duh...)
722
723 Fri Aug 30 10:33:49 1996 Jeffrey A Law (law@cygnus.com)
724
725 * simops.c: Fix "not1" and "set1".
726
727 * simops.c: Don't forget to initialize temp for
728 "ld.h" and "ld.w"
729
730 * interp.c: Remove various debugging printfs.
731
732 * simops.c: Fix satadd, satsub boundary case handling.
733
734 * interp.c (hash): Fix.
735 * interp.c (do_format_8): Get operands correctly and
736 call the target function.
737 * simops.c: Rough cut at "clr1", "not1", "set1", and "tst1".
738
739 Thu Aug 29 13:53:29 1996 Jeffrey A Law (law@cygnus.com)
740
741 * interp.c (do_format_4): Get operands correctly and
742 call the target function.
743 * simops.c: Rough cut at "sld.b", "sld.h", "sld.w", "sst.b",
744 "sst.h", and "sst.w".
745
746 * v850_sim.h: The V850 doesn't have split I&D spaces. Change
747 accordingly. Remove many unused definitions.
748 * interp.c: The V850 doesn't have split I&D spaces. Change
749 accordingly.
750 (get_longlong, get_longword, get_word): Deleted.
751 (write_longlong, write_longword, write_word): Deleted.
752 (get_operands): Deleted.
753 (get_byte, get_half, get_word): New functions.
754 (put_byte, put_half, put_word): New functions.
755 * simops.c: Remove unused functions. Rough cut at
756 "ld.b", "ld.h", "ld.w", "st.b", "st.h", "st.w" insns.
757
758 * v850_sim.h (struct _state): Remove "psw" field. Add
759 "sregs" field.
760 (PSW): Remove bogus definition.
761 * simops.c: Change condition code handling to use the psw
762 register within the sregs array. Handle "ldsr" and "stsr".
763
764 * simops.c: Handle "satadd", "satsub", "satsubi", "satsubr".
765
766 * interp.c (do_format_5): Get operands correctly and
767 call the target function.
768 (sim_resume): Don't do a PC update for format 5 instructions.
769 * simops.c: Handle "jarl" and "jmp" instructions.
770
771 * simops.c: Fix minor typos. Handle "cmp", "setf", "tst"
772 "di", and "ei" instructions correctly.
773
774 * interp.c (do_format_3): Get operands correctly and call
775 the target function.
776 * simops.c: Handle bCC instructions.
777
778 * simops.c: Add condition code handling to shift insns.
779 Fix minor typos in condition code handling for other insns.
780
781 * Makefile.in: Fix typo.
782 * simops.c: Add condition code handling to "sub" "subr" and
783 "divh" instructions.
784
785 * interp.c (hash): Update to be more accurate.
786 (lookup_hash): Call hash rather than computing the hash
787 code here.
788 (do_format_1_2): Handle format 1 and format 2 instructions.
789 Get operands correctly and call the target function.
790 (do_format_6): Get operands correctly and call the target
791 function.
792 (do_formats_9_10): Rough cut so shift ops will work.
793 (sim_resume): Tweak to deal with format 1 and format 2
794 handling in a single funtion. Don't update the PC
795 for format 3 insns. Fix typos.
796 * simops.c: Slightly reorganize. Add condition code handling
797 to "add", "addi", "and", "andi", "or", "ori", "xor", "xori"
798 and "not" instructions.
799 * v850_sim.h (reg_t): Registers are 32bits.
800 (_state): The V850 has 32 general registers. Add a 32bit
801 psw and pc register too. Add accessor macros
802
803 * Makefile.in, interp.c, v850_sim.h: Bring over endianness
804 changes from the d10v simulator.
805
806 * simops.c: Add shift support.
807
808 * simops.c: Add multiply & divide support. Abort for system
809 instructions.
810
811 * simops.c: Add logicals, mov, movhi, movea, add, addi, sub
812 and subr. No condition codes yet.
813
814 Wed Aug 28 13:53:22 1996 Jeffrey A Law (law@cygnus.com)
815
816 * ChangeLog, Makefile.in, configure, configure.in, v850_sim.h,
817 gencode.c, interp.c, simops.c: Created.
818