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