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