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