sim:
[platform/upstream/binutils.git] / sim / v850 / ChangeLog
1 2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
2             Daniel Jacobowitz  <dan@codesourcery.com>
3             Joseph Myers  <joseph@codesourcery.com>
4
5         * configure: Regenerate.
6
7 2008-02-05  DJ Delorie  <dj@redhat.com>
8
9         * simops.c (OP_1C007E0): Compensate for 64 bit hosts.
10         (OP_18007E0): Likewise.
11         (OP_2C007E0): Likewise.
12         (OP_28007E0): Likewise.
13         * v850.igen (divh): Likewise.
14         
15         * simops.c (OP_C0): Correct saturation logic.
16         (OP_220): Likewise.
17         (OP_A0): Likewise.
18         (OP_660): Likewise.
19         (OP_80): Likewise.
20
21         * simops.c (OP_2A0): If the shift count is zero, clear the
22         carry.
23         (OP_A007E0): Likewise.
24         (OP_2C0): Likewise.
25         (OP_C007E0): Likewise.
26         (OP_280): Likewise.
27         (OP_8007E0): Likewise.
28
29         * simops.c (OP_2C207E0): Correct PSW flags for special divu
30         conditions.
31         (OP_2C007E0): Likewise, for div.
32         (OP_28207E0): Likewise, for divhu.
33         (OP_28007E0): Likewise, for divh.  Also, sign-extend the correct
34         operand.
35         * v850.igen (divh): Likewise, for 2-op divh.
36         
37         * v850.igen (bsh): Fix carry logic.
38
39 2007-02-20  Daniel Jacobowitz  <dan@codesourcery.com>
40
41         * Makefile.in (interp.o): Uncomment and update.
42
43 2006-12-21  Hans-Peter Nilsson  <hp@axis.com>
44
45         * acconfig.h: Remove.
46         * config.in: Regenerate.
47
48 2006-06-13  Richard Earnshaw  <rearnsha@arm.com>
49
50         * configure: Regenerated.
51
52 2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>
53
54         * configure: Regenerated.
55
56 2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
57
58         * configure: Regenerated.
59
60 2005-03-23  Mark Kettenis  <kettenis@gnu.org>
61
62         * configure: Regenerate.
63
64 2005-01-14  Andrew Cagney  <cagney@gnu.org>
65
66         * configure.ac: Sinclude aclocal.m4 before common.m4.  Add
67         explicit call to AC_CONFIG_HEADER.
68         * configure: Regenerate.
69
70 2005-01-12  Andrew Cagney  <cagney@gnu.org>
71
72         * configure.ac: Update to use ../common/common.m4.
73         * configure: Re-generate.
74
75 2005-01-11  Andrew Cagney  <cagney@localhost.localdomain>
76
77         * configure: Regenerated to track ../common/aclocal.m4 changes.
78
79 2005-01-07  Andrew Cagney  <cagney@gnu.org>
80
81         * configure.ac: Rename configure.in, require autoconf 2.59.
82         * configure: Re-generate.
83
84 2004-12-08  Hans-Peter Nilsson  <hp@axis.com>
85
86         * configure: Regenerate for ../common/aclocal.m4 update.
87
88 2004-01-18  Mark Kettenis  <kettenis@gnu.org>
89
90         * simops.c: Include <sys/types.h>.
91
92 2003-09-05  Andrew Cagney  <cagney@redhat.com>
93             Nick Clifton  <nickc@redhat.com>
94
95         * interp.c (sim_open): Accept bfd_mach_v850e1.
96         * v850-dc: Add entry for v850e1.
97         * v850.igen: Add support for v850e1.
98         Add code for DBTRAP and DBRET instructions.
99         (dbtrap): Create a separate v850e1 specific instruction.
100         Only generate a trap if the target is not the v850e1.
101         Otherwise treat it as a special kind of branch.
102         (break): Mark as v850/v850e specific.
103         
104 2003-05-16  Ian Lance Taylor  <ian@airs.com>
105
106         * Makefile.in (SHELL): Make sure this is defined.
107         (tmp-igen): Use $(SHELL) whenever we invoke move-if-change.
108
109 2003-04-06  Nick Clifton  <nickc@redhat.com>
110
111         * simops.c (OP_40): Delete.  Move code to...
112         * v850-igen.c (): ...Here. Sign extend the first operand.
113         * simops.h (OP_40): Remove prototype.
114
115 2003-02-27  Andrew Cagney  <cagney@redhat.com>
116
117         * interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd.
118
119 2002-11-30  Andrew Cagney  <cagney@redhat.com>
120
121         * simops.c: Use int, 1, 0 instead of boolean, true and false.
122         * sim-main.h: Ditto.
123
124 2002-09-27  Jim Wilson  <wilson@redhat.com>
125
126         * simops.c (OP_E6077E0): And op1 with 7 after reading register, not
127         before.
128         (BIT_CHANGE_OP): Likewise.
129
130 2002-09-26  Jim Wilson  <wilson@redhat.com>
131
132         * simops (OP_10007E0): Don't subtract 4 from PC.
133
134 2002-09-19  Nick Clifton  <nickc@redhat.com>
135
136         * interp.c (sim_open): Remove reference to v850ea.
137         (sim_create_inferior): Likewise.
138         * v850-dc: Likewise.
139         * v850.igen: Remove all references to v850ea, including v850ea
140         specific instructions.
141
142 2002-08-29  Nick Clifton  <nickc@redhat.com>
143
144         From 2001-08-23  Catherine Moore  <clm@redhat.com>
145
146         * Makefile.in: Add gen-zero-r0 option.
147         * sim-main.h (GPR_SET, GPR_CLEAR): Define.
148         * simops.c (OP_24007E0):  Sign extend the imm9
149         operand of a mul instruction.
150
151 2002-06-17  Andrew Cagney  <cagney@redhat.com>
152
153         * simops.c (trace_result): Fix printf formatting.
154
155 2002-06-16  Andrew Cagney  <ac131313@redhat.com>
156
157         * configure: Regenerated to track ../common/aclocal.m4 changes.
158
159 2001-12-02  Andrew Cagney  <ac131313@redhat.com>
160
161         * Makefile.in (simops.h, table.c): Delete targets.
162         (tmp-gencode, gencode.o, gencode): Delete targets.
163         (simops.h): New file.
164         ($(BUILT_SRC_FROM_IGEN)): Do not depend on simops.h.
165         * gencode.c: Delete file.
166         
167 2001-04-15  J.T. Conklin  <jtc@redback.com>
168
169         * Makefile.in (simops.o): Add simops.h to dependency list.
170
171 2001-03-14  Andrew Cagney  <ac131313@redhat.com>
172
173         * Makefile.in (gencode): Link with libintl.
174
175 2001-01-31  Jonathan Larmour  <jlarmour@redhat.com>
176
177         * Makefile.in (gencode): Link with libopcodes in build tree rather
178         than building source files from there.
179
180 2000-05-30  Nick Clifton  <nickc@cygnus.com>
181
182         * v850.igen: Remove illegal instruction pattern, since it is the
183         same as the breakpoint pattern.
184
185 Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>
186
187         * configure: Regenerated to track ../common/aclocal.m4 changes.
188
189 2000-04-14  Gary Thomas  <gthomas@redhat.com>
190
191         * v850.igen: Define 'br *' as illegal since this is the only
192         way to provide a breakpoint on some v850 family processors.
193
194 2000-03-24  Frank Ch. Eigler  <fche@redhat.com>
195
196         * v850.igen (ilgop): New insn pattern for four-byte breakpoints.
197
198 Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
199
200         * configure: Regenerated to track ../common/aclocal.m4 changes.
201
202 1999-05-08  Felix Lee  <flee@cygnus.com>
203
204         * configure: Regenerated to track ../common/aclocal.m4 changes.
205         
206 Tue Dec  1 17:25:16 1998  Andrew Cagney  <cagney@b1.cygnus.com>
207
208         * Makefile.in (NL_TARGET): Define as -DNL_TARGET_v850.
209
210 Wed Nov 25 17:52:58 1998  Andrew Cagney  <cagney@b1.cygnus.com>
211
212         * Makefile.in (simops.o): Depends on targ-vals.h
213         * simops.c: Include targ-vals.h instead of
214         libgloss/.../syscall.h. Replace SYS_* with TARGET_SYS_*.
215         (divn, divun, OP_1C007E0, OP_18207E0, OP_1C207E0,OP_18007E0):
216         Replace signed long int with signed32.
217
218 Fri Oct  9 18:02:25 1998  Doug Evans  <devans@canuck.cygnus.com>
219
220         * interp.c: #include "itable.h".
221         (get_insn_name): New function.
222         (sim_open): Initialize CPU_INSN_NAME,CPU_MAX_INSNS.
223         * sim-main.h (MAX_INSNS,INSN_NAME): Delete.
224
225 Wed May  6 19:43:27 1998  Doug Evans  <devans@canuck.cygnus.com>
226
227         * sim-main.h (INSN_NAME): New arg `cpu'.
228
229 Tue Apr 28 18:33:31 1998  Geoffrey Noer  <noer@cygnus.com>
230
231         * configure: Regenerated to track ../common/aclocal.m4 changes.
232
233 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
234
235         * configure: Regenerated to track ../common/aclocal.m4 changes.
236         * config.in: Ditto.
237
238 Sun Apr 26 15:19:14 1998  Tom Tromey  <tromey@cygnus.com>
239
240         * acconfig.h: New file.
241         * configure.in: Reverted change of Apr 24; use sinclude again.
242
243 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
244
245         * configure: Regenerated to track ../common/aclocal.m4 changes.
246         * config.in: Ditto.
247
248 Fri Apr 24 11:18:08 1998  Tom Tromey  <tromey@cygnus.com>
249
250         * configure.in: Don't call sinclude.
251
252 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
253
254         * configure: Regenerated to track ../common/aclocal.m4 changes.
255         * sim-main.h (SIM_MAIN_H): Wrap header.
256
257 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
258
259         * configure: Regenerated to track ../common/aclocal.m4 changes.
260
261 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
262
263         * configure: Regenerated to track ../common/aclocal.m4 changes.
264
265 Tue Mar 10 15:54:50 1998  Andrew Cagney  <cagney@b1.cygnus.com>
266
267         * interp.c (sim_stop): Delete, second attempt.
268
269 Thu Feb 26 19:09:47 1998  Andrew Cagney  <cagney@b1.cygnus.com>
270
271         * interp.c (sim_info): Delete.
272
273 Wed Feb 18 10:47:32 1998  Andrew Cagney  <cagney@b1.cygnus.com>
274
275         * sim-main.h (TRACE_ALU_INPUT*): Delete.  Moved to sim-trace.[hc].
276
277         * simops.c (trace_result): Call trace_generic instead of
278         trace_one_insn.
279         (trace_module): Change variable type to integer.
280         (trace_input): Initialize trace_module with TRACE_ALU_IDX.
281
282         * sim-main.h (trace_module): Change variable decl to integer type.
283         (TRACE_BRANCH*, TRACE_LD, TRACE_ST): Update.
284         
285 Tue Feb 17 12:51:18 1998  Andrew Cagney  <cagney@b1.cygnus.com>
286
287         * interp.c (sim_store_register, sim_fetch_register): Pass in
288         length parameter.  Return -1.
289
290 Tue Feb  3 16:24:42 1998  Andrew Cagney  <cagney@b1.cygnus.com>
291
292         * sim-main.h (IMEM16, IMEM16_IMMED): Rename IMEM and
293         IMEM_IMMED. To match recent igen change.
294
295 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
296
297         * configure: Regenerated to track ../common/aclocal.m4 changes.
298
299 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
300
301         * configure: Regenerated to track ../common/aclocal.m4 changes.
302
303 Fri Jan 30 09:51:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>
304
305         * sim-main.h (CPU_CIA): Delete, replaced by.
306         (CIA_SET, CIA_SET): Define.
307
308 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
309
310         * configure: Regenerated to track ../common/aclocal.m4 changes.
311
312 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
313
314         * configure: Regenerated to track ../common/aclocal.m4 changes.
315         * config.in: Ditto.
316
317 Fri Dec  5 09:26:08 1997  Nick Clifton  <nickc@cygnus.com>
318
319         * v850.igen: Revert break value back to its old value.
320
321 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
322
323         * configure: Regenerated to track ../common/aclocal.m4 changes.
324
325 Wed Dec  3 17:27:19 1997  Nick Clifton  <nickc@cygnus.com>
326
327         * v850.igen: Make break have a zero first field, since otherwise
328         it clashes with the DIVH instruction.
329
330 Sat Nov 22 21:32:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
331
332         * simops.c (OP_10007E0): Rename SIGABRT -> SIM_SIGABRT. Give
333         sim_stopped instead of sim_signalled.
334
335         * v850.igen (BREAK), simops.c (OP_12007E0): Rename SIGTRAP to
336         SIM_SIGTRAP.
337         (illegal): Rename SIGILL to SIM_SIGILL.
338         
339         * sim-main.h, simops.c, interp.c: Do not include signal.h.
340
341         * sim-main.h: Include sim-signal.h instead of signal.h.
342         (SIGTRAP, SIGQUIT): Delete definition.
343         (SIG_V850_EXIT): Delete definition.
344
345 Tue Nov 18 15:33:48 1997  Doug Evans  <devans@canuck.cygnus.com>
346
347         * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
348
349 Fri Oct 31 10:33:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
350
351         * interp.c (sim_open): Check state magic number.
352         (sim-assert.h): Include.
353
354 Tue Oct 28 11:06:47 1997  Andrew Cagney  <cagney@b1.cygnus.com>
355
356         * v850.igen: Add model filter field to records.
357
358 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
359
360         * configure: Regenerated to track ../common/aclocal.m4 changes.
361
362 Fri Sep 26 11:56:02 1997  Felix Lee  <flee@cygnus.com>
363
364         * sim-main.h: delete null override of SIM_ENGINE_HALT_HOOK and
365         SIM_ENGINE_RESTART_HOOK.
366         
367 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
368
369         * configure: Regenerated to track ../common/aclocal.m4 changes.
370
371 Wed Sep 24 17:28:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
372
373         * sim-main.h (WITH_TARGET_WORD_MSB): Delete.
374
375         * configure.in (SIM_AC_OPTION_BITSIZE): Specify 32 bit
376         architecture with MSB == 31.
377
378 Wed Sep 24 14:04:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
379
380         * v850.igen: Make divh insn with RRRRR==0 breakpoint.
381
382 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
383
384         * configure: Regenerated to track ../common/aclocal.m4 changes.
385
386 Tue Sep 23 10:19:51 1997  Andrew Cagney  <cagney@b1.cygnus.com>
387
388         * Makefile.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN,
389         SIM_HOSTENDIAN, SIM_RESERVED_BITS): Delete, moved to common.
390         (SIM_EXTRA_CFLAGS): Update.
391         
392 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
393
394         * configure: Regenerated to track ../common/aclocal.m4 changes.
395         * configure.in: Really specify NONSTRICT_ALIGNMENT as the default.
396
397 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
398
399         * configure.in: Specify NONSTRICT_ALIGNMENT as the default.
400         * configure: Regenerated to track ../common/aclocal.m4 changes.
401
402 Fri Sep 19 10:37:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
403
404         * v850.igen (disp16): Use EXTEND16 to sign extend disp.
405         (disp22): Only shift left by 1, not 2.
406         ("jmp"): Ensure PC is 2 byte aligned.
407
408         * simops.c, v850.igen: Move "Bcond", "jr", "jarl" code to
409         v850.igen. Fix tracing.
410
411         * simops.c (OP_300, OP_400, OP_500): Move "sdl.b", "sld.h",
412         "sld.w" insns to v850.igen.  Fix tracing.
413         (OP_70): Ditto for "sld.hu".
414
415         * v850.igen: Clarify tracing of "sld.b", "sld.h" et.al.
416
417         * simops.c (condition_met): Make global.
418
419         * sim-main.h (TRACE_ALU_INPUT3, TRACE_BRANCH0, TRACE_LD,
420         TRACE_ST): Define.
421         (TRACE_LD_NAME): Define.
422
423         * simops.c: Move "cmov", "cmov imm" to v850.igen, fix.
424
425 Wed Sep 17 16:21:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
426
427         * simops.c: Move "mov", "reti", to v850.igen, fix tracing.
428         
429         * interp.c (hash): Delete.
430
431         * v850.igen (nop): Really do nothing.
432
433         * interp.c (do_interrupt): Mask interrupts after PSW is saved, not
434         before.
435         * v850.igen (reti): Return to current PC not previous.
436
437 Wed Sep 17 14:02:10 1997  Andrew Cagney  <cagney@b1.cygnus.com>
438
439         * simops.c: Move "ctret", "bsw", "hsw" to v850.igen, fix tracing.
440         (trace_module): Global, save component/module name across insn.
441
442         * simops.c: Move "bsh" to v850.igen, fix.
443         
444         * v850.igen (callt): Load correct number of bytes. Fix tracing.
445         (stsr, ldsr): Correct src, dest fields. Fix tracing.
446         (ctret): Force alignment.  Fix tracing.
447         
448 Tue Sep 16 22:14:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
449
450         * simops.c (trace_output): Add result argument.
451         (trace_result): New function.  Simpler version of trace_output,
452         assumes trace needed.
453         (trace_output): Call trace_result.
454         (trace_output): For IMM_REG_REG, trace correct register.
455         (trace_input): Add case for 16bit immediates.
456         (OP_600, OP_640, OP_680, OP_6C0, OP_6A0): Use.
457
458         * sim-main.h (TRACE_ALU_INPUT, TRACE_ALU_RESULT): Define.
459         (trace_values, trace_name, trace_pc, trace_num_values): Make
460         global.
461         (GR, SR): Define.
462         
463         v850.insn (movea, stsr): Use.
464         (sxb, sxh, zxb, zxh): Ditto.
465         
466 Tue Sep 16 21:14:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
467
468         * simops.c: Move "movea" from here.
469         * v850.igen: To here.
470
471         * v850.igen (simm16): Define, sign extend imm16.
472         (uimm16): Define, no sign extension.
473         (addi, andi, movea, movhi, mulhi, ori, satsubi, xori): Use.
474         
475         * simops.c: Move "sxh", "switch", "sxb", "callt", "dispose",
476         "mov32" from here.
477         * v850.igen: To here.
478         (switch): Fix off by two error in NIA calc.
479         
480 Tue Sep 16 15:14:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
481
482         * simops.c (trace_pc, trace_name, trace_values, trace_num_values):
483         New static globals.
484         (trace_input): Just save pc, name and values for trace_output.
485         (trace_output): Write trace values to a buffer.  Use
486         trace_one_insn to print trace info and buffer.
487         (SIZE_OPERANDS, SIZE_LOCATION): Delete.
488         
489 Tue Sep 16 09:02:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
490
491         * sim-main.h (struct _sim_cpu): Add psw_mask so that reserved bits
492         can be masked out.
493
494         * simops.c (OP_2007E0, OP_4007E0): Move "ldsr", "stsr"
495         instructions from here.
496         * v850.igen (ldsr, stsr): To here.  Mask out reserved bits when
497         setting PSW.
498         
499         * interp.c (sim_open): Set psw_mask if machine known.
500
501 Tue Sep 16 10:20:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
502
503         * v850-dc: Add rule to diferentiate between breakpoint and divh.
504         * v850.igen (break): New instruction, breakpoint simulator.
505         * v850.igen (breakpoint): Enable.  Change to a 32bit instruction.
506
507 Mon Sep 15 18:44:05 1997  Jim Wilson  <wilson@cygnus.com>
508
509         * simops.c (Multiply64): Don't store into register zero.
510
511 Tue Sep 16 09:02:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
512
513         * Makefile.in (semantics.o): Add dependency.
514
515         * sim-main.h (SAVE_1, SAVE_2): Perform backward compatible save,
516         do not adjust CIA/NIA.
517
518 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
519
520         * simops.c (OP_300, OP_400, OP_70): Make behavour depend on PSW[US].
521         
522         * simops.c: Move "divun", "sld.bu", "divhn", "divhun", "divn",
523         "divun", "pushml" code from here to v850.igen.
524         (divun): Make global.
525         (type3_regs): Make global
526         
527         * v850.igen: Move simops.c code to here.
528
529         * interp.c (sim_create_inferior): For v850eq set US bit by
530         default.
531
532         * interp.c (sim_open): Don't set arch, now set by
533         sim_analyze_program.
534
535         * configure: Regenerated to track ../common/aclocal.m4 changes.
536
537 Mon Sep 15 14:39:34 1997  Andrew Cagney  <cagney@b1.cygnus.com>
538
539         * simops.c (op_types): Move from here.
540         sim-main.h: To here.
541
542         * sim-main.h (trace_input, trace_output), simops.c: Make global.
543
544         * simops.c (OP_60): Move "jmp" code from here.
545         * v850.igen (jmp): To here.
546
547         * simops.c (OP_60): Move "sld.bu" code from here.
548         * v850.igen (sld.bu): To here.
549
550 Fri Sep 12 15:11:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>
551
552         * v850.igen (prepare, ...): Add to v850eq architecture.
553
554         * interp.c (sim_open): Default to v850eq.
555         
556         * interp.c (sim_open): Default to v850e.
557         * sim-main.h (signal.h): Include.
558
559         * v850.igen (illegal): Report/halt illegal instructions.
560
561         * Makefile.in (SIM_EXTRA_CFLAGS): Add SIM_RESERVED_BITS.
562
563         * configure.in: Add reserved bits option.
564         * configure: Regenerate.
565
566 Thu Sep 11 08:40:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>
567
568         * interp.c (sim_open): Use sim_do_commandf instead of asprintf.
569
570         * sim-main.h (INSN_NAME): 
571
572         * Makefile.in (INCLUDE): Add SIM_EXTRA_DEPS.
573         (SIM_EXTRA_DEPS): Add itable.h
574         (tmp-gencode): Does not depend on simops.h
575
576         * sim-main.h (itable.h): Include.
577         (MAX_INSNS, INSN_NAME): Define.
578
579         * interp.c: Compute inttype from the interrupt_names index that
580         was passed in.
581
582 Wed Sep 10 10:25:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
583
584         * simops.c (trace_input): Use trace_printf instead of
585         sim_io_printf.
586         (trace_output): Ditto.
587         (trace_input): Only trace when TRACE_ALU_P.  Delete code
588         disasembling instruction.
589         (trace_output): Only trace when TRACE_ALU_P.
590
591 Tue Sep  9 01:29:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
592
593         * simops.c (trace_input, trace_output): Use sim_io_printf.
594         (OP_620): Pass correct argument to trace.
595         (OP_E607E0): Ditto.
596         (trace_input): Obtain prog_bfd, text_start et.al from simulator
597         struct.
598
599 Mon Sep  8 21:03:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>
600
601         * v850.igen: New file.
602         * v850-dc: New file.
603
604 Mon Sep  8 18:33:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>
605
606
607         * sim-main.h (SEXT16): Delete, use EXTEND16.
608         (SEXT8): Delete, use EXTEND8.
609         (SEXT32): Delete, used?
610         (SEXT40, SEXT44, SEXT64): Use UNSIGNED64 for constants, not ...LL.
611         (WITH_TARGET_WORD_MSB): Define as 31. v850 little bit endian.
612         
613         * simops.c: Use EXTEND15 from sim-bits instead of SEXT16.
614
615         * sim-main.h (DEBUG_TRACE, DEBUG_VALUES, v850_debug): Delete,
616         replace with TRACE_INSN_P and TRACE_ALU_P.
617
618         * simops.c (trace_input, trace_output): Update.
619
620         * interp.c (sim_engine_run): Delete.
621         (lookup_hash): Delete.
622         (sim_open): Do not fill hash table.
623         (sim_trace): Delete.
624
625 Fri Sep  5 17:04:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
626
627         * simops.c (OP_FFFF): Use sim_engine_halt.
628         (OP_12007E0): Ditto.
629         (OP_10007E0): Ditto.
630
631         * sim-main.h (struct sim_cpu): Delete member exception. Using
632         sim-engine et.al.
633
634         * interp.c (sim_info): Do not do anything in sim-info.
635         (sim_stop): Delete, replace with sim-stop.
636         (sim_stop_reason): Delete, replace with sim-reason.
637
638         * sim-main.h (WITH_WATCHPOINTS): Define.
639         (WITH_MODULO_MEMORY): Define
640         
641         * Makefile.in (SIM_OBJS): Add sim-resume, sim-watch, sim-stop,
642         sim-reason.
643
644         * interp.c (enum interrupt_cond_type): Delete.
645         (struct interrupt_generator): Delete.
646         (enum interrupt_type): Drop int_none.
647         (sim_open): Initialize WATCHPOINT module.
648         (sim_resume, sim_run): Rename sim_resume to sim_run.
649         (sim_engine_run): Replace interrupt code with call to sim-events.
650         (sim_set_interrupt): Delete.
651         (sim_parse_number): Delete.
652
653 Thu Sep  4 17:21:23 1997  Doug Evans  <dje@seba>
654
655         * configure: Regenerated to track ../common/aclocal.m4 changes.
656
657 Thu Sep  4 18:11:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
658
659         * simops.c (fetch_argv): New function, fetch a arg vector from
660         simulator memory.
661
662         * configure.in: Check for fork, execve, execv.
663         * configure: Regenerate.
664
665         * interp.c (sim_store_register, sim_fetch_register): Use H2T_4 and
666         T2H_4 for byte swapping.
667
668         * sim-main.h, interp.c (get_word, get_half, get_byte, put_word,
669         put_half, put_byte): Delete.
670
671         * Makefile.in (SIM_OBJS): Add sim-memopt.o module.
672
673         * sim-main.h (load_mem, store_mem): Redefine as macros.
674         (IMEM, IMEM_IMMED): New macros - fetch instructions.
675
676         * simops.c (OP_10007E0): For SYS_read, SYS_write, SYS_open
677         transfer data via a buffer.
678         (fetch_str): New function, fetch string from memory.
679
680         * Makefile.in (SIM_OBJS): Add sim-hrw.o module.
681
682         * interp.c (sim_open): Establish memory maps using sim-memopt.c
683         via sim_do_command.
684         (sim_do_command): Print error if memory-map command is used. Call
685         sim_args_command.
686         (map): Delete, replaced by sim-core.
687         (sim_memory_init): Delete, replaced by sim-core.
688         (sim_set_memory_map): Delete, replaced by sim-memopt.
689         (load_mem): Delete, replaced by sim-core.
690         (store_mem): Delete, replaced by sim-core.
691         (sim_write): Delete, replaced by sim-hrw.
692         (sim_read): Delete, replaced by sim-hrw.
693
694         * sim-main.h (struct sim_state): Remove memory members, using
695         sim-core.c
696
697 Wed Sep  3 10:18:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>
698
699         * sim-main.h: Replace SIM_HAVE_FLATMEM with mem ptr.
700         * interp.c (map): Do not add to a void pointer.
701         
702         * Makefile.in (INCLUDE): Add sim-main.h
703
704         * configure.in: Check for time.h
705         * configure: Re-generate.
706
707         * interp.c (struct interrupt_generator): Make time unsigned long,
708         address SIM_ADDR.
709         (sim_resume): Make oldpc SIM_ADDR.
710         (struct hash_entry): Make mask/opcode unsigned.
711
712         * v850_sim.h (struct simops ): Make opcode and mask unsigned.
713
714         * simops.c (utime.h): Include if available.
715         (OP_10007E0): Check for UTIME function.
716         (divun): Put parentheses around shift argument.
717         (OP_640): Put parentheses around shift argument, was wrong.
718         (OP_107F0): Return something.
719
720         * interp.c (sim_parse_number): Use strtoul not strtol.
721         (sim_resume): Use sim_elapsed_time_get to keep track of the time.
722
723         * configure.in (SIM_AC_OPTION_WARNINGS): Add.
724         (SIM_AC_OPTION_ENDIAN): Set to hardwired big.
725         (SIM_AC_OPTION_HOST_ENDIAN): Add.
726         (AC_CHECK_FUNCS): Add utime.
727         (AC_CHECK_HEADERS): Add stdlib.h, string.h, strings.h, utime.h
728         configure: Regenerate.
729         
730
731         * Makefile.in (SIM_RUN_OBJS): Use nrun.o.
732         (SIM_OBJS): Add sim-io.o, sim-hload.o, sim-utils.o, sim-options.o,
733         sim-config.o, sim-module.o, sim-events.o, sim-core.o,
734         sim-endian.o, sim-engine.o, sim-trace.o, sim-profile.o
735         (SIM_ENDIAN, SIM_WARNGINS): Define.
736
737         * simops.c (OP_10007E0): Use sim_io_* for transfers.
738
739         * interp.c (sim_resume): Pass sd around.
740
741         * simops.c (sim-main.h): Include.
742
743         * gencode.c (write_template): Generate #include sim-main.h.
744         (write_opcodes): Ditto.
745         
746         * interp.c (prog_bfd, prog_bfd_was_opened_p): Delete.
747         (v850_callback): Ditto.
748         (sim_kind, myname): Ditto.
749         (lookup_hash): Pass SD. Use sim_io_error.
750         (sim_set_memory_map): Pass in SD, use.
751         (init_system): Pass in SD, use.
752         (sim_open): Update.
753         (sim_set_profile): Delete.
754         (sim_set_profile_size): Delete.
755         (do_interrupt): Pass in SD, use.
756         (sim_info): Use sim_io_printf.
757         (sim_create_inferior): Reset registers.  Set PC from prog_bfd
758         argument.
759         (sim_load): Delete, use common/sim-hload.c
760         (sim_size): Rename to sim_memory_init.
761         (sim_write): Remove call to init_system.
762         (init_system): Delete.
763         (sim_set_callbacks): Delete.
764         (sim_set_interrupt): Pass in SD, use.
765         (start_time): Delete.
766         
767         * v850_sim.h: Remove everything except `struct simops' from here.
768         * sim-main.h: Move most to here.
769         * gencode.c: Move #includes to here.
770
771         * sim-main.h(struct _sim_cpu): Rename struct _state.
772         (#define PC, et.al.): Update
773         (v850_callback): Delete.  Replaced with SIM_DESC arg.
774         (int8, uint8, int16, uint16, int32, uint32): Define types using
775         unsigned8 et.al from common/sim-types.h.
776         * sim-main.h (State): Define as STATE_CPU.
777
778 Mon Sep  1 12:07:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>
779
780         * configure.in: Check for time, chmod.
781         * configure: Regenerate.
782         * simops.c (SYS_time, SYS_chmod): Use HAVE_TIME, HAVE_CHMOD.
783         
784         * simops.c (../../libgloss/v850/sys/syscall.h): Include instead of
785         sys/syscall.h.
786         (OP_10007E0): Check the existance each SYS_* macro independantly.
787
788         * v850_sim.h (SIGQUIT, SIGTRAP): Only define if missing.
789
790 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
791
792         * configure: Regenerated to track ../common/aclocal.m4 changes.
793         * config.in: Ditto.
794
795 Tue Aug 26 10:42:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
796
797         * interp.c (sim_kill): Delete.
798         (sim_create_inferior): Add ABFD argument.
799         (sim_load): Move setting of PC from here.
800         (sim_create_inferior): To here.
801
802 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
803
804         * configure: Regenerated to track ../common/aclocal.m4 changes.
805         * config.in: Ditto.
806
807 Mon Aug 25 11:31:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>
808
809         * interp.c (sim_open): Add ABFD argument.
810
811 Fri Aug 22 10:39:28 1997  Nick Clifton  <nickc@cygnus.com>
812
813         * simops.c (bsh): Only set CY flag if either of the bottom
814         bytes is zero.
815         
816         * simops.c (prepare, dispose): Lower numbered
817         registers go to higher numbered address.
818
819         * simops.c (unsigned divide instructions): S bit set if result has
820         top bit set.
821         
822         * simops.c (pushml, pushmh, popml, popmh): Lower numbered
823         registers go to higher numbered address.
824         
825 Wed Aug 20 13:56:35 1997  Nick Clifton  <nickc@cygnus.com>
826
827         * simops.c (OP_107E0, OP_107F0, OP_307E0, OP_307F0): Use correct
828         interpretation of SR bit in list18 structure.
829         (divn, divun): New functions to perform N step divide functions.
830
831 Mon Aug 18 10:59:02 1997  Nick Clifton  <nickc@cygnus.com>
832
833         * simops.c (OP_300, OP_400, OP_60, OP_70): Support variant opcodes
834         with US bit set in the PSW.
835
836 Wed Aug 13 19:06:55 1997  Nick Clifton  <nickc@cygnus.com>
837
838         * interp.c (sim_resume): Opcode functions return amount to be
839         added to PC and all opcodes take a standard format in the OP[]
840         array.
841         
842         (do_format_*): Functions removed.
843
844         * v850_sim.h (SP, EP): New register mnemonics.
845         
846         * gencode.c (write_header): Functions prototypes return an
847         integer.
848
849         * simops.c: Opcode functions return amount to be added to PC.
850         
851         * v850_sim.h (CTPC, CTPSW, CTBP): New register mnemonics.
852         
853         * simops.c: Add support for v850e instructions.
854         
855         * simops.c: Add support for v850eq instructions.
856         
857 Tue May 20 10:24:14 1997  Andrew Cagney  <cagney@b1.cygnus.com>
858
859         * interp.c (sim_open): Add callback argument.
860         (sim_set_callbacks): Delete SIM_DESC argument.
861
862 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
863
864         * configure: Regenerated to track ../common/aclocal.m4 changes.
865
866 Wed Apr 23 17:20:16 1997  Doug Evans  <dje@canuck.cygnus.com>
867
868         * interp.c (prog_bfd_was_opened_p): New static local.
869         (prog_bfd): New global variable.
870         (sim_open): Undo patch to add -E support.
871         (sim_close): Close prog_bfd if sim_load opened it.
872         (sim_load): Record bfd of loaded file in prog_bfd.
873         * simops.c (prog_bfd): Renamed from exec_bfd.
874
875 Fri Apr 18 14:17:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
876
877         * interp.c (sim_stop): Stub function.
878
879 Thu Apr 17 03:53:18 1997  Doug Evans  <dje@canuck.cygnus.com>
880
881         * Makefile.in (SIM_OBJS): Add sim-load.o.
882         * interp.c (sim_kind, myname): New static locals.
883         (sim_open): Set sim_kind, myname.  Ignore -E arg.
884         (sim_load): Return SIM_RC.  New arg abfd.  Call sim_load_file to
885         load file into simulator.  Set start address from bfd.
886         (sim_create_inferior): Return SIM_RC.  Delete arg start_address.
887
888 Wed Apr 16 19:53:55 1997  Andrew Cagney  <cagney@b1.cygnus.com>
889
890         * simops.c (OP_10007E0): Only provide system calls SYS_execv,
891         SYS_wait, SYS_wait, SYS_utime, SYS_time if defined by the host.
892
893 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
894
895         * configure: Regenerated to track ../common/aclocal.m4 changes.
896         * config.in: Ditto.
897
898 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
899
900         * interp.c (sim_open): New arg `kind'.
901
902         * configure: Regenerated to track ../common/aclocal.m4 changes.
903
904 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
905
906         * configure: Regenerated to track ../common/aclocal.m4 changes.
907
908 Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
909
910         * configure: Regenerated to track ../common/aclocal.m4 changes.
911
912 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
913
914         * configure: Re-generate.
915
916 Fri Mar 14 10:34:11 1997  Michael Meissner  <meissner@cygnus.com>
917
918         * configure: Regenerate to track ../common/aclocal.m4 changes.
919
920 Thu Mar 13 13:00:54 1997  Doug Evans  <dje@canuck.cygnus.com>
921
922         * interp.c (sim_open): New SIM_DESC result.  Argument is now
923         in argv form.
924         (other sim_*): New SIM_DESC argument.
925
926 Tue Feb  4 13:33:30 1997  Doug Evans  <dje@canuck.cygnus.com>
927
928         * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
929         COMMON_{PRE,POST}_CONFIG_FRAG instead.
930         * configure.in: sinclude ../common/aclocal.m4.
931         * configure: Regenerated.
932
933 Thu Jan 23 11:46:23 1997  Stu Grossman  (grossman@critters.cygnus.com)
934
935         * configure configure.in Makefile.in:  Update to new configure
936         scheme which is more compatible with WinGDB builds.
937         * configure.in:  Improve comment on how to run autoconf.
938         * configure:  Re-run autoconf to get new ../common/aclocal.m4.
939         * Makefile.in:  Use autoconf substitution to install common
940         makefile fragment.
941
942 Mon Jan 20 16:05:34 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
943
944         * simops.c (OP_{E0,2E0,6E0}): The multiply operations sign extend,
945         not zero extend.
946
947 Tue Jan 14 17:06:03 1997  Stu Grossman  (grossman@critters.cygnus.com)
948
949         * simops.c:  Put ifdefs around things to make MSVC happy.  Get rid
950         of unistd.h.  Disable SYS_stat, SYS_chown, SYS_time, SYS_times,
951         SYS_gettimeofday and SYS_utime from MSVC.
952
953 Tue Dec 31 18:11:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
954
955         * simops.c (OP_10007E0): Know that kill encodes the signal number
956         via: 0xdead0000 | signal and turn it back into a signal.
957
958 Fri Dec 27 14:44:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
959
960         * v850_sim.h (SIG_V850_EXIT): Define as -1.
961
962         * interp.c (sim_open): Cast calloc function.
963         (sim_stop_reason): If signal is SIG_V850_EXIT, inform gdb the
964         program exited with the appropriate exit code.
965         (sim_set_interrupt): Declare buildargv.
966
967         * simops.c (OP_10007E0): Make exit signal normal exit.  Make time
968         type correct and work on big endian systems.
969
970 Wed Nov 20 02:18:44 1996  Doug Evans  <dje@canuck.cygnus.com>
971
972         * Makefile.in: Delete stuff moved to ../common/Make-common.in.
973         (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define.
974         * configure.in: Simplify using macros in ../common/aclocal.m4.
975         Call AC_CHECK_HEADERS(unistd.h).
976         * configure: Regenerated.
977         * config.in: New file.
978         * simops.c: #include "config.h".  #include <unistd.h> if present.
979
980 Sun Nov  3 23:02:54 1996  Stan Shebs  <shebs@andros.cygnus.com>
981
982         * v850_sim.h (State): New slots dummy_mem, pending_nmi.
983         (EIPC, etc): New macros for system registers.
984         * simops.c, interp.c: Use everywhere.
985
986         * interp.c: Add support for interrupts issued by interrupt
987         generators, either PC- or time-based.  Controlled by simulator
988         command "sim interrupt".
989
990         * interp.c: Add support for variable-size allocation of memory,
991         via simulator command "sim memory-map".
992         (map): Issue SIGSEGV for references to invalid memory regions.
993         
994 Thu Oct 31 14:44:10 1996  Gavin Koch  <gavin@cygnus.com>
995         
996         * simops.c: Include <sys/time.h> for struct timeval and 
997         struct timezone.
998         
999 Wed Oct 30 08:49:10 1996  Jeffrey A Law  (law@cygnus.com)
1000
1001         * simops.c (OP_10007E0): Handle SYS_times and SYS_gettimeofday.
1002
1003         * simops.c (OP_10007E0): Handle SYS_time.
1004
1005 Tue Oct 29 14:22:55 1996  Jeffrey A Law  (law@cygnus.com)
1006
1007         * simops.c: Include <sys/stat.h>.
1008         (OP_10007E0): Handle SYS_stat.
1009
1010 Thu Oct 24 12:26:35 1996  Jeffrey A Law  (law@cygnus.com)
1011
1012         * simops.c (OP_10007E0): Don't declare errno.
1013
1014         * simops.c (OP_500): Mask off low bit in displacement
1015         for sld.w.
1016         (OP_501): Similarly.
1017
1018         * simops.c (OP_500): Fix displacement handling for sld.w.
1019         (OP_501): Similarly for sst.w.
1020
1021         * simops.c (trace_input): Remove all references to SEXT7.
1022         (OP_300, OP_400, OP_500, OP_380, OP_480, OP_501): Displacement
1023         is zero extended for sst/sld instructions.
1024         * v850_sim.h (SEX7): Delete.  It's no longer needed (and it
1025         was incorrect anyway).
1026
1027 Thu Oct 24 10:33:33 1996  Stu Grossman  (grossman@critters.cygnus.com)
1028
1029         * Makefile.in:  Get rid of srcroot.  Set all INSTALL macros via
1030         autoconf.
1031         * gencode.c (write_opcodes):  Pad operands field to account for
1032         MSVC braindamage.
1033         * simops.c:  Include errno.h.  Exclude SYS_chown, since MSVC
1034         doesn't support it.  (Why is this here in the first place?!?)
1035         * v850_sim.h:  Get rid of 64 bit defs.  Also, get rid of #elif's.
1036         Change number of operands in struct simops from 9 to 6.  Define
1037         SIGTRAP and SIGQUIT for MSVC.
1038
1039 Tue Oct 15 16:19:51 1996  Stu Grossman  (grossman@critters.cygnus.com)
1040
1041         * interp.c (MEM_SIZE):  It's now bytes, not a power of 2.
1042         * (map):  Add support for external mem in the 1->2 meg range.
1043         Also, abort() when memory access is way out of bounds.  (Better to
1044         die than to give wrong result.  (This will be fixed later.))
1045         * (sim_size):  MEM_SIZE is now bytes, not shift factor.
1046
1047 Tue Oct  1 15:53:24 1996  Gavin Koch <gavin@cygnus.com>
1048         
1049         * simops.c (trace_input): Swapped order of operands for output
1050         output of OP_IMM_REG.  Changed the fetching of the operands for
1051         OP_LOAD32, and OP_STORE32 to work like op-function.
1052         
1053 Mon Sep 30 15:46:33 1996  Stu Grossman  (grossman@critters.cygnus.com)
1054
1055         * interp.c:  Move includes of remote-sim.h and callback.h to
1056         v850-sim.h.
1057         * (lookup_hash): Add PC to report of hash failure.
1058         * (map load_mem store_mem):  New memory subsystem.  Models V851
1059         memory system.
1060         * (sim_write sim_read):  Use new memory subsystem.
1061         * (sim_resume):  Don't load and save PC into EIPC anymore.  Needed
1062         to make user-defined traps work right.
1063         * simops.c (OP_*):  Use new memory subsystem.
1064         * (OP_14007E0 (reti)):  Implement reti.
1065         * (OP_14996E0 (trap)):  Implement user-defined traps.  Move I/O to
1066         trap 31.  Use new memory subsystem.
1067         * v850_sim.h:  Prototypes for load_mem, store_mem and map.  Use
1068         load_mem in RLW macro.
1069
1070 Fri Sep 27 18:34:09 1996  Stu Grossman  (grossman@critters.cygnus.com)
1071
1072         * gencode.c (write_opcodes):  Output hex values for opcode mask
1073         and patterns.
1074         * interp.c (sim_resume):  Save and restore PC from the appropriate
1075         register.
1076         * (sim_fetch_register sim_store_register):  Fix byte-order problem
1077         with reading and writing registers.
1078         * simops.c (OP_FFFF):  Implement pseudo-breakpoint insn.
1079
1080 Fri Sep 27 17:42:37 1996  Jeffrey A Law  (law@cygnus.com)
1081
1082         * simops.c (trace_input): Fix thinko. 
1083
1084 Wed Sep 18 09:54:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1085
1086         * simops.c (exec_bfd): Rename from sim_bfd.
1087         (trace_input): Ditto.
1088
1089 Thu Sep 12 12:03:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1090
1091         * simops.c (trace_input): Use find_nearest_line to print line
1092         number, function name or file name of PC.
1093
1094 Wed Sep 11 16:44:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1095
1096         * simops.c: Add tracing support.  Use SEXTxx macros instead of
1097         doing hardwired shifts.
1098
1099         * configure.in (--enable-sim-cflags): Add switch to add additional
1100         flags to simulator buld.  If --enable-sim-cflags=trace, turn on
1101         tracing.
1102         * configure: Regenerate.
1103
1104         * Makefile.in: Don't require a VPATH capable make if configuring
1105         in the same directory.  Don't use CFLAGS for configuration flags.
1106         Add flags from --enable-sim-cflags.  Support canadian cross
1107         builds.  Rebuild whole simulator if include files change.
1108
1109         * interp.c (v850_debug): New global for debugging.
1110         (lookup_hash,sim_size,sim_set_profile): Use
1111         printf_filtered callback, instead of calling printf directly.
1112         (sim_{open,trace}): Enable tracing if -t and compiled for tracing.
1113
1114         * v850_sim.h: Use limits.h to set the various sized types.
1115         (SEXT{5,7,16,22}): New macros.
1116
1117 Mon Sep  9 20:50:46 1996  Jeffrey A Law  (law@cygnus.com)
1118
1119         * interp.c (hash): Make this an inline function
1120         when compiling with GCC.  Simplify.
1121         * simpos.c: Explicitly include "sys/syscall.h".  Remove
1122         some #if 0'd code.  Enable more emulated syscalls.
1123
1124 Wed Sep  4 01:48:55 1996  Jeffrey A Law  (law@cygnus.com)
1125
1126         * interp.c: Fix sign bit handling for add and sub instructions.
1127
1128 Tue Sep  3 10:20:30 1996  Jeffrey A Law  (law@cygnus.com)
1129
1130         * gencode.c: Fix various indention & style problems.
1131         Remove test code.  Remove #if 0 code.
1132         * interp.c: Provide prototypes for all static functions.
1133         Fix minor indention problems.
1134         (sim_open, sim_resume): Remove unused variables.
1135         (sim_read): Return type is "int".
1136         * simops.c: Remove unused variables.
1137         (divh): Make result of divide-by-zero zero.
1138         (setf): Initialize result to keep compiler quiet.
1139         (sar instructions): These just clear the overflow bit.
1140         * v850_sim.h: Provide prototypes for put_byte, put_half
1141         and put_word.
1142
1143         * interp.c: OP should be an array of 32bit operands!
1144         (v850_callback): Declare.
1145         (do_format_5): Fix extraction of OP[0].
1146         (sim_size): Remove debugging printf.
1147         (sim_set_callbacks): Do something useful.
1148         (sim_stop_reason): Gross hacks to get c-torture running.
1149         * simops.c: Simplify code for computing targets of bCC
1150         insns.   Invert 's' bit if 'ov' bit is set for some
1151         instructions.  Fix 'cy' bit handling for numerous
1152         instructions.  Make the simulator stop when a halt
1153         instruction is encountered.  Very crude support for
1154         emulated syscalls (trap 0).
1155         * v850_sim.h: Include "callback.h" and declare
1156         v850_callback.  Items in the operand array are 32bits.
1157
1158 Sun Sep  1 22:35:35 1996  Jeffrey A Law  (law@cygnus.com)
1159
1160         * interp.c (sim_resume): Fix code to check for a format 3
1161         opcode.
1162         * simops.c: bCC insns only argument is a constant, not a
1163         register value (duh...)
1164
1165 Fri Aug 30 10:33:49 1996  Jeffrey A Law  (law@cygnus.com)
1166
1167         * simops.c: Fix "not1" and "set1".
1168
1169         * simops.c: Don't forget to initialize temp for
1170         "ld.h" and "ld.w"
1171
1172         * interp.c: Remove various debugging printfs.
1173
1174         * simops.c: Fix satadd, satsub boundary case handling.
1175
1176         * interp.c (hash): Fix.
1177         * interp.c (do_format_8): Get operands correctly and
1178         call the target function.
1179         * simops.c: Rough cut at "clr1", "not1", "set1", and "tst1".
1180
1181 Thu Aug 29 13:53:29 1996  Jeffrey A Law  (law@cygnus.com)
1182
1183         * interp.c (do_format_4): Get operands correctly and
1184         call the target function.
1185         * simops.c: Rough cut at "sld.b", "sld.h", "sld.w", "sst.b",
1186         "sst.h", and "sst.w".
1187
1188         * v850_sim.h: The V850 doesn't have split I&D spaces.  Change
1189         accordingly.  Remove many unused definitions.
1190         * interp.c: The V850 doesn't have split I&D spaces.  Change
1191         accordingly.
1192         (get_longlong, get_longword, get_word): Deleted.
1193         (write_longlong, write_longword, write_word): Deleted.
1194         (get_operands): Deleted.
1195         (get_byte, get_half, get_word): New functions.
1196         (put_byte, put_half, put_word): New functions.
1197         * simops.c: Remove unused functions.  Rough cut at
1198         "ld.b", "ld.h", "ld.w", "st.b", "st.h", "st.w" insns.
1199
1200         * v850_sim.h (struct _state): Remove "psw" field.  Add
1201         "sregs" field.
1202         (PSW): Remove bogus definition.
1203         * simops.c: Change condition code handling to use the psw
1204         register within the sregs array.  Handle "ldsr" and "stsr".
1205
1206         * simops.c: Handle "satadd", "satsub", "satsubi", "satsubr".
1207
1208         * interp.c (do_format_5): Get operands correctly and
1209         call the target function.
1210         (sim_resume): Don't do a PC update for format 5 instructions.
1211         * simops.c: Handle "jarl" and "jmp" instructions.
1212
1213         * simops.c: Fix minor typos.  Handle "cmp", "setf", "tst"
1214         "di", and "ei" instructions correctly.
1215
1216         * interp.c (do_format_3): Get operands correctly and call
1217         the target function.
1218         * simops.c: Handle bCC instructions.
1219
1220         * simops.c: Add condition code handling to shift insns.
1221         Fix minor typos in condition code handling for other insns.
1222
1223         * Makefile.in: Fix typo.
1224         * simops.c: Add condition code handling to "sub" "subr" and
1225         "divh" instructions.
1226
1227         * interp.c (hash): Update to be more accurate.
1228         (lookup_hash): Call hash rather than computing the hash
1229         code here.
1230         (do_format_1_2): Handle format 1 and format 2 instructions.
1231         Get operands correctly and call the target function.
1232         (do_format_6): Get operands correctly and call the target
1233         function.
1234         (do_formats_9_10): Rough cut so shift ops will work.
1235         (sim_resume): Tweak to deal with format 1 and format 2
1236         handling in a single funtion.  Don't update the PC
1237         for format 3 insns.  Fix typos.
1238         * simops.c: Slightly reorganize.  Add condition code handling
1239         to "add", "addi", "and", "andi", "or", "ori", "xor", "xori"
1240         and "not" instructions.
1241         * v850_sim.h (reg_t): Registers are 32bits.
1242         (_state): The V850 has 32 general registers.  Add a 32bit
1243         psw and pc register too.  Add accessor macros
1244
1245         * Makefile.in, interp.c, v850_sim.h: Bring over endianness
1246         changes from the d10v simulator.
1247
1248         * simops.c: Add shift support.
1249
1250         * simops.c: Add multiply & divide support.  Abort for system
1251         instructions.
1252
1253         * simops.c: Add logicals, mov, movhi, movea, add, addi, sub
1254         and subr.  No condition codes yet.
1255
1256 Wed Aug 28 13:53:22 1996  Jeffrey A Law  (law@cygnus.com)
1257
1258         * ChangeLog, Makefile.in, configure, configure.in, v850_sim.h, 
1259         gencode.c, interp.c, simops.c: Created.
1260