* cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.
[platform/upstream/binutils.git] / sim / m32r / ChangeLog
1 1998-12-09  Doug Evans  <devans@casey.cygnus.com>
2
3         * cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.
4 start-sanitize-m32rx
5         * cpux.h,decodex.c,semx-switch.c: Regenerate.
6 end-sanitize-m32rx
7
8         * sim-if.c: Include string.h or strings.h if present.
9
10 1998-12-04  Doug Evans  <devans@casey.cygnus.com>
11
12         * configure.in: Call SIM_AC_OPTION_INLINE.
13         * configure: Regenerate.
14         * sim-main.h: Protect against multiple inclusion.
15         Don't include cgen-scache.h,cgen-cpu.h,cgen-trace.h,cpuall.h.
16         Done by cgen-sim.h now.
17         * tconfig.in (SIM_HAVE_MODEL): Delete, moved to cgen-types.h.
18         * cpuall.h: Regenerate.
19         * cpu.h,decode.c,sem-switch.c,sem.c: Regenerate.
20         * mloop.in (extract16): Make static inline again.
21         Simplify with call to @cpu@_fill_argbuf,@cpu@_fill_argbuf_tp.
22         (extract32): Ditto.
23         Simplify with call to @cpu@_fill_argbuf,@cpu@_fill_argbuf_tp.
24         (execute): Test ARGBUF_PROFILE_P before profiling.
25         Update calls to TRACE_INSN_INIT,TRACE_INSN_FINI.
26 start-sanitize-m32rx
27         * cpux.h,decodex.c,modelx.c,semx-switch.c: Regenerate.
28         * mloopx.in: Rewrite.
29 end-sanitize-m32rx
30
31 1998-11-22  Doug Evans  <devans@tobor.to.cygnus.com>
32
33         * devices.c (device_io_write_buffer): Fix typo.
34         * sim-if.c (sim_open): Hack in call to dv_sockser_install.
35         * tconfig.in (HAVE_DV_SOCKSER): Add but comment out.
36
37 1998-11-18  Doug Evans  <devans@casey.cygnus.com>
38
39         * Makefile.in (M32R_OBJS): Delete extract.o.
40         (extract.o): Delete.
41         (stamp-arch): Depend on $(CGEN_ARCH_SCM).
42         (stamp-cpu): Don't build extract.c.
43         * cpu.c,cpu.h,decode.c,decode.h,sem-switch.c,sem.c: Rebuild.
44         * mloop.in (extract16): Update type of `insn' arg.
45         Delete call to d->extract.
46         (extract32): Ditto.
47 start-sanitize-m32rx
48         * Makefile.in (M32RX_OBJS): Delete extractx.o.
49         (extractx.o): Delete.
50         (stamp-xcpu): Don't build extractx.c.
51         * cpux.c,cpux.h,decodex.c,decodex.h,semx-switch.c: Rebuild.
52         * mloopx.in (extractx16): Update type of `insn' arg.
53         Delete call to d->extract.  Delete arg pbb_p.  All callers updated.
54         (extract-simple,full-exec-simple,fast-exec-simple): Delete.
55         (extractx32): Ditto.
56 end-sanitize-m32rx
57
58 Wed Nov  4 23:55:37 1998  Doug Evans  <devans@seba.cygnus.com>
59
60         * sim-main.h: Delete inclusion of config.h, include sim-basics.h
61         before cgen-types.h.
62         * tconfig.in: Guard against multiple inclusion.
63         * cpu.h: Delete decls moved to genmloop.sh.
64 start-sanitize-m32rx
65         * cpux.h: Ditto.
66 end-sanitize-m32rx
67
68 Mon Oct 19 14:13:05 1998  Doug Evans  <devans@seba.cygnus.com>
69
70         * sim-main.h: #include cpu-opc.h.
71         * arch.c,arch.h,decode.c,extract.c,model.c,sem.c: Regenerate
72         to get #include cleanup.
73 start-sanitize-m32rx
74         * decodex.c,extractx.c,modelx.c: Ditto.
75 end-sanitize-m32rx
76
77         * Makefile.in (SIM_EXTRA_DEPS): Replace cgen headers with
78         CGEN_INCLUDE_DEPS.
79         (M32RBF_INCLUDE_DEPS): Define.
80         (m32r .o's): Depend on it.
81         (mloop.c): Update call to genmloop.sh.
82         * cpu.h,cpuall.h: Regenerate.
83         * sim-main.h: Delete inclusion of cpu.h,decode.h, moved to cpuall.h.
84         #include cgen-scache.h,cgen-cpu.h.
85         * tconfig.in (WITH_FOO semantic macros): Delete.
86 start-sanitize-m32rx
87         * Makefile.in (M32RXF_INCLUDE_DEPS): Define.
88         (m32rx .o's): Depend on it.
89         (mloopx.c): Update call to genmloop.sh.
90         * cpux.h: Regenerate.
91 end-sanitize-m32rx
92
93 Fri Oct 16 09:15:29 1998  Doug Evans  <devans@charmed.cygnus.com>
94
95         * sim-if.c (sim_do_command): Handle "sim info reg {bbpsw,bbpc}".
96
97 Wed Oct 14 14:49:50 1998  Doug Evans  <devans@canuck.cygnus.com>
98
99         * Makefile.in (mloop.o): Don't depend on stamp-cpu, depend on
100         explicit files.
101 start-sanitize-m32rx
102         (mloopx.o): Ditto for stamp-xcpu.
103 end-sanitize-m32rx
104
105 Fri Oct  9 16:11:58 1998  Doug Evans  <devans@seba.cygnus.com>
106
107         Add pseudo-basic-block execution support.
108         * Makefile.in (SIM_OBJS): Add sim-reg.o, cgen-run.o, sim-stop.o.
109         (SIM_EXTRA_DEPS): Add include/opcode/cgen.h.
110         (INCLUDE_DEPS): Delete cpu-sim.h, include/opcode/cgen.h.
111         (mloop.c): Build pseudo-basic-block version.  Depend on stamp-cpu.
112         (stamp-decode): Delete, build decode files with other cpu files.
113         * arch.c,arch.h,cpuall.h: Regenerate.
114         * cpu.c,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
115         * sem-switch.c,sem.c: Regenerate.
116         * m32r-sim.h (M32R_MISC_PROFILE): New members load_regs,
117         load_regs_pending.
118         * m32r.c (m32rbf_fetch_register): Renamed from m32rb_fetch_register.
119         (m32rbf_store_register,m32rbf_h_cr_get,m32rbf_h_cr_set,
120         m32rbf_h_psw_get,m32rbf_h_psw_set,m32rbf_h_accum_get,
121         m32rbf_h_accum_set): Likewise.
122         (m32r_model_{init,update}_insn_cycles): Delete.
123         (m32rbf_model_insn_{before,after}): New fns.
124         (m32r_model_record_cti,m32r_model_record_cycles): Delete.
125         (m32rb_model_mark_get_h_gr,m32rb_model_mark_set_h_gr): Delete.
126         (m32rb_model_mark_busy_reg,m32rb_model_mark_unbusy_reg): Delete.
127         (check_load_stall): New fn.
128         (m32rbf_model_m32r_d_u_{exec,cmp,mac,cti,load,store}): New fns.
129         (m32rbf_model_test_u_exec): New fn.
130         * mloop.in: Rewrite, use pbb support.
131         * sim-if.c (sim_stop,sim_sync_stop,sim_resume): Delete.
132         (sim_fetch_register,sim_store_register): Delete.
133         * sim-main.h (CIA_GET,CIA_SET): Fix.
134         (SIM_ENGINE_HALT_HOOK,SIM_ENGINE_RESTART_HOOK): Delete.
135         * tconfig.in (WITH_SCACHE_PBB): Define.
136         (WITH_SCACHE_PBB_M32RBF): Define.
137         * traps.c (sim_engine_invalid_insn): Renamed from ..._illegal_....
138         (m32r_trap): Pass pc to sim_engine_halt.
139         * configure.in (SIM_AC_OPTION_SCACHE): Change 1024 to 16384.
140         * configure: Regenerate.
141 start-sanitize-m32rx
142         * Makefile.in (M32RX_OBJS): Delete semx.o, add extract.o.
143         (mloopx.c): Build pseudo-basic-block version.  Depend on stamp-xcpu.
144         (semx.o): Delete.
145         (extractx.o): Add.
146         (stamp-xdecode): Delete, build decode files with other cpu files.
147         * cpux.c,cpux.h,decodex.c,decodex.h,modelx.c: Regenerate.
148         * readx.c: Delete.
149         * semx.c: Delete.
150         * extractx.c: New file.
151         * semx-switch.c: New file.
152         * m32r-sim.h (BRANCH_NEW_PC): Delete.
153         (SEM_SKIP_INSN): New macro.
154         * m32rx.c (m32rxf_fetch_register): Renamed from m32rx_fetch_register.
155         (m32rxf_store_register,m32rxf_h_cr_get,m32rxf_h_cr_set,
156         m32rxf_h_psw_get,m32rxf_h_psw_set,m32rxf_h_accum_get,
157         m32rxf_h_accum_set,m32rxf_h_accums_get,m32rxf_h_accums_set): Likewise.
158         (m32rxf_model_insn_{before,after}): New fns.
159         (m32rx_model_mark_get_h_gr,m32rx_model_mark_set_h_gr): Delete.
160         (m32rx_model_mark_busy_reg,m32rx_model_mark_unbusy_reg): Delete.
161         (check_load_stall): New fn.
162         (m32rxf_model_m32rx_u_{exec,cmp,mac,cti,load,store}): New fns.
163         * mloopx.in: Rewrite, use pbb support.
164         * tconfig.in (WITH_SCACHE_PBB_M32RXF): Define.
165         (WITH_SEM_SWITCH_FULL): Change from 0 to 1.
166 end-sanitize-m32rx
167
168 Wed Sep 16 18:22:27 1998  Doug Evans  <devans@canuck.cygnus.com>
169
170         * m32r-sim.h ({PSW,CBR,SPI,SPU,BPC,BBPSW,BBPC}_REGNUM): New macros.
171         ({ACC1L,ACC1H}_REGNUM): New macros.
172         (m32r_decode_gdb_ctrl_regnum): Add prototype.
173         * m32r.c (m32r_decode_gdb_ctrl_regnum): New function.
174         (m32r_fetch_register,m32r_store_register): Rewrite.
175 start-sanitize-m32rx
176         * m32rx.c (m32rx_fetch_register,m32rx_store_register): Rewrite.
177 end-sanitize-m32rx
178
179 Tue Sep 15 15:01:14 1998  Doug Evans  <devans@canuck.cygnus.com>
180
181         * m32r-sim.h (GET_H_SM): New macro.
182         (UART params): Update to msa2000.
183         * devices.c (device_io_read_buffer): Update to msa2000.
184         * m32r.c (m32rb_h_cr_get,m32rb_h_cr_set): Handle bbpc,bbpsw.
185         (m32rb_h_psw_get,m32rb_h_psw_set): New functions.
186         * arch.c,arch.h,cpu.c,cpu.h,sem-switch.c,sem.c: Regenerate.
187 start-sanitize-m32rx
188         * m32rx.c (m32rx_h_cr_get,m32rx_h_cr_set): Handle bbpc,bbpsw.
189         (m32rx_h_psw_get,m32rx_h_psw_set): New functions.
190         * cpux.c,cpux.h,readx.c,semx.c: Regenerate.
191 end-sanitize-m32rx
192
193 Wed Sep  9 15:29:36 1998  Doug Evans  <devans@canuck.cygnus.com>
194
195         * m32r-sim.h (m32r_trap): Update prototype.
196         * traps.c (m32r_trap): New arg `pc'.
197         * sem.c,sem-switch.c: Regenerated.
198 start-sanitize-m32rx
199         * cpux.h,readx.c,semx.c: Regenerated.
200 end-sanitize-m32rx
201
202 Mon Aug  3 12:59:17 1998  Doug Evans  <devans@seba.cygnus.com>
203
204         Rename cpu m32r to m32rb to distinguish from architecture name.
205         * Makefile.in (mloop.c): cpu m32r renamed to m32rb.
206         (stamp-cpu): Ditto.
207         * sim-main.h (WANT_CPU_M32RB): Renamed from WANT_CPU_M32R.
208         * tconfig.in (WANT_CPU_M32RB): Ditto.
209         * m32r.c (WANT_CPU_M32RB): Ditto.
210         (*): m32r_ cpu fns renamed to m32rb_.
211         * sim-if.c (sim_stop,sim_sync_stop,sim_resume): Update.
212         * arch.h,arch.c: Regenerate.
213         * cpu.c,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
214         * sem-switch.c,sem.c: Regenerate.
215
216         * sim-if.c (sim_open): Don't allocate memory on top of any user
217         specified memory.
218         (h_gr_get,h_gr_set): Delete.
219         * sim-main.h (h_gr_get,h_gr_set): Delete.
220         * traps.c (m32r_trap): Replace calls to h_gr_[gs]et with
221         a_m32r_h_gr_[gs]et.
222
223         * Makefile.in (INCLUDE_DEPS): Add include/opcode/cgen.h.
224
225         * sim-if.c (sim_open): Open opcode table.
226         (sim_close): Close it.
227
228 start-sanitize-m32rx
229 Tue Jul 28 13:06:19 1998  Doug Evans  <devans@canuck.cygnus.com>
230
231         Add support for new versions of mulwhi,mulwlo,macwhi,macwlo that
232         accept an accumulator choice.
233         * cpux.c,decodex.c,decodex.h,modelx.c,readx.c,semx.c: Regenerate.
234
235 end-sanitize-m32rx
236 Fri Jul 24 13:00:29 1998  Doug Evans  <devans@canuck.cygnus.com>
237
238         * m32r.c: Include cgen-mem.h.
239         * traps.c (m32r_trap): Tweak for -Wall.
240 start-sanitize-m32rx
241         * m32rx.c: Include cgen-mem.h.
242         * semx.c: Regenerate, get -Wall cleanups.
243 end-sanitize-m32rx
244
245 Tue Jul 21 16:53:10 1998  Doug Evans  <devans@seba.cygnus.com>
246
247         * cpu.h,extract.c: Regenerate.  pc-rel calcs done on f_dispNN now.
248 start-sanitize-m32rx
249         * cpux.h,readx.c,semx.c: Ditto.
250 end-sanitize-m32rx
251
252 Wed Jul  1 16:51:15 1998  Doug Evans  <devans@seba.cygnus.com>
253
254         * Makefile.in: cgen_maint -> CGEN_MAINT.
255         * configure.in: AC_SUBST cgen,cgendir.  No longer look for guile.
256         * configure: Regenerate.
257         * arch.c,arch.h,cpuall.h: Regenerate.
258         * cpu.c,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
259         * sem-switch.c,sem.c: Regenerate.
260 start-sanitize-m32rx
261         * cpux.c,cpux.h,decodex.c,decodex.h,modelx.c,readx.c: Regenerate.
262         * semx.c: Regenerate.
263         * mloopx.in (icount): Moved here from genmloop.sh.
264 end-sanitize-m32rx
265
266 Sat Jun 13 07:49:23 1998  Doug Evans  <devans@fallis.cygnus.com>
267
268         * m32r-sim.h (M32R_MISC_PROFILE): New members insn_cycles, cti_stall,
269         load_stall,biggest_cycles.
270         * m32r.c (m32r_model_mark_get_h_gr): Update.
271         (m32r_model_init_insn_cycles,m32r_model_update_insn_cycles): New fns.
272         (m32r_model_record_cti,m32r_model_record_cycles): New functions.
273         * mloop.in: Call cycle init/update fns.
274         * model.c: Regenerate.
275 start-sanitize-m32rx
276         * m32rx.c (m32rx_model_mark_get_h_gr): Update.
277         * mloopx.in: Call cycle init/update fns.
278         * modelx.c: Regenerate.
279 end-sanitize-m32rx
280
281 Thu Jun 11 23:39:53 1998  Doug Evans  <devans@seba.cygnus.com>
282
283         * Makefile.in (stamp-{arch,cpu,decode}): Pass CGEN_FLAGS_TO_PASS
284         to recursive makes.
285 start-sanitize-m32rx
286         (stamp-{xcpu,xdecode}): Ditto.
287 end-sanitize-m32rx
288
289 Wed Jun 10 17:39:29 1998  Doug Evans  <devans@canuck.cygnus.com>
290
291         * traps.c: New file.  Trap support moved here from sim-if.c.
292         * Makefile.in (SIM_OBJS): Add traps.o
293         * sim-if.c: Don't include targ-vals.h.
294         (sim_engine_illegal_insn): Moved to traps.c
295         * sim-main.h (SIM_CORE_SIGNAL): Define.
296         (m32r_core_signal): Declare.
297         * m32r-sim.h (m32r_trap): Declare.
298
299         * devices.c (device_io_read_buffer): Handle cache purging via MCCR
300         register.
301
302         * m32r-sim.h (M32R_MISC_PROFILE): Move here from sim-main.h.
303         (PROFILE_COUNT_SHORTINSNS,PROFILE_COUNT_LONGINSNS): New macros.
304         (TRAP_SYSCALL,TRAP_BREAKPOINT): New macros.
305
306         * extract.c,sem-switch.c,sem.c: Regenerate.
307 start-sanitize-m32rx
308         * cpux.h,readx.c,semx.c: Regenerate.
309 end-sanitize-m32rx
310
311 Wed May 20 00:10:40 1998  Doug Evans  <devans@seba.cygnus.com>
312
313         * m32r-sim.h (PROFILE_COUNT_PARINSNS): New macro.
314         * mloopx.in (extract): Set abuf.addr for proper fill nop counting.
315         (execute): Count parallel insns.
316         * sim-if.c (print_m32r_misc_cpu): Print count.
317         * sim-main.h (M32R_MISC_PROFILE): New member parallel_count.
318
319         Zero bottom two bits of pc in jmp,jl insns.
320         * sem.c,sem-switch.c: Regenerate.
321 start-sanitize-m32rx
322         * semx.c: Regenerate.
323 end-sanitize-m32rx
324
325 Tue May 19 16:45:33 1998  Doug Evans  <devans@seba.cygnus.com>
326
327         * sim-if.c (do_trap): Treat traps 2-15 as hardware does.
328
329 Sat May 16 13:04:30 1998  Doug Evans  <devans@seba.cygnus.com>
330
331         * sim-if.c (sim_stop): Update call to @cpu@_engine_stop.
332         (sim_sync_stop): New function.
333
334 Fri May 15 16:43:27 1998  Doug Evans  <devans@seba.cygnus.com>
335
336         * Makefile.in (devices.o): Add dependencies.
337
338         * arch.h,cpu.c,cpu.h,cpuall.h: Regenerate.
339         * sem-switch.c,sem.c: Regenerate.
340         * mloop.in (execute): Update calls to TRACE_INSN_{INIT,FINI}.
341 start-sanitize-m32rx
342         * cpux.c,cpux.h,modelx.c,semx.c: Regenerate.
343         * m32rx.c (m32rx_model_mark_{busy,unbusy}_reg): New functions.
344         * mloopx.in (execute): Update calls to TRACE_INSN_{INIT,FINI}.
345         Fix pc value passed to TRACE_INSN for second parallel insn.
346 end-sanitize-m32rx
347
348 Thu May  7 02:51:35 1998  Doug Evans  <devans@seba.cygnus.com>
349
350         * Makefile.in (SIM_OBJS): Add sim-cpu.o.
351
352 Wed May  6 14:51:39 1998  Doug Evans  <devans@seba.cygnus.com>
353
354         * arch.h,arch.c,cpu.h,cpuall.h: Regenerate, tweaks mostly.
355         * model.c: Ditto.  Reorganize model/mach data.
356 start-sanitize-m32rx
357         * cpux.h: Ditto.
358         * modelx.c: Ditto.
359 end-sanitize-m32rx
360
361         * Makefile.in (m32r.o,mloop.o,cpu.o,model.o): Add decode.h dependency.
362 start-sanitize-m32rx
363         (m32rx.o,mloopx.o,cpux.o,modelx.o): Add decodex.h dependency.
364 end-sanitize-m32rx
365         * decode.c,decode.h: Regenerate, introduces IDESC table.
366         * mloop.in (extract16,extract32): Add IDESC support.
367         Update names of semantic handler member names.
368         (execute): Ditto.  Delete call to PROFILE_COUNT_INSN.
369 start-sanitize-m32rx
370         * decodex.c,decodex.h: Regenerate, introduces IDESC table.
371         * mloopx.in: Add IDESC support.
372         Update names of semantic handler member names.
373         Delete call to PROFILE_COUNT_INSN.
374 end-sanitize-m32rx
375
376         * sem-switch.c: Regenerate.  Redo computed goto label handling.
377         * sem.c: Regenerate.  Call PROFILE_COUNT_INSN.
378 start-sanitize-m32rx
379         * readx.c: Regenerate.  Redo computed goto label handling.
380         * semx.c: Regenerate.  Call PROFILE_COUNT_INSN.  Finish profiling
381         support.
382         * Makefile.in (stamp-xcpu): Turn on profiling support.
383 end-sanitize-m32rx
384
385         * m32r.c (m32r_fetch_register): Change result type and args to
386         conform to sim_fetch_register interface.
387         (m32r_store_register): Ditto for sim_store_register interface.
388 start-sanitize-m32rx
389         * m32rx.c (m32rx_fetch_register): Change result type and args to
390         conform to sim_fetch_register interface.
391         (m32rx_store_register): Ditto for sim_store_register interface.
392 end-sanitize-m32rx
393
394         * sim-if.c (alloc_cpu): Delete.
395         (free_state): Uninstall modules here ...
396         (sim_open): ... and not here.  Call sim_cpu_alloc_all.
397         Set default architecture/model if not specified.
398         (sim_fetch_register,sim_store_register): Rewrite.
399
400         * sim-if.c (h_pc_get,h_pc_set): Delete.  Renamed to sim_pc_[gs]et
401         and moved to common/sim-cpu.c.
402         (sim_create_inferior): Update.
403         (do_trap): Update.
404         * sim-main.h (h_pc_get,h_pc_set): Delete.
405
406         * sim-main.h (sim_cia): Change to USI.
407         (sim_cpu): Move m32r_misc_profile before machine generated part.
408
409 Fri May  1 18:25:41 1998  Doug Evans  <devans@seba.cygnus.com>
410
411         * Makefile.in: Replace @MAINT@ with $(CGEN_MAINT).
412         (CGEN_MAINT): New variable.
413         * configure.in: Add support for --enable-cgen-maint.
414         * configure: Regenerate.
415
416 Tue Apr 28 18:33:31 1998  Geoffrey Noer  <noer@cygnus.com>
417
418         * configure: Regenerated to track ../common/aclocal.m4 changes.
419
420 Tue Apr 28 18:05:53 1998  Nick Clifton  <nickc@cygnus.com>
421
422         * model.c: Rebuilt.
423 start-sanitize-m32rx
424         * modelx.c: Rebuilt.
425 end-sanitize-m32rx
426
427 Mon Apr 27 15:36:30 1998  Doug Evans  <devans@seba.cygnus.com>
428
429         * cpu.h,model.c,sem-switch.c,sem.c: Regenerated.  Mostly comment
430         and variable renaming due to macro insn additions.
431         * mloop.in: Update to use CGEN_INSN_NUM.
432 start-sanitize-m32rx
433         * cpux.h,modelx.c,readx.c,semx.c: Regenerated.
434         * mloopx.in: Update to use CGEN_INSN_NUM.
435 end-sanitize-m32rx
436
437 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
438
439         * configure: Regenerated to track ../common/aclocal.m4 changes.
440         * config.in: Ditto.
441
442 Sun Apr 26 15:20:05 1998  Tom Tromey  <tromey@cygnus.com>
443
444         * acconfig.h: New file.
445         * configure.in: Reverted change of Apr 24; use sinclude again.
446
447 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
448
449         * configure: Regenerated to track ../common/aclocal.m4 changes.
450         * config.in: Ditto.
451
452 Fri Apr 24 11:19:26 1998  Tom Tromey  <tromey@cygnus.com>
453
454         * configure.in: Don't call sinclude.
455
456 Mon Apr 20 16:12:35 1998  Doug Evans  <devans@canuck.cygnus.com>
457
458         * cpu.c,sem.c,sem-switch.c: Regenerate.  From
459         - cgen/m32r.cpu (h-accum): Add attribute FUN-ACCESS.
460         * m32r.c (m32r_h_accum_get,m32r_h_accum_set): New functions.
461         #include cgen-ops.h.
462 start-sanitize-m32rx
463         * cpux.c,readx.c,semx.c: Regenerate.
464         * m32rx.c (m32r_h_accum_get,m32r_h_accum_set): New functions.
465         #include cgen-ops.h.  Delete inclusion of several unnecessary headers.
466         (m32r_h_accums_get): Sign extend top 8 bits.
467 end-sanitize-m32rx
468
469 start-sanitize-m32rx
470 Tue Apr 14 14:04:07 1998  Doug Evans  <devans@canuck.cygnus.com>
471
472         * semx.c: Regenerate.
473
474 end-sanitize-m32rx
475 Fri Apr 10 18:22:41 1998  Doug Evans  <devans@canuck.cygnus.com>
476
477         * cpu.h,decode.c,decode.h,extract.c,sem.c,sem-switch.c: Regenerate.
478 start-sanitize-m32rx
479         * cpux.h,decodex.c,decodex.h,readx.c,semx.c: Regenerate.
480 end-sanitize-m32rx
481
482 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
483
484         * configure: Regenerated to track ../common/aclocal.m4 changes.
485
486 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
487
488         * configure: Regenerated to track ../common/aclocal.m4 changes.
489
490 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
491
492         * configure: Regenerated to track ../common/aclocal.m4 changes.
493
494 Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>
495
496         * configure: Regenerated to track ../common/aclocal.m4 changes.
497
498 Sat Mar 14 20:53:36 1998  Doug Evans  <devans@seba.cygnus.com>
499
500         * config.in (HAVE_FCNTL_H): Add.
501         * configure: Regenerate.
502         * Makefile.in (SIM_OBJS): Add devices.o.
503         * m32r-sim.h (m32r_devices): Renamed from m32r_mspr_device.
504         (UART_*): Define m32r serial port parameters.
505         (M32R_DEVICE_ADDR,M32R_DEVICE_LEN): Define.
506         * m32r.c (device_io_{read,write}_buffer,device_error): Move from here,
507         * devices.c: To here.
508         * sim-if.c: Don't include signal.h,sim-core.h.
509         (sim_open): Use M32R_DEVICE_{ADDR,LEN} in sim_core_attach call.
510         (sim_resume): Call sim_module_{resume,suspend}.
511         * m32r.c (m32r_h_cr_{get,set}): Use register number enums.
512
513         * tconfig.in (SIM_HANDLES_LMA): Define.
514
515         * sim-if.c (do_trap): Result is new pc.
516         Handle --environment=operating.
517         * sem-switch.c,sem.c: Regenerate.
518 start-sanitize-m32rx
519         * semx.c: Regenerate.
520 end-sanitize-m32rx
521
522 Wed Mar 11 14:07:39 1998  Andrew Cagney  <cagney@b1.cygnus.com>
523
524         * sim-if.c (syscall_read_mem, syscall_write_mem): Replace
525         sim_core_*_map with read_map, write_map, exec_map resp.
526
527 Wed Mar  4 11:36:51 1998  Doug Evans  <devans@seba.cygnus.com>
528
529         * Makefile.in (SIM_EXTRA_DEPS): Add cpu-opc.h.
530         (arch.o): Delete cpu-opc.h dependency.
531         (decode.o,model.o): Likewise.
532 start-sanitize-m32rx
533         (decodex.o,modelx.o): Likewise.
534 end-sanitize-m32rx
535
536         * cpu.h,model.c,sem-switch.c,sem.c: Regenerate.
537 start-sanitize-m32rx
538         * cpux.h,decodex.[ch],modelx.c,readx.c,semx.c: Regenerate.
539 end-sanitize-m32rx
540
541 Thu Feb 26 18:38:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>
542
543         * sim-if.c (sim_open): Initialize PROFILE_INFO_CPU_CALLBACK.
544
545         * sim-if.c (sim_info): Delete.
546
547 start-sanitize-m32rx
548 Fri Feb 27 10:14:29 1998  Doug Evans  <devans@canuck.cygnus.com>
549
550         * mloopx.in: Fix handling of branch in parallel with another insn.
551         * semx.c: Regenerate.
552
553 end-sanitize-m32rx
554 Mon Feb 23 13:30:46 1998  Doug Evans  <devans@seba.cygnus.com>
555
556         * sim-main.h: #include symcat.h.
557         * m32r-sim.h (BRANCH_NEW_PC): Delete current_cpu arg.
558         (NEW_PC_{BASE,SKIP,2,4,BRANCH_P}): New macros.
559         * cpu.[ch],decode.[ch],extract.c,model.c: Regenerate.
560         * sem.c,sem-switch.c: Regenerate.
561 start-sanitize-m32rx
562         * m32r-sim.h (SEM_NEXT_PC): Modify to handle parallel exec.
563         * mloopx.in: Rewrite.
564         * cpux.[ch],decodex.[ch],readx.c,semx.c: Regenerate.
565 end-sanitize-m32rx
566
567 Mon Feb 23 12:27:52 1998  Nick Clifton  <nickc@cygnus.com>
568
569         * m32r.c (m32r_h_cr_set, m32r_h_cr_get): Shadow control register 6
570         in the backup PC register.
571 start-sanitize-m32rx
572         * m32rx.c (m32r_h_cr_set, m32r_h_cr_get): Shadow control register 6
573         in the backup PC register.
574 end-sanitize-m32rx
575
576 Thu Feb 19 16:39:35 1998  Doug Evans  <devans@canuck.cygnus.com>
577
578         * m32r.c (do_lock,do_unlock): Delete.
579         * cpu.[ch],decode.[ch],extract.c,model.c: Regenerate.
580         * sem.c,sem-switch.c: Regenerate.
581 start-sanitize-m32rx
582         * cpux.[ch],decodex.[ch],readx.c,semx.c: Regenerate.
583 end-sanitize-m32rx
584
585 Tue Feb 17 18:18:10 1998  Doug Evans  <devans@seba.cygnus.com>
586
587         * Makefile.in (M32R_OBJS): Add cpu.o.
588         (cpu.o): Add rule for.
589         (NL_TARGET): Define.
590         * configure.in: Add AC_CHECK_PROG(SCHEME).
591         * cpu.c: New file.
592         * cpuall.h,cpu.h,decode.c,decode.h,extract.c,model.c: Regenerate.
593         * sem-switch.c,sem.c: Regenerate.
594         * mloop.in (execute): Update call to semantic fn.
595 start-sanitize-m32rx
596         (M32RX_OBJS): Add cpux.o.
597         (cpux.o): Add rule for.
598         cpux.c: New file.
599         * cpux.h,decodex.c,decodex.h,modelx.c,readx.c,semx.c: Regenerate.
600         * m32rx.c (m32rx_h_accums_{get,set}): Rewrite.
601         (m32rx_h_cr_{get,set}): New functions.
602         (m32rx_h_accums_{get,set}): New functions.
603         * mloopx.in: Rewrite main loop.
604 end-sanitize-m32rx
605
606         * m32r.c (do_trap): Move from here.
607         * sim-if.c (do_trap): To here, and rewrite to use CB_SYSCALL support.
608         (sim_create_inferior): Use h_pc_set.
609         (h_pc_{get,set}): New functions.
610         (h_gr_{get,set}): New functions.
611         (syscall_{read,write}_mem): New functions.
612         * sim-main.h (h_{gr,pc}_{get,set}): Declare.
613
614 Tue Feb 17 12:44:38 1998  Andrew Cagney  <cagney@b1.cygnus.com>
615
616         * sim-if.c (sim_store_register, sim_fetch_register): Pass in
617         length parameter.  Return -1.
618         (sim_create_inferior): Pass 4 sim_store_register.
619
620 Wed Feb 11 19:53:48 1998  Doug Evans  <devans@canuck.cygnus.com>
621
622         * sim-main.h (CIA_GET,CIA_SET): Provide dummy definitions for now.
623
624         * decode.c, decode.h, sem.c, sem-switch.c, model.c: Regenerate.
625 start-sanitize-m32rx
626         * cpux.c, decodex.c, decodex.h, readx.c, semx.c, modelx.c: Regenerate.
627 end-sanitize-m32rx
628
629 Mon Feb  9 19:41:54 1998  Doug Evans  <devans@canuck.cygnus.com>
630
631         * decode.c, sem.c: Regenerate.
632 start-sanitize-m32rx
633         * cpux.h, decodex.c, readx.c, semx.c: Regenerate.
634         * m32rx.c (m32rx_h_accums_set): New function.
635         (m32rx_model_mark_[gs]et_h_gr): New function.
636         * mloopx.in: Rewrite.
637         * Makefile.in (mloopx.o): Build with -parallel.
638         * sim-main.h (_sim_cpu): Delete member `par_exec'.
639         * tconfig.in (WITH_SEM_SWITCH_FULL): Define as 0 for m32rx.
640 end-sanitize-m32rx
641
642 Thu Feb  5 12:44:31 1998  Doug Evans  <devans@seba.cygnus.com>
643
644         * Makefile.in (m32r.o): Depend on cpu.h
645         (extract.o): Pass -DSCACHE_P.
646         * mloop.in (extract{16,32}): Update call to m32r_decode.
647         * arch.h,cpu.h,cpuall.h,decode.[ch]: Regenerate.
648         * extract.c,model.c,sem-switch.c,sem.c: Regenerate.
649         * sim-main.h: #include "ansidecl.h".
650         Don't include cpu-opc.h, done by arch.h.
651 start-sanitize-m32rx
652         * Makefile.in (M32RX_OBJS): Build m32rx support now.
653         (m32rx.o): New rule.
654         * m32r-sim.h (m32rx_h_cr_[gs]et): Define.
655         * m32rx.c (m32rx_{fetch,store}_register): Update {get,set} of PC.
656         (m32rx_h_accums_get): New function.
657         * mloopx.in: Update call to m32rx_decode.  Rewrite exec loop.
658         * cpux.h,decodex.[ch],modelx.c,readx.c,semx.c: Regenerate.
659 end-sanitize-m32rx
660
661 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
662
663         * configure: Regenerated to track ../common/aclocal.m4 changes.
664
665 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
666
667         * configure: Regenerated to track ../common/aclocal.m4 changes.
668
669 start-sanitize-m32rx
670 Thu Jan 29 11:22:00 1998  Doug Evans  <devans@canuck.cygnus.com>
671
672         * Makefile.in (M32RX_OBJS): Comment out until m32rx port working.
673         * arch.h (HAVE_CPU_M32R{,X}): Delete, moved to m32r-opc.h.
674         * arch.c (machs): Check ifdef HAVE_CPU_FOO for each entry.
675
676 end-sanitize-m32rx
677 Tue Jan 20 14:16:02 1998  Nick Clifton  <nickc@cygnus.com>
678
679         * cpux.h: Fix duplicate definition of h_accums field for
680         fmt_53_sadd structure.
681
682 start-sanitize-m32rx
683 Tue Jan 20 01:42:17 1998  Doug Evans  <devans@seba.cygnus.com>
684
685         * Makefile.in: Add m32rx objs, and rules to build them.
686         * cpux.h, decodex.h, decodex.c, readx.c, semx.c, modelx.c: New files.
687         * m32rx.c, mloopx.in: New files.
688
689 end-sanitize-m32rx
690 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
691
692         * configure: Regenerated to track ../common/aclocal.m4 changes.
693
694 Mon Jan 19 14:13:40 1998  Doug Evans  <devans@seba.cygnus.com>
695
696         * arch.c, arch.h, cpuall.h: New files.
697         * arch-defs.h: Deleted.
698         * mloop.in: Renamed from mainloop.in.
699         * Makefile.in: Update.
700         * sem-ops.h: Deleted.
701         * mem-ops.h: Deleted.
702 start-sanitize-cygnus
703         Add cgen support for generating files.
704 end-sanitize-cygnus
705         (arch): Renamed from CPU.
706         * cpu.h: New file.
707         * decode.c: Redone.
708         * decode.h: Redone.
709         * extract.c: Redone.
710         * model.c: Redone.
711         * sem-switch.c: Redone.
712         * sem.c: Renamed from semantics.c, and redone.
713         * m32r-sim.h (PROFILE_COUNT_FILLNOPS): Update.
714         (GETTWI,SETTWI,BRANCH_NEW_PC): Define.
715         * m32r.c (WANT_CPU,WANT_CPU_M32R): Define.
716         (m32r_{fetch,store}_register): New functions.
717         (model_mark_{get,set}_h_gr): Prefix with m32r_.
718         (m32r_model_mark_{busy,unbusy}_reg): Prefix with m32r_.
719         (h_cr_{get,set}): Prefix with m32r_.
720         (do_trap): Fetch state from current_cpu, not current_state.
721         Call sim_engine_halt instead of engine_halt.
722         * sim-if.c (alloc_cpu): New function.
723         (free_state): New function.
724         (sim_open): Call sim_state_alloc, and malloc space for selected cpu
725         type.  Call sim_analyze_program.
726         (sim_create_inferior): Handle selected cpu type when setting PC.
727 start-sanitize-m32rx
728         (sim_resume): Handle m32rx.
729 end-sanitize-m32rx
730         (sim_stop_reason): Deleted.
731         (print_m32r_misc_cpu): Update.
732 start-sanitize-m32rx
733         (sim_{fetch,store}_register): Handle m32rx.
734 end-sanitize-m32rx
735         (sim_{read,write}): Deleted.
736         (sim_engine_illegal_insn): New function.
737         * sim-main.h: Don't include arch-defs.h,sim-core.h,sim-events.h.
738         Include arch.h,cpuall.h.  Include cpu.h,decode.h if m32r.
739 start-sanitize-m32rx
740         Include cpux.h,decodex.h if m32rx.
741 end-sanitize-m32rx
742         (_sim_cpu): Include member appropriate cpu_data member for the cpu.
743         (M32R_MISC_PROFILE): Renamed from M32R_PROFILE.
744         (sim_state): Delete members core,events,halt_jmp_buf.
745         Change `cpu' member to be a pointer to the cpu's struct, rather than
746         record inside the state struct.
747         * tconfig.in (WITH_DEVICES): Define here.
748         (WITH_FAST,WITH_SEM_SWITCH_{FULL,FAST}): Define for the cpu.
749
750 Fri Jan 16 12:16:56 1998  Nick Clifton  <nickc@cygnus.com>
751
752         * arch-defs.h (INSN_NAME): Fix typo.
753
754 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
755
756         * configure: Regenerated to track ../common/aclocal.m4 changes.
757         * config.in: Ditto.
758
759 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
760
761         * m32r-sim.h (MSPR_ADDR): New macro.
762         (m32r_mspr_device): Declare.
763         (struct _device): Define.
764         * m32r.c (m32r_mspr_device): New global.
765         (device_{io_{read,write}_buffer,error}): New functions.
766         * mem-ops.h (SETMEM*): Use sim_core_write_map, not read map.
767         * sim-if.c: Delete redundant inclusion of cpu-sim.h.
768         (sim_open): Attach device to handle MSPR register.
769         * sim-main.h (WITH_DEVICES): Define as 1.
770         Include cpu-sim.h.
771
772         * configure: Regenerated to track ../common/aclocal.m4 changes.
773
774 Wed Dec  3 18:08:44 1997  Doug Evans  <devans@canuck.cygnus.com>
775
776         * configure.in (SIM_AC_OPTION_ENVIRONMENT): Call.
777         * configure: Regenerated.
778
779 Wed Nov 19 12:17:08 1997  Doug Evans  <devans@canuck.cygnus.com>
780
781         * mem-ops.h: Rename SIM_SIG{ACCESS,ALIGN} to SIM_SIG{SEGV,BUS}.
782         * sim-if.c (sim_open): Call sim_config.
783         (sim_stop_reason): Update call to sim_signal_to_host.
784
785 Tue Nov 18 15:33:48 1997  Doug Evans  <devans@canuck.cygnus.com>
786
787         * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
788
789 Fri Oct 31 18:46:46 1997  Andrew Cagney  <cagney@b1.cygnus.com>
790
791         * sim-if.c (sim_open): Delete dead call to sim_core_attach.
792
793 Mon Oct 27 12:43:54 1997  Doug Evans  <devans@canuck.cygnus.com>
794
795         * sem-ops.h (U{DIV,MOD}[BHSD]I): Use unsigned division.
796
797 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
798
799         * configure: Regenerated to track ../common/aclocal.m4 changes.
800
801 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
802
803         * configure: Regenerated to track ../common/aclocal.m4 changes.
804
805 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
806
807         * configure: Regenerated to track ../common/aclocal.m4 changes.
808
809 Tue Sep 23 10:19:51 1997  Andrew Cagney  <cagney@b1.cygnus.com>
810
811         * Makefile.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_SCACHE,
812         SIM_DEFAULT_MODEL): Delete, moved to common.
813         (SIM_EXTRA_CFLAGS): Update.
814         
815 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
816
817         * configure.in (sim_link_links): Configure non-strict memory
818         alignment.
819
820         * configure: Regenerated to track ../common/aclocal.m4 changes.
821
822 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
823
824         * configure: Regenerated to track ../common/aclocal.m4 changes.
825
826 Wed Sep 17 17:44:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
827
828         * sim-if.c (sim_open): Allocate memory under sim-memopt module
829         using sim_do_commandf.
830         (sim_open): Set magic-number at the start.
831         (sim_do_command): Implement.
832
833         * sim-main.h (sim_engine_halt): Map onto engine_halt.
834
835 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
836
837         * configure: Regenerated to track ../common/aclocal.m4 changes.
838
839 Thu Sep  4 17:21:23 1997  Doug Evans  <dje@seba>
840
841         * configure: Regenerated to track ../common/aclocal.m4 changes.
842
843 Fri Sep  5 10:21:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
844
845         * Makefile.in (SIM_OBJS): Add sim-memopt.o module.
846
847 Thu Sep  4 10:30:02 1997  Andrew Cagney  <cagney@b1.cygnus.com>
848
849         * sim-if.c (sim_open): Pass zero modulo arg to sim_core_attach.
850
851 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
852
853         * configure: Regenerated to track ../common/aclocal.m4 changes.
854         * config.in: Ditto.
855
856 Tue Aug 26 10:39:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
857
858         * sim-if.c (sim_kill): Delete.
859         (sim_create_inferior): Add ABFD argument.
860         (sim_load): Move setting of PC from here.
861         (sim_create_inferior): To here.
862         (sim_load): Delete, use sim-hload.c instead.
863
864         * Makefile.in (SIM_OBJS): Add sim-hload.o module.
865
866 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
867
868         * configure: Regenerated to track ../common/aclocal.m4 changes.
869         * config.in: Ditto.
870
871 Mon Aug 25 15:54:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
872
873         * sim-if.c (sim_open): Add ABFD argument.
874
875 Tue Jul 22 10:16:16 1997  Doug Evans  <dje@canuck.cygnus.com>
876
877         * sim-main.h (M32R_DEFAULT_MEM_SIZE): New macro.
878         * sim-if.c (sim_open): Use it.
879
880 Wed Jun  4 12:48:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
881
882         * sim-main.h (WITH_ENGINE): Disable the common engine for now.
883
884 Tue May 27 14:15:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>
885
886         * sim-if.c (sim_read): Pass NULL cpu to sim_core_read_buffer.
887         (sim_write): Ditto for write.
888
889         * m32r.c (do_trap): Ditto for read/write.
890
891 Tue May 20 10:18:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
892
893         * sim-if.c (sim_open): Add callback argument.
894         (sim_set_callbacks, sim_callback): Delete.
895         (sim_load): Set STATE_LOADED_P.
896
897 Mon May 19 12:55:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
898
899         * Makefile.in (SIM_OBJS): Link in sim-abort.o as a stub for
900         sim_engine_abort.
901
902 Mon May  5 12:45:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
903
904         * sim-if.c (sim_open): Update to reflect changes to core in
905         ../common/.
906         * mem-ops.h (GETMEMQI, GETMEMHI, GETMEMSI, GETMEMDI, GETMEMUQI,
907         GETMEMUHI, GETMEMUSI, GETMEMUDI, SETMEMQI, SETMEMHI, SETMEMSI,
908         SETMEMDI, SETMEMUQI, SETMEMUHI, SETMEMUSI, SETMEMUDI): Ditto.
909
910 Sat May  3 08:38:55 1997  Doug Evans  <dje@seba.cygnus.com>
911
912         * decode.c (decode): Add computed goto support.
913
914 Fri May  2 16:30:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
915
916         * mem-ops.h: Stub additional core read/write arguments.
917
918         * sim-main.h: Declare sim_cia - type SI.
919         (struct _sim_cpu): Move base type to end per common.
920         (struct _sim_state): Ditto.
921
922 Thu May  1 11:15:34 1997  Doug Evans  <dje@canuck.cygnus.com>
923
924         Merge from branch into devo.  CGEN generic files moved to common
925         directory.  K&R C support is no longer provided.
926
927 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
928
929         * configure: Regenerated to track ../common/aclocal.m4 changes.
930
931 Sat Apr 12 12:57:33 1997  Felix Lee  <flee@yin.cygnus.com>
932
933         * Makefile.in, seman-cache.c: new file, for wingdb build.
934         * sim-alloca.h: fixed for wingdb.
935         
936 Mon Apr  7 13:33:29 1997  Doug Evans  <dje@seba.cygnus.com>
937
938         * decode.c (*): m32r_cgen_insn_table renamed to ..._entries.
939         * mainloop.in: Use CGEN_INSN_INDEX instead of CGEN_INSN_TYPE.
940         * simdefs.h (INSN_NAME): m32r_cgen_insn_table renamed to ..._entries.
941
942 Fri Apr  4 19:23:12 1997  Doug Evans  <dje@canuck.cygnus.com>
943
944         * cgen-utils.in (ex_illegal): Fill in abuf->length, abuf->addr.
945         (exc_illegal): Likewise.
946         * decode.c (decode_vars): Add decode_illegal.
947         * genmloop.sh: #include "cpu-opc.h".
948         * sem-switch.c (case_INSN_ILLEGAL): Declare.
949         (labels): Add case_INSN_ILLEGAL.
950         (SWITCH): Add INSN_ILLEGAL case.
951
952 Wed Mar 26 12:34:00 1997  Doug Evans  <dje@canuck.cygnus.com>
953
954         * model.c (model_module): Use 0 not NULL.
955
956         * genmloop.sh (sim_main_loop): Handle k&r c.
957
958         * sem-switch.c: Regenerate to get k&r c support.
959         * semantics.c: Likewise.
960
961         * m32r.c (ADD_{OV,CA}_SI,SUB_{OV,CA}_SI): Renamed to {ADD,SUB}[OC]FSI.
962         (ADDCSI,SUBCSI): New functions.
963         * sem-switch.c (addv,addv3,addx,subv,subx): Fix carry bit handling.
964         * semantics.c (addv,addv3,addx,subv,subx): Fix carry bit handling.
965
966         * simcache.c (simcache_{install,init,uninstall}): Use
967         DECLARE_MODULE_INSTALL_HANDLER.
968         (simcache_option_handler): Use DECLARE_OPTION_HANDLER.
969
970         * utils.c: #include "semops.h".
971
972 Tue Mar 11 14:30:26 1997  Doug Evans  <dje@seba.cygnus.com>
973
974         * profile.c (profile_print_simcache): Fix thinko in printf text.
975
976         * simdefs.h (struct argbuf): Add member to fmt_20 so it's not empty.
977
978 Mon Mar 10 11:06:29 1997  Doug Evans  <dje@seba.cygnus.com>
979
980         * m32r.c (h_cr_get): Rewrite.
981         (h_cr_set): Rewrite.
982         * sem-switch.c (rte): bcarry renamed to bcond.
983         * semantics.c (rte): Likewise.
984         * simdefs.h (CPU_STATE): Likewise.
985
986         * config.in (HAVE_SYS_TIME_H): Add.
987         * configure.in: Check for sys/time.h.
988         * configure: Regenerated.
989         * utils.c: Include sys/time.h if present.
990
991         * common.c (sim_parse_args): Account for NULL terminating entry
992         in long_options table.
993
994         * genmloop.sh (RUN_FAST_P): Don't run fast if tracing.
995         Always use cache if configured in.
996         * mainloop.in (do_extract_insn{16,32}): New functions.
997         (normal,fast): Call them.  Handle starting in left slot.
998         * simcache.c (simcache_option_handler): Disallow -c0.
999         * sem-switch.c (TRACE_RESULT): Redefine so no tracing.
1000
1001         * profile.c (profile_print_simcache): Fix percentage calc.
1002
1003         * Makefile.in (INCLUDE_DEPS): Delete simcommon.h.
1004
1005 Sun Mar  9 20:42:17 1997  Doug Evans  <dje@seba.cygnus.com>
1006
1007         * Makefile.in (COMMON_{PRE,POST}_CONFIG_FRAG): Add delimiters for.
1008         (M32R_INCLUDE_DEPS): Use cpu-sim.h instead of m32r-sim.h.
1009         Add mod-list.h.
1010         (mrun.o): Don't depend on M32R_INCLUDE_DEPS.
1011         (sim-if.o,m32r.o,utils.o): Likewise.
1012         (common.o): Don't explicitly depend on mod-list.h.
1013         (mainloop.c): Pass CPU to genmloop.sh.
1014         (stamp-modules): Depend on configure.
1015         (decode.o): Depend on decode,h, memops.h, semops.h, cpu-opc.h.
1016         (extract.o): Depend on decode.h, memops.h, semops.h.
1017         (semantics.o,seman-cache.o): Likewise.
1018         (model.o,ops.o): Depend on memops.h.
1019         (extr-cache.o): Disable building for the moment.
1020
1021         * simcommon.h: Delete, move contents into cgen-sim.h.
1022         * cgen-sim.h: Don't include ansidecl.h,bfd.h,simfns.h.
1023         (UINT,CGEN_CAT3): Define.
1024         ({extract,semantic}_fn_t): Renamed to {EXTRACT,SEMANTIC}_FN.
1025         (decode_t): Renamed to DECODE.
1026
1027         * simfns.h: Delete, contents moved to memops.h,semops.h.
1028         * memops.h: New file.
1029         * semops.h: New file.
1030         * decode.h: Renamed from semantics.h.
1031
1032         * sim-argv.h: New file.
1033         * Makefile.in (memory.o,trace.o,profile.o,simcache.o,common): Add
1034         dependency of sim-argv.h.
1035
1036         * sim-alloca.h: New file.
1037         * common.c: Include it.
1038         * Makefile.in (common.o): Add dependency.
1039
1040         * config.in (HAVE_TIME_H,HAVE_SYS_RESOURCE_H): Add.
1041         (HAVE_GETRUSAGE,HAVE_TIME): Add.
1042         * configure.in: sinclude ../common/aclocal.m4.
1043         Check for headers time.h, sys/resource.h.
1044         Check for functions time, getrusage.
1045         (sim_link_{files,links}): Add link cpu-opc.h.
1046         (sim_profile): Add simcache.
1047         (SIM_AC_PROFILE): Add simcache, profile.o.
1048         (simcache module): Delete extr-cache.o for now.
1049         (--enable-sim-cache): Allow specification of default cache size.
1050         * configure: Regenerated.
1051
1052         * decode.c: #include cgen-sim.h,memops.h,semops.h,decode.h,
1053         cpu-sim.h,cpu-opc.h.  Don't include m32r-sim.h.
1054         Regenerate.
1055
1056         * extract.c: #include cgen-sim.h,decode.h,cpu-sim.h.
1057         Don't include m32r-sim.h.
1058         (*): Define/Undef FLD macro.  Use it to reference ARGBUF.
1059         Simplify profiling test with PROFILE_MODEL_P.
1060         (mvfc,mvtc): Fix access of control registers.
1061         * semantic.c: #include cgen-sim.h,memops.h,semops.h,decode.h,cpu-sim.h.
1062         Don't include m32r-sim.h.
1063         (*): Define/Undef FLD macro.  Use it to reference ARGBUF.
1064         Simplify profiling test with PROFILE_MODEL_P.
1065         (mvfc,mvtc): Fix access of control registers.
1066
1067         * sem-switch.c: New file, for GCC computed goto support.
1068
1069         * genmloop.sh: Add #include's of bfd.h,callback.h,cgen-sim.h,
1070         memops.h,semops.h,trace.h,cpu-sim.h.
1071         (RUN_FAST_P): Change default to run fast if cache size > 0
1072         and not profiling.
1073         (sim_main_loop): Record execution time.
1074         Record instruction count even in fast mode.
1075         (init): Allow cpu to provide init code in mainloop.in.
1076         (FAST): Define as 0 or 1 depending on fast mode.
1077         * mainloop.in (normal): Combine with fast case.
1078         Add support for GCC computed gotos.  Count simcache hits/misses.
1079         (init): Initialize "switch" labels if GNUC.
1080
1081         * cgen-utils.in: Don't include opcode/cgen.h.
1082         Include cgen-sim.h, cpu-opc.h.
1083         * common.c: Don't include simcommon.h,mod-list.h.  Include cgen-sim.h.
1084         * m32r-sim.h: Don't include mod-list.h
1085         (RUN_FAST_P): Delete.
1086         * m32r.c: Don't include profile.h.  #include ansidecl.h,cgen-sim.h,
1087         semops.h,memory.h,trace.h
1088         (h_cr_get,h_cr_set): New functions.
1089         * memory.c: #include cgen-sim.h,callback.h.
1090         * ops.c: Don't include profile.h,m32r-sim.h.
1091         Include cgen-sim.h,memops.h,cpu-sim.h.
1092         (MEMOPS_DEFINE_INLINE): Renamed from SIMFNS_DEFINE_INLINE.
1093         * trace.c: Include cgen-sim.h,cpu-opc.h.
1094         * trace.h (trace_insn_{init,fini}): Declare.
1095
1096         * model.c: Don't include signal.h,stdlib.h,m32r-sim.h.
1097         Include cgen-sim.h,cpu-sim.h,cpu-opc.h.
1098         Regenerate to get new insn aliases.
1099
1100         * mrun.c: #include "ansidecl.h".
1101         (STATE): Use struct sim_state instead.
1102
1103         * profile.c: Surround #include <stdlib.h> with HAVE_STDLIB_H.
1104         Don't include simcommon.h.  Include cgen-sim.h,cpu-opc.h.
1105         (PROFILE_{READ,WRITE}_MASK): Replace with PROFILE_MEMORY_MASK.
1106         (profile_print_simcache): New function.
1107         (profile_print): Call it.  Print simulator speed stats.
1108         * profile.h (PROFILE_{READ,WRITE}_MASK): Replace with
1109         PROFILE_MEMORY_MASK.
1110         (MODULE_PROFILE_SIMCACHE_P): Define.
1111         (PROFILE_SIMCACHE_MASK): Define.
1112         (PROFILE_COUNT): New members total_insn_count,exec_time.
1113         New members simcache_hits,simcache_misses.
1114         (PROFILE_SIMCACHE_{HITS,MISSES}): Define.
1115         (PROFILE_MODEL_P): New macro.
1116         (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): New macros.
1117
1118         * sim-if.c: Surround #include <stdlib.h> with HAVE_STDLIB_H.
1119         Don't include simcommon.h,m32r-sim.h.  Include cgen-sim.h,cpu-sim.h.
1120         (sim_resume): Use USING_SIMCACHE_P instead of RUN_FAST_P.
1121         (sim_info): Pass verbose to profile_print.
1122
1123         * simcache.c: Include cgen-sim.h,callback.h.
1124         (USING_SIMCACHE_P): Replace with SIMCACHE_P.
1125         (simcache_option_handler): Ensure cache size at least 2.
1126         Allow config time specification of default cache size.
1127         * simcache.h (struct simcache): Support GCC computed gotos.
1128         (SIMCACHE_DEFAULT_CACHE_SIZE): USe CONFIG_SIM_CACHE_SIZE if defined.
1129         (USING_SIMCACHE_P): New macro.
1130
1131         * simdefs.h: Don't include m32r-opc.h.
1132         (CGEN_MAX_SIM_INSNS): Define.
1133         (CPU_STATE): Regenerate.
1134         (ARGBUF): Regenerate.
1135         (extract,semantic handler decls): Delete, moved to decode.h.
1136
1137         * tconfig.in: Don't include cgen-sim.h,m32r-sim.h.
1138         (USE_SEM_SWITCH): Define.
1139
1140         * utils.c: Include bfd.h,time.h,sys/resource.h.
1141         (sim_time_get,sim_time_elapsed): New functions.
1142         * cgen-sim.h (SIM_TIME,sim_time_get,sim_time_elapsed): Declare.
1143
1144 Fri Jan 31 20:25:06 1997  Doug Evans  <dje@canuck.cygnus.com>
1145
1146         * configure.in (AC_CHECK_HEADERS): Handle i386-windows.
1147         * configure: Regenerated.
1148         * model.c: #include <stdlib.h>.
1149         * simcache.c: #include "libiberty.h".
1150         * simcommon.h (alloca): Handle i386-windows.
1151
1152         * common.c: #include libiberty.h.
1153         (sim_signal_to_host): Return 5 if wingdb.
1154
1155 Mon Jan 27 15:22:49 1997  Doug Evans  <dje@seba.cygnus.com>
1156
1157         * configure.in (sim_cache): Enabled by default now, pass default
1158         cache size to --enable-sim-cache.
1159         * simcache.c (simcache_option_handler): Allow -c 0.
1160
1161         * simdefs.h,simfns.h: Regenerate
1162         * decode.c,extract.c,model.c,ops.c,semantics.c: Regenerate.
1163
1164 Tue Jan 21 16:21:01 1997  Doug Evans  <dje@seba.cygnus.com>
1165
1166         Add model profiling support.
1167         * configure.in: Handle --enable-sim-model.
1168         (sim_profile): Add model.
1169         * Makefile.in (model.o): Add rule.
1170         * cgen-sim.h (UNIT,INSN_TIMING,MACH,MODEL): New types.
1171         * extract.c (*): Add model profiling support.
1172         * m32r.c (model_mark_{get,set}_h_gr): New functions.
1173         (model_mark_{busy,unbusy}_reg): New functions.
1174         * profile.c (profile_option_handler): Recognize --profile model.
1175         (profile_print_model): New function.
1176         (profile_print): Call it.
1177         * profile.h (MODULE_profile_model,MODULE_PROFILE_MODEL_P): Define.
1178         (PROFILE_MODEL_MASK,PROFILE_LABEL_WIDTH): Define.
1179         (PROFILE_COUNT): New members cycle_count,cti_stall_count,
1180         load_stall_count,taken_count,untaken_count.
1181         * semantics.c (*): Add model profiling support.
1182         * simcommon.h (struct sim_state): New members mach,model.
1183         * simdefs.h (CPU_PROFILE,MODEL_TYPE,UNIT_TYPE): New type.
1184         (MAX_MODELS,MAX_UNITS): Define.
1185         * tconfig.in (STATE_EXTRA_MEMBERS): Add cpu_profile.
1186
1187         * Makefile.in (INCLUDE_DEPS): Add $(SIM_MODULES_HDRS).
1188         (stamp-modules): Depend on genmodlist.sh.
1189         * common.c (standard_options): Add --max-insns.
1190         (copy_argv): New function.
1191         * tconfig.in (SIM_HAVE_MAX_INSNS): Define.
1192         * genmloop.sh: Allow mainloop.in to contain support code.
1193         * mainloop.in: Move do_insn16,do_insn32 here.
1194         * m32r.c (do_trap): Handle SYS_argvlen,SYS_argv,SYS_read.
1195         * sim-if.c (sim_open): Don't set max insn count.
1196         (sim_create_inferior): Save argv,envp.
1197         * simcommon.h (struct sim_state): New members argv,envp.
1198         * simdefs.h ([GS]ETTWI,[GS]ETTUWI,[GS]ETTAI): Define.
1199         ([GS]ETMEMWI,[GS]ETMEMUWI,[GS]ETMEMAI): Define.
1200         (ARGBUF): New members h_gr_get, h_gr_set.
1201         * trace.c (trace_insn_init,trace_insn_fini): New functions.
1202         (trace_printf): Print to buffer, output later by trace_insn_fini.
1203         * trace.h (TRACE_INSN_{INIT,FINI}): Define.
1204
1205 Thu Dec 19 16:01:59 1996  Doug Evans  <dje@canuck.cygnus.com>
1206
1207         * configure.in (AC_FUNC_ALLOCA): Call.
1208         * configure: Regenerate.
1209         * config.h (HAVE_ALLOCA_H): Add.
1210         * simcommon.h: Add alloca support.
1211         (DECLARE_MODULE_INSTALL_HANDLER): Define.
1212         (DECLARE_OPTION_HANDLER): Define.
1213         (MEM_FN): Declare using PARAMS.
1214         (DECLARE_MEM_FN): Define.
1215         * trace.c (trace_result): Tweak for !STDC.
1216         * cgen-sim.h (UDI_FN_SUPPORT): Define if ! HAVE_LONGLONG.
1217         * cgen-utils.in (disasm_sprintf): Fix va_arg call in !STDC case.
1218         * common.c (sim_print_help_fn): Use PARAMS.
1219         (standard_option_handler): Fix decl for !STDC systems.
1220         * memory.c: #include <stdio.h>
1221         (mem_flat_{install,init,uninstall}): Fix decl for !STDC systems.
1222         (mem_flat_{read,write},mem_flat_option_handler): Likewise.
1223         * profile.c (profile_install): Likewise.
1224         (profile_option_handler): Likewise.
1225
1226 Thu Dec 19 11:06:19 1996  Doug Evans  <dje@seba.cygnus.com>
1227
1228         * semantics.c (*): Don't suffix big unsigned numbers with "U".
1229         Prefix them with 0x instead.
1230
1231         * cgen-sim.h (DI_FN_SUPPORT): Define if ! HAVE_LONGLONG.
1232         (SLADI,SRADI,CONVSIDI,CONVDISI): Delete, moved to simfns.h.
1233         * semantics.c (machi,maclo,macwhi,macwlo,mulhi,mullo): Implement.
1234         (mulwhi,mulwlo,mvtachi,mvtaclo,rac,rach): Implement.
1235         * simfns.h: Add decls for functional DI,UDI,SF,DF,XF,TF support.
1236         Add support for boolean and/or.
1237         * utils.c: Redo naming of DI functional support.
1238         (ANDDI,ORDI,ADDDI,MULDI,GEDI,LEDI,CONVHIDI): New functions.
1239
1240 Tue Dec 17 12:57:48 1996  Doug Evans  <dje@seba.cygnus.com>
1241
1242         * Directory created.