* cpu.h: New file.
[platform/upstream/binutils.git] / sim / m32r / ChangeLog
1 Mon Jan 19 14:13:40 1998  Doug Evans  <devans@seba.cygnus.com>
2
3         * arch.c, arch.h, cpuall.h: New files.
4         * arch-defs.h: Deleted.
5         * mloop.in: Renamed from mainloop.in.
6         * Makefile.in: Update.
7         * sem-ops.h: Deleted.
8         * mem-ops.h: Deleted.
9 start-sanitize-cygnus
10         Add cgen support for generating files.
11 end-sanitize-cygnus
12         (arch): Renamed from CPU.
13         * cpu.h: New file.
14         * decode.c: Redone.
15         * decode.h: Redone.
16         * extract.c: Redone.
17         * model.c: Redone.
18         * sem-switch.c: Redone.
19         * sem.c: Renamed from semantics.c, and redone.
20         * m32r-sim.h (PROFILE_COUNT_FILLNOPS): Update.
21         (GETTWI,SETTWI,BRANCH_NEW_PC): Define.
22         * m32r.c (WANT_CPU,WANT_CPU_M32R): Define.
23         (m32r_{fetch,store}_register): New functions.
24         (model_mark_{get,set}_h_gr): Prefix with m32r_.
25         (m32r_model_mark_{busy,unbusy}_reg): Prefix with m32r_.
26         (h_cr_{get,set}): Prefix with m32r_.
27         (do_trap): Fetch state from current_cpu, not current_state.
28         Call sim_engine_halt instead of engine_halt.
29         * sim-if.c (alloc_cpu): New function.
30         (free_state): New function.
31         (sim_open): Call sim_state_alloc, and malloc space for selected cpu
32         type.  Call sim_analyze_program.
33         (sim_create_inferior): Handle selected cpu type when setting PC.
34 start-sanitize-m32rx
35         (sim_resume): Handle m32rx.
36 end-sanitize-m32rx
37         (sim_stop_reason): Deleted.
38         (print_m32r_misc_cpu): Update.
39 start-sanitize-m32rx
40         (sim_{fetch,store}_register): Handle m32rx.
41 end-sanitize-m32rx
42         (sim_{read,write}): Deleted.
43         (sim_engine_illegal_insn): New function.
44         * sim-main.h: Don't include arch-defs.h,sim-core.h,sim-events.h.
45         Include arch.h,cpuall.h.  Include cpu.h,decode.h if m32r.
46 start-sanitize-m32rx
47         Include cpux.h,decodex.h if m32rx.
48 end-sanitize-m32rx
49         (_sim_cpu): Include member appropriate cpu_data member for the cpu.
50         (M32R_MISC_PROFILE): Renamed from M32R_PROFILE.
51         (sim_state): Delete members core,events,halt_jmp_buf.
52         Change `cpu' member to be a pointer to the cpu's struct, rather than
53         record inside the state struct.
54         * tconfig.in (WITH_DEVICES): Define here.
55         (WITH_FAST,WITH_SEM_SWITCH_{FULL,FAST}): Define for the cpu.
56
57 Fri Jan 16 12:16:56 1998  Nick Clifton  <nickc@cygnus.com>
58
59         * arch-defs.h (INSN_NAME): Fix typo.
60
61 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
62
63         * configure: Regenerated to track ../common/aclocal.m4 changes.
64         * config.in: Ditto.
65
66 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
67
68         * m32r-sim.h (MSPR_ADDR): New macro.
69         (m32r_mspr_device): Declare.
70         (struct _device): Define.
71         * m32r.c (m32r_mspr_device): New global.
72         (device_{io_{read,write}_buffer,error}): New functions.
73         * mem-ops.h (SETMEM*): Use sim_core_write_map, not read map.
74         * sim-if.c: Delete redundant inclusion of cpu-sim.h.
75         (sim_open): Attach device to handle MSPR register.
76         * sim-main.h (WITH_DEVICES): Define as 1.
77         Include cpu-sim.h.
78
79         * configure: Regenerated to track ../common/aclocal.m4 changes.
80
81 Wed Dec  3 18:08:44 1997  Doug Evans  <devans@canuck.cygnus.com>
82
83         * configure.in (SIM_AC_OPTION_ENVIRONMENT): Call.
84         * configure: Regenerated.
85
86 Wed Nov 19 12:17:08 1997  Doug Evans  <devans@canuck.cygnus.com>
87
88         * mem-ops.h: Rename SIM_SIG{ACCESS,ALIGN} to SIM_SIG{SEGV,BUS}.
89         * sim-if.c (sim_open): Call sim_config.
90         (sim_stop_reason): Update call to sim_signal_to_host.
91
92 Tue Nov 18 15:33:48 1997  Doug Evans  <devans@canuck.cygnus.com>
93
94         * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
95
96 Fri Oct 31 18:46:46 1997  Andrew Cagney  <cagney@b1.cygnus.com>
97
98         * sim-if.c (sim_open): Delete dead call to sim_core_attach.
99
100 Mon Oct 27 12:43:54 1997  Doug Evans  <devans@canuck.cygnus.com>
101
102         * sem-ops.h (U{DIV,MOD}[BHSD]I): Use unsigned division.
103
104 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
105
106         * configure: Regenerated to track ../common/aclocal.m4 changes.
107
108 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
109
110         * configure: Regenerated to track ../common/aclocal.m4 changes.
111
112 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
113
114         * configure: Regenerated to track ../common/aclocal.m4 changes.
115
116 Tue Sep 23 10:19:51 1997  Andrew Cagney  <cagney@b1.cygnus.com>
117
118         * Makefile.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_SCACHE,
119         SIM_DEFAULT_MODEL): Delete, moved to common.
120         (SIM_EXTRA_CFLAGS): Update.
121         
122 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
123
124         * configure.in (sim_link_links): Configure non-strict memory
125         alignment.
126
127         * configure: Regenerated to track ../common/aclocal.m4 changes.
128
129 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
130
131         * configure: Regenerated to track ../common/aclocal.m4 changes.
132
133 Wed Sep 17 17:44:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
134
135         * sim-if.c (sim_open): Allocate memory under sim-memopt module
136         using sim_do_commandf.
137         (sim_open): Set magic-number at the start.
138         (sim_do_command): Implement.
139
140         * sim-main.h (sim_engine_halt): Map onto engine_halt.
141
142 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
143
144         * configure: Regenerated to track ../common/aclocal.m4 changes.
145
146 Thu Sep  4 17:21:23 1997  Doug Evans  <dje@seba>
147
148         * configure: Regenerated to track ../common/aclocal.m4 changes.
149
150 Fri Sep  5 10:21:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
151
152         * Makefile.in (SIM_OBJS): Add sim-memopt.o module.
153
154 Thu Sep  4 10:30:02 1997  Andrew Cagney  <cagney@b1.cygnus.com>
155
156         * sim-if.c (sim_open): Pass zero modulo arg to sim_core_attach.
157
158 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
159
160         * configure: Regenerated to track ../common/aclocal.m4 changes.
161         * config.in: Ditto.
162
163 Tue Aug 26 10:39:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
164
165         * sim-if.c (sim_kill): Delete.
166         (sim_create_inferior): Add ABFD argument.
167         (sim_load): Move setting of PC from here.
168         (sim_create_inferior): To here.
169         (sim_load): Delete, use sim-hload.c instead.
170
171         * Makefile.in (SIM_OBJS): Add sim-hload.o module.
172
173 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
174
175         * configure: Regenerated to track ../common/aclocal.m4 changes.
176         * config.in: Ditto.
177
178 Mon Aug 25 15:54:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
179
180         * sim-if.c (sim_open): Add ABFD argument.
181
182 Tue Jul 22 10:16:16 1997  Doug Evans  <dje@canuck.cygnus.com>
183
184         * sim-main.h (M32R_DEFAULT_MEM_SIZE): New macro.
185         * sim-if.c (sim_open): Use it.
186
187 Wed Jun  4 12:48:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
188
189         * sim-main.h (WITH_ENGINE): Disable the common engine for now.
190
191 Tue May 27 14:15:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>
192
193         * sim-if.c (sim_read): Pass NULL cpu to sim_core_read_buffer.
194         (sim_write): Ditto for write.
195
196         * m32r.c (do_trap): Ditto for read/write.
197
198 Tue May 20 10:18:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
199
200         * sim-if.c (sim_open): Add callback argument.
201         (sim_set_callbacks, sim_callback): Delete.
202         (sim_load): Set STATE_LOADED_P.
203
204 Mon May 19 12:55:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
205
206         * Makefile.in (SIM_OBJS): Link in sim-abort.o as a stub for
207         sim_engine_abort.
208
209 Mon May  5 12:45:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
210
211         * sim-if.c (sim_open): Update to reflect changes to core in
212         ../common/.
213         * mem-ops.h (GETMEMQI, GETMEMHI, GETMEMSI, GETMEMDI, GETMEMUQI,
214         GETMEMUHI, GETMEMUSI, GETMEMUDI, SETMEMQI, SETMEMHI, SETMEMSI,
215         SETMEMDI, SETMEMUQI, SETMEMUHI, SETMEMUSI, SETMEMUDI): Ditto.
216
217 Sat May  3 08:38:55 1997  Doug Evans  <dje@seba.cygnus.com>
218
219         * decode.c (decode): Add computed goto support.
220
221 Fri May  2 16:30:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
222
223         * mem-ops.h: Stub additional core read/write arguments.
224
225         * sim-main.h: Declare sim_cia - type SI.
226         (struct _sim_cpu): Move base type to end per common.
227         (struct _sim_state): Ditto.
228
229 Thu May  1 11:15:34 1997  Doug Evans  <dje@canuck.cygnus.com>
230
231         Merge from branch into devo.  CGEN generic files moved to common
232         directory.  K&R C support is no longer provided.
233
234 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
235
236         * configure: Regenerated to track ../common/aclocal.m4 changes.
237
238 Sat Apr 12 12:57:33 1997  Felix Lee  <flee@yin.cygnus.com>
239
240         * Makefile.in, seman-cache.c: new file, for wingdb build.
241         * sim-alloca.h: fixed for wingdb.
242         
243 Mon Apr  7 13:33:29 1997  Doug Evans  <dje@seba.cygnus.com>
244
245         * decode.c (*): m32r_cgen_insn_table renamed to ..._entries.
246         * mainloop.in: Use CGEN_INSN_INDEX instead of CGEN_INSN_TYPE.
247         * simdefs.h (INSN_NAME): m32r_cgen_insn_table renamed to ..._entries.
248
249 Fri Apr  4 19:23:12 1997  Doug Evans  <dje@canuck.cygnus.com>
250
251         * cgen-utils.in (ex_illegal): Fill in abuf->length, abuf->addr.
252         (exc_illegal): Likewise.
253         * decode.c (decode_vars): Add decode_illegal.
254         * genmloop.sh: #include "cpu-opc.h".
255         * sem-switch.c (case_INSN_ILLEGAL): Declare.
256         (labels): Add case_INSN_ILLEGAL.
257         (SWITCH): Add INSN_ILLEGAL case.
258
259 Wed Mar 26 12:34:00 1997  Doug Evans  <dje@canuck.cygnus.com>
260
261         * model.c (model_module): Use 0 not NULL.
262
263         * genmloop.sh (sim_main_loop): Handle k&r c.
264
265         * sem-switch.c: Regenerate to get k&r c support.
266         * semantics.c: Likewise.
267
268         * m32r.c (ADD_{OV,CA}_SI,SUB_{OV,CA}_SI): Renamed to {ADD,SUB}[OC]FSI.
269         (ADDCSI,SUBCSI): New functions.
270         * sem-switch.c (addv,addv3,addx,subv,subx): Fix carry bit handling.
271         * semantics.c (addv,addv3,addx,subv,subx): Fix carry bit handling.
272
273         * simcache.c (simcache_{install,init,uninstall}): Use
274         DECLARE_MODULE_INSTALL_HANDLER.
275         (simcache_option_handler): Use DECLARE_OPTION_HANDLER.
276
277         * utils.c: #include "semops.h".
278
279 Tue Mar 11 14:30:26 1997  Doug Evans  <dje@seba.cygnus.com>
280
281         * profile.c (profile_print_simcache): Fix thinko in printf text.
282
283         * simdefs.h (struct argbuf): Add member to fmt_20 so it's not empty.
284
285 Mon Mar 10 11:06:29 1997  Doug Evans  <dje@seba.cygnus.com>
286
287         * m32r.c (h_cr_get): Rewrite.
288         (h_cr_set): Rewrite.
289         * sem-switch.c (rte): bcarry renamed to bcond.
290         * semantics.c (rte): Likewise.
291         * simdefs.h (CPU_STATE): Likewise.
292
293         * config.in (HAVE_SYS_TIME_H): Add.
294         * configure.in: Check for sys/time.h.
295         * configure: Regenerated.
296         * utils.c: Include sys/time.h if present.
297
298         * common.c (sim_parse_args): Account for NULL terminating entry
299         in long_options table.
300
301         * genmloop.sh (RUN_FAST_P): Don't run fast if tracing.
302         Always use cache if configured in.
303         * mainloop.in (do_extract_insn{16,32}): New functions.
304         (normal,fast): Call them.  Handle starting in left slot.
305         * simcache.c (simcache_option_handler): Disallow -c0.
306         * sem-switch.c (TRACE_RESULT): Redefine so no tracing.
307
308         * profile.c (profile_print_simcache): Fix percentage calc.
309
310         * Makefile.in (INCLUDE_DEPS): Delete simcommon.h.
311
312 Sun Mar  9 20:42:17 1997  Doug Evans  <dje@seba.cygnus.com>
313
314         * Makefile.in (COMMON_{PRE,POST}_CONFIG_FRAG): Add delimiters for.
315         (M32R_INCLUDE_DEPS): Use cpu-sim.h instead of m32r-sim.h.
316         Add mod-list.h.
317         (mrun.o): Don't depend on M32R_INCLUDE_DEPS.
318         (sim-if.o,m32r.o,utils.o): Likewise.
319         (common.o): Don't explicitly depend on mod-list.h.
320         (mainloop.c): Pass CPU to genmloop.sh.
321         (stamp-modules): Depend on configure.
322         (decode.o): Depend on decode,h, memops.h, semops.h, cpu-opc.h.
323         (extract.o): Depend on decode.h, memops.h, semops.h.
324         (semantics.o,seman-cache.o): Likewise.
325         (model.o,ops.o): Depend on memops.h.
326         (extr-cache.o): Disable building for the moment.
327
328         * simcommon.h: Delete, move contents into cgen-sim.h.
329         * cgen-sim.h: Don't include ansidecl.h,bfd.h,simfns.h.
330         (UINT,CGEN_CAT3): Define.
331         ({extract,semantic}_fn_t): Renamed to {EXTRACT,SEMANTIC}_FN.
332         (decode_t): Renamed to DECODE.
333
334         * simfns.h: Delete, contents moved to memops.h,semops.h.
335         * memops.h: New file.
336         * semops.h: New file.
337         * decode.h: Renamed from semantics.h.
338
339         * sim-argv.h: New file.
340         * Makefile.in (memory.o,trace.o,profile.o,simcache.o,common): Add
341         dependency of sim-argv.h.
342
343         * sim-alloca.h: New file.
344         * common.c: Include it.
345         * Makefile.in (common.o): Add dependency.
346
347         * config.in (HAVE_TIME_H,HAVE_SYS_RESOURCE_H): Add.
348         (HAVE_GETRUSAGE,HAVE_TIME): Add.
349         * configure.in: sinclude ../common/aclocal.m4.
350         Check for headers time.h, sys/resource.h.
351         Check for functions time, getrusage.
352         (sim_link_{files,links}): Add link cpu-opc.h.
353         (sim_profile): Add simcache.
354         (SIM_AC_PROFILE): Add simcache, profile.o.
355         (simcache module): Delete extr-cache.o for now.
356         (--enable-sim-cache): Allow specification of default cache size.
357         * configure: Regenerated.
358
359         * decode.c: #include cgen-sim.h,memops.h,semops.h,decode.h,
360         cpu-sim.h,cpu-opc.h.  Don't include m32r-sim.h.
361         Regenerate.
362
363         * extract.c: #include cgen-sim.h,decode.h,cpu-sim.h.
364         Don't include m32r-sim.h.
365         (*): Define/Undef FLD macro.  Use it to reference ARGBUF.
366         Simplify profiling test with PROFILE_MODEL_P.
367         (mvfc,mvtc): Fix access of control registers.
368         * semantic.c: #include cgen-sim.h,memops.h,semops.h,decode.h,cpu-sim.h.
369         Don't include m32r-sim.h.
370         (*): Define/Undef FLD macro.  Use it to reference ARGBUF.
371         Simplify profiling test with PROFILE_MODEL_P.
372         (mvfc,mvtc): Fix access of control registers.
373
374         * sem-switch.c: New file, for GCC computed goto support.
375
376         * genmloop.sh: Add #include's of bfd.h,callback.h,cgen-sim.h,
377         memops.h,semops.h,trace.h,cpu-sim.h.
378         (RUN_FAST_P): Change default to run fast if cache size > 0
379         and not profiling.
380         (sim_main_loop): Record execution time.
381         Record instruction count even in fast mode.
382         (init): Allow cpu to provide init code in mainloop.in.
383         (FAST): Define as 0 or 1 depending on fast mode.
384         * mainloop.in (normal): Combine with fast case.
385         Add support for GCC computed gotos.  Count simcache hits/misses.
386         (init): Initialize "switch" labels if GNUC.
387
388         * cgen-utils.in: Don't include opcode/cgen.h.
389         Include cgen-sim.h, cpu-opc.h.
390         * common.c: Don't include simcommon.h,mod-list.h.  Include cgen-sim.h.
391         * m32r-sim.h: Don't include mod-list.h
392         (RUN_FAST_P): Delete.
393         * m32r.c: Don't include profile.h.  #include ansidecl.h,cgen-sim.h,
394         semops.h,memory.h,trace.h
395         (h_cr_get,h_cr_set): New functions.
396         * memory.c: #include cgen-sim.h,callback.h.
397         * ops.c: Don't include profile.h,m32r-sim.h.
398         Include cgen-sim.h,memops.h,cpu-sim.h.
399         (MEMOPS_DEFINE_INLINE): Renamed from SIMFNS_DEFINE_INLINE.
400         * trace.c: Include cgen-sim.h,cpu-opc.h.
401         * trace.h (trace_insn_{init,fini}): Declare.
402
403         * model.c: Don't include signal.h,stdlib.h,m32r-sim.h.
404         Include cgen-sim.h,cpu-sim.h,cpu-opc.h.
405         Regenerate to get new insn aliases.
406
407         * mrun.c: #include "ansidecl.h".
408         (STATE): Use struct sim_state instead.
409
410         * profile.c: Surround #include <stdlib.h> with HAVE_STDLIB_H.
411         Don't include simcommon.h.  Include cgen-sim.h,cpu-opc.h.
412         (PROFILE_{READ,WRITE}_MASK): Replace with PROFILE_MEMORY_MASK.
413         (profile_print_simcache): New function.
414         (profile_print): Call it.  Print simulator speed stats.
415         * profile.h (PROFILE_{READ,WRITE}_MASK): Replace with
416         PROFILE_MEMORY_MASK.
417         (MODULE_PROFILE_SIMCACHE_P): Define.
418         (PROFILE_SIMCACHE_MASK): Define.
419         (PROFILE_COUNT): New members total_insn_count,exec_time.
420         New members simcache_hits,simcache_misses.
421         (PROFILE_SIMCACHE_{HITS,MISSES}): Define.
422         (PROFILE_MODEL_P): New macro.
423         (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): New macros.
424
425         * sim-if.c: Surround #include <stdlib.h> with HAVE_STDLIB_H.
426         Don't include simcommon.h,m32r-sim.h.  Include cgen-sim.h,cpu-sim.h.
427         (sim_resume): Use USING_SIMCACHE_P instead of RUN_FAST_P.
428         (sim_info): Pass verbose to profile_print.
429
430         * simcache.c: Include cgen-sim.h,callback.h.
431         (USING_SIMCACHE_P): Replace with SIMCACHE_P.
432         (simcache_option_handler): Ensure cache size at least 2.
433         Allow config time specification of default cache size.
434         * simcache.h (struct simcache): Support GCC computed gotos.
435         (SIMCACHE_DEFAULT_CACHE_SIZE): USe CONFIG_SIM_CACHE_SIZE if defined.
436         (USING_SIMCACHE_P): New macro.
437
438         * simdefs.h: Don't include m32r-opc.h.
439         (CGEN_MAX_SIM_INSNS): Define.
440         (CPU_STATE): Regenerate.
441         (ARGBUF): Regenerate.
442         (extract,semantic handler decls): Delete, moved to decode.h.
443
444         * tconfig.in: Don't include cgen-sim.h,m32r-sim.h.
445         (USE_SEM_SWITCH): Define.
446
447         * utils.c: Include bfd.h,time.h,sys/resource.h.
448         (sim_time_get,sim_time_elapsed): New functions.
449         * cgen-sim.h (SIM_TIME,sim_time_get,sim_time_elapsed): Declare.
450
451 Fri Jan 31 20:25:06 1997  Doug Evans  <dje@canuck.cygnus.com>
452
453         * configure.in (AC_CHECK_HEADERS): Handle i386-windows.
454         * configure: Regenerated.
455         * model.c: #include <stdlib.h>.
456         * simcache.c: #include "libiberty.h".
457         * simcommon.h (alloca): Handle i386-windows.
458
459         * common.c: #include libiberty.h.
460         (sim_signal_to_host): Return 5 if wingdb.
461
462 Mon Jan 27 15:22:49 1997  Doug Evans  <dje@seba.cygnus.com>
463
464         * configure.in (sim_cache): Enabled by default now, pass default
465         cache size to --enable-sim-cache.
466         * simcache.c (simcache_option_handler): Allow -c 0.
467
468         * simdefs.h,simfns.h: Regenerate
469         * decode.c,extract.c,model.c,ops.c,semantics.c: Regenerate.
470
471 Tue Jan 21 16:21:01 1997  Doug Evans  <dje@seba.cygnus.com>
472
473         Add model profiling support.
474         * configure.in: Handle --enable-sim-model.
475         (sim_profile): Add model.
476         * Makefile.in (model.o): Add rule.
477         * cgen-sim.h (UNIT,INSN_TIMING,MACH,MODEL): New types.
478         * extract.c (*): Add model profiling support.
479         * m32r.c (model_mark_{get,set}_h_gr): New functions.
480         (model_mark_{busy,unbusy}_reg): New functions.
481         * profile.c (profile_option_handler): Recognize --profile model.
482         (profile_print_model): New function.
483         (profile_print): Call it.
484         * profile.h (MODULE_profile_model,MODULE_PROFILE_MODEL_P): Define.
485         (PROFILE_MODEL_MASK,PROFILE_LABEL_WIDTH): Define.
486         (PROFILE_COUNT): New members cycle_count,cti_stall_count,
487         load_stall_count,taken_count,untaken_count.
488         * semantics.c (*): Add model profiling support.
489         * simcommon.h (struct sim_state): New members mach,model.
490         * simdefs.h (CPU_PROFILE,MODEL_TYPE,UNIT_TYPE): New type.
491         (MAX_MODELS,MAX_UNITS): Define.
492         * tconfig.in (STATE_EXTRA_MEMBERS): Add cpu_profile.
493
494         * Makefile.in (INCLUDE_DEPS): Add $(SIM_MODULES_HDRS).
495         (stamp-modules): Depend on genmodlist.sh.
496         * common.c (standard_options): Add --max-insns.
497         (copy_argv): New function.
498         * tconfig.in (SIM_HAVE_MAX_INSNS): Define.
499         * genmloop.sh: Allow mainloop.in to contain support code.
500         * mainloop.in: Move do_insn16,do_insn32 here.
501         * m32r.c (do_trap): Handle SYS_argvlen,SYS_argv,SYS_read.
502         * sim-if.c (sim_open): Don't set max insn count.
503         (sim_create_inferior): Save argv,envp.
504         * simcommon.h (struct sim_state): New members argv,envp.
505         * simdefs.h ([GS]ETTWI,[GS]ETTUWI,[GS]ETTAI): Define.
506         ([GS]ETMEMWI,[GS]ETMEMUWI,[GS]ETMEMAI): Define.
507         (ARGBUF): New members h_gr_get, h_gr_set.
508         * trace.c (trace_insn_init,trace_insn_fini): New functions.
509         (trace_printf): Print to buffer, output later by trace_insn_fini.
510         * trace.h (TRACE_INSN_{INIT,FINI}): Define.
511
512 Thu Dec 19 16:01:59 1996  Doug Evans  <dje@canuck.cygnus.com>
513
514         * configure.in (AC_FUNC_ALLOCA): Call.
515         * configure: Regenerate.
516         * config.h (HAVE_ALLOCA_H): Add.
517         * simcommon.h: Add alloca support.
518         (DECLARE_MODULE_INSTALL_HANDLER): Define.
519         (DECLARE_OPTION_HANDLER): Define.
520         (MEM_FN): Declare using PARAMS.
521         (DECLARE_MEM_FN): Define.
522         * trace.c (trace_result): Tweak for !STDC.
523         * cgen-sim.h (UDI_FN_SUPPORT): Define if ! HAVE_LONGLONG.
524         * cgen-utils.in (disasm_sprintf): Fix va_arg call in !STDC case.
525         * common.c (sim_print_help_fn): Use PARAMS.
526         (standard_option_handler): Fix decl for !STDC systems.
527         * memory.c: #include <stdio.h>
528         (mem_flat_{install,init,uninstall}): Fix decl for !STDC systems.
529         (mem_flat_{read,write},mem_flat_option_handler): Likewise.
530         * profile.c (profile_install): Likewise.
531         (profile_option_handler): Likewise.
532
533 Thu Dec 19 11:06:19 1996  Doug Evans  <dje@seba.cygnus.com>
534
535         * semantics.c (*): Don't suffix big unsigned numbers with "U".
536         Prefix them with 0x instead.
537
538         * cgen-sim.h (DI_FN_SUPPORT): Define if ! HAVE_LONGLONG.
539         (SLADI,SRADI,CONVSIDI,CONVDISI): Delete, moved to simfns.h.
540         * semantics.c (machi,maclo,macwhi,macwlo,mulhi,mullo): Implement.
541         (mulwhi,mulwlo,mvtachi,mvtaclo,rac,rach): Implement.
542         * simfns.h: Add decls for functional DI,UDI,SF,DF,XF,TF support.
543         Add support for boolean and/or.
544         * utils.c: Redo naming of DI functional support.
545         (ANDDI,ORDI,ADDDI,MULDI,GEDI,LEDI,CONVHIDI): New functions.
546
547 Tue Dec 17 12:57:48 1996  Doug Evans  <dje@seba.cygnus.com>
548
549         * Directory created.