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