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