* Make-common.in (CGEN_FLAGS_TO_PASS): New variable.
[external/binutils.git] / sim / common / ChangeLog
1 Wed Jun 10 16:02:29 1998  Doug Evans  <devans@seba.cygnus.com>
2
3         * Make-common.in (CGEN_FLAGS_TO_PASS): New variable.
4         * cgen-ops.h (ANDIF): New macro.
5         (ANDIF[BQHSD]I): Delete.
6
7 Thu Jun  4 13:53:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>
8
9         * hw-events.c (create_hw_event, delete_hw_event): Delete.
10         (hw_event_queue_schedule, hw_event_queue_deschedule,
11         bounce_hw_event): Fix hw-event memory corruptions found by Joyce
12         Janczyn.
13
14         * hw-alloc.h (HW_NZALLOC): Define.
15
16         * Make-common.in (test-hw-events): Add target for testing the
17         hw-event code.
18
19 Mon May 25 21:11:26 1998  Andrew Cagney  <cagney@b1.cygnus.com>
20
21         * Make-common.in (SIM_COMMON_HW_OBJS): Add hw-handles.o and
22         hw-instances.o.
23         hw-handles.c, hw-instances.c, hw-handles.h, hw-instances.h: New
24         files.
25         * hw-main.h: Include hw-handles.h, hw-instances.h.
26         * hw-base.h ({create,delete}_hw_{handles,instances}_data): Declare
27         * hw-base.c (hw_create, hw_delete): Call same.
28         
29 Mon May 25 18:55:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>
30
31         * dv-core.c: Include hw-main.h and sim-main.h.
32         * dv-pal.c: Include hw-main.h and sim-io.h.
33         * dv-glue.c: Include hw-main.h.
34
35         * hw-main.h: New file.  Move list of includes to here.
36         * hw-base.h: From here.
37         * Make-common.in (hw_base_headers): Rename to hw_main_headers.
38         (hw-*.o, dv-*.o): Update.
39         * hw-tree.c, hw-base.c, hw-properties.c, hw-ports.c, hw-device.c,
40         hw-events.c, hw-alloc.c, sim-hw.c: Include hw-main.h instead of
41         sim-main.h.
42
43         * hw-base.h (do_hw_attach_regs, do_hw_poll_read_method,
44         do_hw_poll_read): Move declarations from here.
45         * hw-main.h: To here.
46         
47         * hw-base.h (struct hw_device_descriptor, hw_finish_callback):
48         Move from here.
49         * hw-main.h (struct hw_descriptor, hw_finish_method): To here,
50         rename.
51         * Make-common.in (hw-config.h): Update
52         * hw-base.c, dv-pal.c, dv-glue.c: Update
53
54         * dv-glue.c, hw-device.h, hw-base.h, hw-ports.c: Rename
55         `*_callback' to `*_method.
56
57 Mon May 25 18:41:18 1998  Andrew Cagney  <cagney@b1.cygnus.com>
58
59         * hw-base.h (set_*): Move set method macros from here.
60         * hw-device.h: To here.
61
62 Mon May 25 18:21:38 1998  Andrew Cagney  <cagney@b1.cygnus.com>
63
64         * hw-base.h (create_hw_property_data, delete_hw_property_data):
65         Declare.
66
67         * hw-base.c (hw_create, hw_delete): Call
68         * hw-properties.c (create_hw_property_data,
69         delete_hw_property_data): Define.
70         
71 Mon May 25 17:40:46 1998  Andrew Cagney  <cagney@b1.cygnus.com>
72
73         * hw-device.c, hw-properties.c: Include hw-base.h
74
75         * hw-alloc.h, hw-alloc.c: New files. Move alloc code to here.
76         * hw-device.c: From here.
77         * hw-base.h: Include "hw-events.h".
78
79         * hw-base.h (create_hw_alloc_data, delete_hw_alloc_data): Declare.
80         * hw-base.c (hw_create, hw_delete): Call.
81         * hw-alloc.c (create_hw_alloc_data, delete_hw_alloc_data): Define.
82
83         * Make-common.in (SIM_NEW_COMMON_OBJS): Add hw-alloc.o.
84         (hw-alloc.o): New target.
85         
86 Mon May 25 17:14:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>
87
88         * hw-events.h, hw-events.c: New files.  Move event code to here.
89         * sim-hw.c: From here.
90         * hw-base.h: Include "hw-events.h".
91         * Make-common.in (SIM_NEW_COMMON_OBJS): Add hw-events.o.
92         (hw-events.o): New target.
93
94         * hw-device.h (struct hw): Add struct hw_event_data events_of_hw.
95         * hw-events.h (struct hw_event): Replace typedef hw_event.
96         
97         * hw-base.h (create_hw_event_data, delete_hw_event_data): Declare.
98         * hw-base.c (hw_create, hw_delete): Call.
99         * hw-events.c (create_hw_event_data, delete_hw_event_data): Define.
100
101         * dv-pal.c: Update.
102
103 Mon May 25 16:55:16 1998  Andrew Cagney  <cagney@b1.cygnus.com>
104
105         * hw-base.c (panic_hw_port_event, empty_hw_ports): Move from here.
106         * hw-ports.c: To here.
107         
108         * hw-base.h, hw-ports.c (create_hw_port_data,
109         delete_hw_port_data): New functions.
110         * hw-base.c (hw_delete, hw_create): Call same.
111         
112         * hw-base.h (set_hw_ports, set_hw_port_event): Move set functions
113         from here.
114         * hw-ports.h: To here.
115
116 Mon May 25 16:42:48 1998  Andrew Cagney  <cagney@b1.cygnus.com>
117
118         * hw-device.c (hw_ioctl), hw-device.h (hw_ioctl_callback): Drop
119         PROCESSOR and CIA arguments.
120
121 Fri May 22 12:16:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>
122
123         * aclocal.m4 (SIM_AC_OPTION_HW): Add enable / disable argument.
124         Move common object files from here.
125         * Make-common.in (SIM_COMMON_HW_OBJS): To here.
126         
127 Thu May 21 17:57:16 1998  Andrew Cagney  <cagney@b1.cygnus.com>
128
129         * sim-hw.c: Include ctype.h.
130         (do_hw_poll_read): Do not assume EAGAIN.
131
132 Wed May 20 04:37:57 1998  Doug Evans  <devans@seba.cygnus.com>
133
134         * cgen-trace.c (first_insn_p): New static local.
135         (trace_insn_init): Set it.
136         (trace_insn_fini): Use TRACE_PREFIX.
137         (trace_insn): Rewrite to use trace_prefix.
138         * sim-trace.c (trace_prefix): Don't print filename arg if NULL.
139         Adjust width accordingly.
140
141         * sim-profile.h (PROFILE_DATA): New member profile_any_p.
142         (PROFILE_ANY_P,PROFILE_INSN_P,PROFILE_MEMORY): New macros.
143         (PROFILE_SCACHE_P,PROFILE_PC_P,PROFILE_CORE_P): New macros.
144         (PROFILE_COUNT_INSN,PROFILE_COUNT_READ,PROFILE_COUNT_WRITE): Simplify.
145         (PROFILE_COUNT_CORE): Simplify.
146         * sim-profile.c (profile_option_handler): Compute profile_any_p.
147
148 Tue May 19 23:55:30 1998  Doug Evans  <devans@seba.cygnus.com>
149
150         * cgen-ops.h (ADDCFSI): Fix typo.
151
152 Sat May 16 12:44:52 1998  Doug Evans  <devans@seba.cygnus.com>
153
154         * cgen-sim.h (CGEN_CPU): New members idesc_{read,sem}_init_p.
155         * genmloop.sh: Use them rather than static locals.
156
157         * sim-engine.c (sim_engine_set_run_state): New function.
158         * sim-engine.h (sim_engine_set_run_state): Declare.
159         * genmloop.sh (pending_reason,pending_sigrc): New static locals.
160         (@cpu@_engine_stop): New args reason,sigrc.  All callers updated.
161         (engine_resume): Reorganize.  Allow synchronous exit from main loop.
162
163 Fri May 15 16:06:05 1998  Doug Evans  <devans@seba.cygnus.com>
164
165         * cgen-trace.c (trace_insn_init): New arg first_p. 
166         All callers updated.
167         (trace_insn_fini): New arg last_p.  All callers updated.
168         * cgen-trace.h (trace_insn_init,trace_insn_fini): Update.
169         (TRACE_INSN_INIT,TRACE_INSN_FINI): Update.
170         * genmloop.sh (engine_resume): Update.
171
172 Fri May 15 15:59:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
173
174         * Make-common.in (install-common): Run ranlib on installed copy of
175         libsim.a.
176
177 Fri May 15 15:03:00 1998  Joyce Janczyn  <janczyn@cygnus.com>
178
179         * Make-common.in (install-common): Rename and install libsim.a.
180
181 Tue May 12 15:23:57 1998  Andrew Cagney  <cagney@b1.cygnus.com>
182
183         * sim-io.c (unistd.h): Include.
184
185 Wed May  6 16:04:18 1998  Doug Evans  <devans@seba.cygnus.com>
186
187         * Make-common (sim_main_headers): Sort.
188         (cgen-*.o): Add cgen-sim.h dependency.
189
190         * cgen-scache.c (scache_init): Only allocate space if scache element
191         size is non-zero.
192         (scache_flush,scache_print_profile): Check if scache in use first.
193
194         * cgen-sim.h (IDESC): Provide forward declaration.
195         (DECODE): Delete.
196         (CGEN_CPU): Always define scache member.  New members idesc,opcode.
197         (cgen_cpu_max_extra_bytes): Declare.
198         * cgen-utils.c (cgen_cpu_max_extra_bytes): New function.
199
200         * cgen.sh: s/@arch@/${arch}/ for cpu files.
201
202         * sim-cpu.h: New file.  sim_cpu_base moved here.
203         Move sim_cpu_lookup decl here.
204         * sim-base.h: #include "sim-cpu.h".
205         * sim-cpu.c: New file.
206         * Make-common (sim_main_headers): Add sim-cpu.h.
207         (sim-cpu.o): Add rule for.
208
209         * sim-model.c (set_model): Delete.
210         (sim_model_set,model_set): New functions.
211         (sim_model_install): Renamed from model_install.
212         Don't set default model here.
213         (model_option_handler): Rewrite --model processing.
214         (sim_model_lookup,sim_mach_lookup): New functions.
215         * sim-model.h (MAX_MODELS,MAX_INSNS): Delete.
216         (insn_timing): Delete.
217         (INSN_TIMING): New member `num'.
218         (IMP_PROPERTIES): Always define scache_elm_size member.
219         (MACH): New member init_cpu.
220         (sim_machs): Renamed from machs.
221         (sim_model_install): Renamed from model_install.
222         (sim_model_set,sim_model_lookup,sim_mach_lookup): Declare.
223         * sim-module.c (modules): Update.
224
225         * sim-profile.c (profile_print_insn): Add cpu arg to INSN_NAME macro.
226
227         * sim-io.c: #include <errno.h>.
228
229 Wed May  6 12:39:15 1998  Andrew Cagney  <cagney@b1.cygnus.com>
230
231         * dv-pal.c (struct hw_pal_device): Add reader.
232         (hw_pal_finish): Initialize reader.
233         (scan_hw_pal): Use reader.
234
235         * hw-base.h, sim-hw.c (do_hw_poll_read): New function.
236         (HW_IO_EOF, HW_IO_NOT_READY): Define.
237         * dv-pal.c: Use.
238
239         * sim-io.h, sim-io.c (sim_io_poll_read): New function.  Copy from
240         ../ppc/main.c sim_io_read_stdin.
241
242 Fri May  1 12:11:02 1998  Andrew Cagney  <cagney@b1.cygnus.com>
243
244         * hw-tree.h (hw_tree_print): Paramaterize with print and file
245         arguments.
246         * hw-tree.c: Update.
247         
248         * hw-base.h (hw_port_event_callback): Delete CPU/CIA args.
249         * hw-device.h (hw_io_read_buffer, hw_io_write_buffer): Delete
250         CPU/CIA args.
251         * hw-ports.h (hw_port_event): Ditto.
252         * hw-ports.c (hw_port_event): Update.
253         * hw-base.c (panic_hw_io_read_buffer, panic_hw_io_write_buffer):
254         Update.
255         * dv-pal.c (hw_pal_io_read_buffer, hw_pal_io_write_buffer):
256         Update.
257         (hw_pal_io_write_buffer): Call hw_halt not sim_engine_halt.
258         (do_counter_event): Update.
259         * dv-glue.c (hw_glue_io_read_buffer): Update.
260         (hw_glue_port_event): Update.
261
262         * hw-device.h (SIM_DESC): Replace with struct sim_state.
263         * hw-base.h (hw_create): Ditto.
264         * hw-base.c (hw_create): Ditto.
265         
266         * hw-device.c (hw_abort, hw_trace, hw_hw_event_queue_schedule,
267         hw_event_queue_deschedule, hw_event_queue_time): Delete, moved
268         from here to.
269         * sim-hw.c: Here.
270         * hw-device.h (hw_system_cpu): Declare.
271         * sim-hw.c (hw_system_cpu): New function.
272
273         * sim-core.c (sim_core_map_attach, sim_core_attach): Call
274         sim_hw_abort not hw_abort.
275         (sim-hw.h): Include.
276         (sim_core_read_buffer, sim_core_write_buffer): Call
277         sim_hw_io_read_buffer and sim_hw_io_write_buffer. Do not pass CPU
278         argument.
279         (sim_core_set_xor): Do not pass CPU when aborting.
280
281         * sim-n-core.h (sim_core_read_aligned_N,
282         sim_core_write_aligned_N): Call sim_hw_abort not hw_abort.
283         (sim_core_read_aligned_N, sim_core_write_aligned_N): Call
284         sim_cpu_hw_io_read_buffer and sim_cpu_hw_io_write_buffer. Does not
285         return length.
286
287         * sim-hw.h: Declare sim_hw_io_{read,write}_buffer. Declare
288         sim_hw_print.
289         * sim-hw.c (sim_hw_io_read_buffer, sim_hw_io_write_buffer,
290         sim_cpu_hw_io_read_buffer, sim_cpu_hw_io_write_buffer): New
291         functions.
292         (sim_hw_print): New function.
293
294         * sim-engine.h (sim_engine_vabort): Declare.
295         * sim-engine.c (sim_engine_vabort): New function.
296
297 Wed Apr 29 23:58:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
298
299         * sim-trace.c (print_data): For floating-point numbers trace raw
300         hex value.
301         (trace_result_fp2): New function.
302         * sim-trace.h (trace_result_fp2): New declaration.
303         (TRACE_FP_RESULT2): New macro.
304
305 Tue Apr 28 18:28:58 1998  Geoffrey Noer  <noer@cygnus.com>
306
307         * common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
308         AM_CYGWIN32 and AM_EXEEXT.
309         * common/Make-common.in: set EXEEXT, add missing EXEEXTs
310         to run and install-common rules.
311         * common/configure: regenerate
312
313 Sat Apr 25 17:45:01 1998  Andrew Cagney  <cagney@b1.cygnus.com>
314
315         * sim-types.h (cell_word): New type.
316         (natural_cell): Delete type.
317
318 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
319
320         * configure: Regenerated to track ../common/aclocal.m4 changes.
321         * config.in: Ditto.
322
323 Sun Apr 26 15:25:07 1998  Tom Tromey  <tromey@cygnus.com>
324
325         * acconfig.h (NEED_DECLARATION_PRINTF): Removed.
326
327 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
328
329         * configure: Regenerated to track ../common/aclocal.m4 changes.
330         * config.in: Ditto.
331
332 Fri Apr 24 11:38:08 1998  Tom Tromey  <tromey@cygnus.com>
333
334         * acconfig.h: New file.
335         * Make-common.in (top_builddir): New macro.
336         (INTL_LIB): Removed.
337         (INTLLIBS): New macro.
338         (INTLDEPS): Likewise.
339         (LIBDEPS): Use INTLDEPS.
340         (EXTRA_LIBS): Use INTLLIBS.
341         * aclocal.m4 (SIM_AC_COMMON): Call CY_GNU_GETTEXT.
342         (CY_WITH_NLS, CY_GNU_GETTEXT, AM_PATH_PROG_WITH_TEST,
343         AM_LC_MESSAGES): New macros from GNU gettext.
344
345 Fri Apr 24 19:57:59 1998  Andrew Cagney  <cagney@b1.cygnus.com>
346
347         * sim-config.h: Discard leading _ from macros.
348         * sim-types.h: Ditto.
349
350 Wed Apr 22 14:14:19 1998  Michael Meissner  <meissner@cygnus.com>
351
352         * Make-common.in (CSEARCH): Add -I to intl directories.
353         (INTL_LIB): Point to libintl.a.
354         (LIBDEPS): Add $(INTL_LIB).
355         (EXTRA_LIBS): Ditto.
356
357 Tue Apr 21 12:44:27 1998  Doug Evans  <devans@canuck.cygnus.com>
358
359         * cgen-types.h (GETHIDI,MAKEDI): Tweak.
360
361         * cgen-ops.h (ADDCFSI): Fix.
362         (SUBCFSI): Tweak.
363
364 Tue Apr 21 13:18:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
365
366         * sim-types.h (signed_address, unsigned_address): Define.
367
368 Mon Apr 20 21:47:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>
369
370         * sim-fpu.c (sim_fpu_2d): Don't return an SNaN, convert it into a
371         QNaN.
372
373 Thu Apr 16 10:30:14 1998  Andrew Cagney  <cagney@b1.cygnus.com>
374
375         * sim-fpu.c, sim-fpu.h (sim_fpu_fractionto, sim_fpu_tofraction):
376         New functions, pack / unpack sim_fpu struct using raw values.
377         (sim_fpu_is): Differentiate between negative and positive
378         infinity.
379
380 Tue Apr 14 18:49:31 1998  Andrew Cagney  <cagney@b1.cygnus.com>
381
382         * sim-bits.h (EXTEND4): Define.
383         (EXTEND4, EXTEND15, EXTEND11): Ditto.
384         
385 Tue Apr 14 16:31:35 1998  John Metzler  <jmetzler@cygnus.com>
386
387         * sim-memopt.c (parse_addr): Sunos 4.5 does not hane strtol
388         declared so we need this cast to prevent long long addresses
389         from being misconfigures. Results in access to unmapped memory.
390
391 Tue Apr 14 13:19:14 1998  Doug Evans  <devans@canuck.cygnus.com>
392
393         * Make-common.in (RUNTESTFLAGS): Define.
394         (check): Pass RUNTESTFLAGS to recursive make.
395
396 Tue Apr 14 15:09:19 1998  Andrew Cagney  <cagney@b1.cygnus.com>
397
398         * sim-info.c (sim_info): Be verbose when either VERBOSE or
399         STATE_VERBOSE_P.
400
401 Sat Apr  4 23:24:17 1998  Andrew Cagney  <cagney@b1.cygnus.com>
402
403         * aclocal.m4 (sim-inline): By default, disable sim-inline when
404         cross compiling.
405
406 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
407
408         * aclocal.m4 (sim-cflags): Add -fomit-frame-pointer to defaults.
409         (sim-inline): Update to match sim-inline.[hc]
410         * configure: Regenerated to track ../common/aclocal.m4 changes.
411
412         * Make-common.in (sim_main_headers): Add sim-inline.h
413
414         * sim-bits.h (sim-bits.c): Include when H_REVEALS_MODULE_P.
415         selected.
416         * sim-endian.h (sim-endian.c): Ditto.
417         
418         * sim-events.h (_SIM_EVENTS_H_): Replace with SIM_EVENTS_H.
419         (sim_events_set_trace): Delete unused prototype.
420         
421         * sim-core.h (_SIM_CORE_H_): Replace with SIM_CORE_H.
422         * sim-core.c (_SIM_CORE_C_): Ditto for SIM_CORE_C.
423
424         * sim-fpu.h (sim-fpu.c): Include when H_REVEALS_MODULE_P.
425         (sim_fpu_to232i, sim_fpu_to232u, sim_fpu_i232to, sim_fpu_u232to):
426         Comment out, not yet implemented in sim-fpu.c.
427         (sim_fpu_zero, sim_fpu_one, sim_fpu_two, sim_fpu_qnan,
428         sim_fpu_max32, sim_fpu_max64): Mark as EXTERN_SIM_FPU.
429         
430         * sim-inline.h: Rewrite description.
431         (H_REVEALS_MODULE_P, C_REVEALS_MODULE_P): Define.
432         (SIM_MAIN_INLINE): Add inline option.
433         
434         * sim-inline.c (semantics.c, idecode.c, engine.c, ...): Do not
435         include generated files. Handled by generator directly.
436         
437 Sat Apr  4 01:07:06 1998  Andrew Cagney  <cagney@b1.cygnus.com>
438
439         * sim-trace.c (set_trace_option_mask): Keep TRACE_ANY_P
440         up-to-date.
441
442         * sim-trace.h (TRACE_ANY_P): Define.
443         (struct _trace_data): Add trace_any_p.
444
445 Mon Mar 30 17:11:55 1998  Andrew Cagney  <cagney@b1.cygnus.com>
446
447         * run.c (main): Handle all alternatives of enum sim_stop.
448         (main): Delete unused `asection *s'.
449
450 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
451
452         * hw-tree.h, hw-tree.c (hw_tree_vparse): New function
453
454         * configure: Regenerated to track ../common/aclocal.m4 changes.
455
456         * sim-hw.c: New file.
457         * sim-hw.h (sim_hw_parse): Declare function.
458         (hw-tree.h): Do not include.
459         
460         * sim-base.h (STATE_HW): Define.
461         (struct sim_state_base): Add member struct *hw.
462
463         * sim-module.c (sim-hw.h): Include.
464         (modules): Add sim_hw_install.
465         
466         * aclocal.m4 (sim_hw_obj): Add sim-hw.o
467
468 Fri Mar 27 14:55:06 1998  Andrew Cagney  <cagney@b1.cygnus.com>
469
470         * sim-base.h (CPU_INDEX): Define.
471
472         * sim-utils.c (sim_state_alloc): Initialize.
473         * sim-module.c (sim_post_argv_init): Ditto.
474
475 Thu Mar 26 10:07:57 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>
476
477         * aclocal.m4 (sim_hw_obj):  Fix sed expression to generate
478         properly formatted lists.
479
480 Thu Mar 26 10:37:22 1998  Andrew Cagney  <cagney@b1.cygnus.com>
481
482         * dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was
483         0x2f needs to be 0x3f.
484
485 Thu Mar 26 09:10:56 1998  Andrew Cagney  <cagney@b1.cygnus.com>
486
487         * hw-tree.c (hw_tree_find_property): Return NULL when device is
488         not found.
489         (hw_tree_find_*_property): Clean up error message when property is
490         not found.
491
492         * dv-pal.c (hw_pal_io_read_buffer): Check the smp property is
493         present before looking for it.
494
495 Wed Mar 25 16:17:38 1998  Ian Carmichael  <iancarm@cygnus.com>
496
497         * aclocal.m4 (AC_CHECK_HEADERS): Add check for fpu_control.h.  
498         (AC_CHECK_FUNCS): Add check for __setfpucw.
499         * configure: Regenerated.
500
501 Wed Mar 25 09:18:34 1998  Andrew Cagney  <cagney@b1.cygnus.com>
502
503         * dv-pal.c (hw_pal_countdown, hw_pal_countdown_value,
504         hw_pal_timer, hw_pal_timer_value): Define.
505         (hw_pal_io_read_buffer, hw_pal_io_write_buffer): Add timer support
506         (do_counter_event, do_counter_read, do_counter_value,
507         do_counter_write): new functions.
508
509 Tue Mar 24 12:24:24 1998  Andrew Cagney  <cagney@b1.cygnus.com>
510
511         * hw-tree.c (hw_printf): Send tree dump to stderr, same as other
512         trace output.
513
514         * hw-base.c (hw_create): Stop searching for a device when one is
515         found.
516
517 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
518
519         * configure: Regenerated to track ../common/aclocal.m4 changes.
520
521 Mon Mar 23 10:25:08 1998  Andrew Cagney  <cagney@b1.cygnus.com>
522
523         * aclocal.m4 (SIM_AC_OPTION_HARDWARE): Add second argument,
524         appends extra devices.
525         (SIM_AC_OPTION_HARDWARE): Substute sim_hw, a non-duplicate list of
526         the device names.
527         
528         * Make-common.in (hw-config.h): New target, create hw-config.h
529         file.
530         (SIM_HW): Definition from @sim_hw@.
531         (hw-base.o): Depend on hw-config.h
532
533 Tue Mar 24 17:41:35 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>
534
535         * Make-common.in:  Get SHELL from configure.
536         * (stamp-tvals sim-inline.c):  Use $(SHELL) when invoking
537         move-if-change.  Fixes NT native build problem.
538         * Makefile.in (nltvals.def):   Use $(SHELL) when invoking
539         move-if-change.  Fixes NT native build problem.
540         * configure:  Regenerate with autoconf 2.12.1 to fix shell issues for
541         NT native builds.
542         
543 Sun Mar 22 16:54:40 1998  Andrew Cagney  <cagney@b1.cygnus.com>
544
545         * hw-device.h, hw-device.c (hw_strdup): New function.
546
547         * hw-base.c (hw_create): Use hw_strdup when saving a copy of the
548         strings name, family and args.
549         (full_name_of_hw): Use hw_strdup when returning the full path.
550
551         * hw-properties.c: Clean up property not found / wrong type error
552         messages.
553         
554         * hw-tree.c (hw_tree_parse): Finish a devices initialization
555         before attaching any ports.
556
557         * hw-base.c (hw-config.): Include.  Replace hardwired table.
558
559         * dv-glue.c: Copy over ../ppc/hw_glue.c.  Update to new framework.
560
561         * Make-common.in: Add rule for dv-glue.o.
562
563 Sun Mar 22 16:45:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>
564
565         * hw-base.c (hw_finish): Move setting of trace level to here.
566         (hw_create): From here.
567
568         * hw-base.h, hw-base.c (do_hw_attach_regs): Copy function from
569         ../ppc/device_table.c.
570
571         * dv-pal.c (hw_pal_finish): Attach PAL device to parent bus.
572
573         * hw-tree.c (print_properties): Supress path when printing
574         properties of root node.
575
576 Sun Mar 22 16:21:15 1998  Andrew Cagney  <cagney@b1.cygnus.com>
577
578         * hw-device.h (HW_TRACE): Define.
579         (hw_trace): Declare.
580         * hw-device.c (hw_trace): Implement function.
581
582         * hw-base.c (hw_create): Set hw trace level from "trace?"
583         property.
584
585         * dv-core.c (dv_core_attach_address_callback): Add trace.
586
587         * dv-pal.c: Replace DTRACE with HW_TRACE.
588
589 Sun Mar 22 15:23:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>
590
591         * hw-device.h (HW_ZALLOC, HW_MALLOC): New macros.
592         (hw_alloc_data): Delcare.
593         (struct hw): Add member alloc_of_hw.
594         
595         * hw-device.c (hw_zalloc, hw_malloc, hw_free, hw_free_all): New
596         functions. Assocate memory with a device.
597         (stdlib.h): Include.
598         
599         * hw-base.h (set_hw_delete): Define.
600         (hw_delete_callback): Declare.
601         (hw_delete): Declare.
602
603         * hw-base.c (hw_delete): Implement function.
604         (struct hw_base_data): Add member to_delete.
605         (ignore_hw_delete): New function, does nothing.
606         (hw_create): Set the hw_delete method.
607         (hw_create): Allocate the base type using HW_ZALLOC before setting
608         any methods.
609
610         * hw-tree.h, hw-tree.c (hw_tree_delete): New function.
611         
612         * hw-properties.c: Replace zalloc/zfree with hw_zalloc/hw_free.
613         
614         * hw-ports.c: Replace zalloc/zfree with hw_zalloc/hw_free.
615         (attach_hw_port_edge): Add struct hw argument
616
617         * dv-pal.c (hw_pal_finish): Replace zalloc/zfree with
618         hw_zalloc/hw_free.
619
620 Sun Mar 22 15:09:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
621
622         * hw-device.h (hw_attach_address_callback,
623         hw_detach_address_callback): Attach to a single space not a space
624         mask. Clarify interpretation of SPACE:ADDR parameters.
625
626         * hw-base.c (passthrough_hw_attach_address,
627         passthrough_hw_detach_address): Update.
628         * dv-core.c (dv_core_attach_address_callback): Ditto.
629         * dv-pal.c (hw_pal_attach_address): Ditto.
630
631 Thu Mar 19 00:41:00 1998  Andrew Cagney  <cagney@b1.cygnus.com>
632
633         * sim-options.h: Document additional CPU arg to OPTION_HANDLER.
634
635 Wed Mar 18 14:13:02 1998  Andrew Cagney  <cagney@b1.cygnus.com>
636
637         * Make-common.in (SIM_HW_OBJS, SIM_HW_SRC, SIM_DV_OBJS): Define.
638         (hw-base_h, hw-device_h, hw-handles_h, hw-instances_h, hw_ports_h,
639         hw-properties_h, hw-tree_h): Define, point at corresponding
640         header.
641         (hw_base_headers): Define list of headers included by hw-base.h
642         (hw-base.o, hw-device.o, hw-instances.o, hw-handles.o, hw-ports.o,
643         hw-properties.o, hw-tree.o): Specify dependencies.
644         (dv-core.o, dv-pal.o): Ditto.
645
646         * sim-hw.h: New file.
647
648         * hw-device.h, hw-device.c, hw-properties.h, hw-properties.c,
649         hw-ports.h, hw-ports.c: New files. Copied from ../ppc/device.[ch].
650         
651         * hw-tree.h, hw-tree.c: New files. Copied from ../ppc/tree.[hc].
652
653         * hw-base.h, hw-base.c: new files.  Copied from
654         ../ppc/device_table.[hc].
655
656         * dv-core.c, dv-pal.c: New files. Copied from
657         ../ppc/hw_{core,pal}.c
658         
659         * sim-basics.h (struct hw): Declare.
660         (enum port_direction, enum object_disposition): Declare.
661
662 Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>
663
664         * aclocal.m4 (SIM_AC_OPTION_HARDWARE): Set sim_hw_obj, sim_dv_obj,
665         sim_dv_src in Makefile. Take list of devices as parameter to m4
666         macro..
667
668         * configure: Regenerated to track ../common/aclocal.m4 changes.
669
670 Mon Mar 16 12:37:33 1998  Andrew Cagney  <cagney@b1.cygnus.com>
671
672         * sim-trace.h, sim-trace.c (trace_prefix): Pass in sim_cia so that
673         trace_prefix can abort cleanly.
674
675 Sat Mar 14 18:36:12 1998  Doug Evans  <devans@seba.cygnus.com>
676
677         * dv-sockser.c, dv-sockser.h: New files.
678         * Make-common.in (dv-sockser.o): Add rule for.
679         * aclocal.m4: Check for fcntl.h.
680         * config.h: Add HAVE_FCNTL_H.
681
682         * sim-break.c (remove_breakpoint): Fix thinko.
683
684         * sim-hload.c (sim_load): Provide default value of SIM_HANDLES_LMA.
685         Use SIM_HANDLES_LMA for lma_p arg to sim_load_file.
686
687 1998-03-13  Fred Fish  <fnf@cygnus.com>
688
689         * sim-base.h (struct sim_state_base): Add prog_syms and
690         define macro STATE_PROG_SYMS.
691         * sim-trace.c (trace_prefix): Add variables abfd, symsize,
692         symbol_count, and asymbols.  Call bfd_get_symtab_upper_bound
693         and bfd_canonicalize_symtab, to get symbol table on first use
694         and preserve it via STATE_PROG_SYMS for future calls to
695         bfd_find_nearest_line.
696
697 Wed Mar 11 14:02:47 1998  Andrew Cagney  <cagney@b1.cygnus.com>
698
699         * sim-core.h, sim-core.c (sim_core_map_to_str): Delete.
700
701         * sim-core.c (sim_core_attach): Handle a generic number of maps -
702         up to nr_maps, not just access_* maps.
703
704         * sim-profile.h (struct PROFILE_DATA): Track nr_maps different
705         maps.
706
707         * sim-profile.c (profile_print_core): Make map unsigned.  Iterate
708         over nr_maps not sim_core_nr_maps.
709
710         * sim-events.h, sim-events.c (sim_events_watch_core): Change
711         core_map argument to unsigned.
712         (struct _sim_core): Ditto for struct member core_map.
713
714         * sim-core.h (nr_sim_core_maps, sim_core_*_map): Delete
715
716         * sim-basics.h (access_io, access_*_io): Define.
717         (map_read, map_write, map_exec, map_io): Define.
718
719         * sim-core.c, sim-core.h (sim_core_attach): Replace argument
720         attach with more generic mapmask.
721         (sim_core_{read,write}_*): Change map argument to unsigned.
722         
723         * sim-core.c (sim_core_uninstall, sim_core_attach,
724         sim_core_detach): Iterate over nr_maps instead of
725         sim_core_nr_maps.
726
727         * sim-break.c (insert_breakpoint): Write breakpoints to exec_map
728         instead of the write_map.
729         (remove_breakpoint): Ditto.
730
731         * genmloop.sh (engine_resume_full): Replace sim_core_*_map
732         with read_map, write_map, exec_map resp.
733
734         * cgen-mem.h (DECLARE_GETMEM, DECLARE_SETMEM, DECLARE_GETIMEM):
735         Ditto.
736
737         * cgen-utils.c (sim_disassemble_insn): Ditto.
738
739         * sim-hrw.c (sim_write, sim_write): Ditto.
740
741         * sim-utils.h, sim-utils.c (access_to_str, map_to_str,
742         transfer_to_str): New functions.
743
744 Mon Mar  9 12:50:59 1998  Doug Evans  <devans@seba.cygnus.com>
745
746         * sim-base.h (sim_state_base): New member environment.
747         (STATE_ENVIRONMENT): New macro.
748         * sim-config.c (current_environment): Delete.
749         (sim_config_default): New function.
750         (sim_config): Set STATE_ENVIRONMENT, not current_environment.
751         * sim-config.h (current_environment,CURRENT_ENVIRONMENT): Delete.
752         (sim_config_default): Add prototype.
753         * sim-module.c (sim_pre_argv_init): Call sim_config_default.
754         * sim-options.c (standard_option_handler, case OPTION_ENVIRONMENT):
755         Set STATE_ENVIRONMENT, not current_environment.
756
757 Mon Mar  9 11:59:03 1998  Jim Wilson  <wilson@cygnus.com>
758
759         * sim-fpu.c (NR_GUARDS64): Change NR_PAD32 to NR_PAD64.
760
761 Tue Mar  3 10:53:05 1998  Andrew Cagney  <cagney@b1.cygnus.com>
762
763         * sim-types.h (SIGNED32, SIGNED64): Pacify GCC.
764
765         * sim-alu.h (ALU64_BEGIN): Make alu64_r unsigned.
766
767 Mon Mar  2 10:20:06 1998  Doug Evans  <devans@seba.cygnus.com>
768
769         * Make-common.in (TAGS): Make smarter.
770         * Makefile.in (TAGS): Ditto.
771
772 Fri Feb 27 19:09:57 1998  Doug Evans  <devans@canuck.cygnus.com>
773
774         * sim-module.c (*): Fix typos in assertion tests.
775
776 Sat Feb 28 13:54:10 1998  Andrew Cagney  <cagney@b1.cygnus.com>
777
778         * sim-module.c (sim_pre_argv_init): String passed to asprintf
779         can't be constant.
780         
781         * sim-options.c (sim_parse_args): Ditto.
782         (sim_args_command): Return OK, instead of nothing, for an empty
783         command.
784
785 Fri Feb 27 13:29:13 1998  Andrew Cagney  <cagney@b1.cygnus.com>
786
787         * sim-profile.c (profile_info): Rename from profile_print. Drop
788         misc and misc_cpu callback arguments.  Use
789         PROFILE_INFO_CPU_CALLBACK and STATE_PROFILE_INFO_CALLBACK instead.
790         (profile_install): Install profile_info function.
791
792         * sim-profile.h (PROFILE_INFO_CPU_CALLBACK,
793         STATE_PROFILE_INFO_CALLBACK): Define.
794         (struct PROFILE_DATA): Add field info_cpu_callback.
795         (profile_print): Delete function.
796
797         * sim-base.h (STATE_MODULES): Define.  Replace individual
798         STATE_*_LIST with single struct module_list.
799
800         * sim-module.h (MODULE_INFO_FN, MODULE_INFO_LIST): Declare.
801         (struct module_list): Declare.
802         
803         * sim-module.h, sim-module.c (sim_module_add_info_fn,
804         sim_module_info): New functions.
805         (sim_module_install): Clean up module data structures.
806
807         * sim-info.c (sim_info): New file. New function. Call
808         sim_module_info.
809
810         * Make-common.in (sim-info.o): Define rule.
811         (SIM_NEW_COMMON_OBJS): Add sim-info.o.
812
813
814 Fri Feb 27 18:26:16 1998  Doug Evans  <devans@canuck.cygnus.com>
815
816         * sim-base.h (sim_cpu_base): New members name, options.
817         (sim_cpu_lookup): Add prototype.
818         * sim-module.c (sim_pre_argv_init): Provide default names for cpus.
819         * sim-options.h (DECLARE_OPTION_HANDLER): New argument `cpu'.
820         (sim_add_option_table): Update prototype.
821         * sim-options.c (sim_add_option_table): New argument `cpu'.
822         (standard_option_handler,standard_install): Update.
823         (sim_parse_args): Handle cpu specific options.
824         (print_help): New static function.
825         (sim_print_help): Call it.  Print cpu specific options.
826         (find_match): New static function.
827         (sim_args_command): Call it.  Handle cpu specific options.
828         * sim-utils.c (sim_cpu_lookup): New function.
829         * sim-memopt.c (memory_option_handler): Update.
830         (sim_memopt_install): Update.
831         * sim-model.c (model_option_handler): Update.
832         (model_install): Update.
833         * sim-profile.c (profile_option_handler): Update.
834         (profile_install): Update.
835         * sim-trace.c (trace_option_handler): Update.
836         (trace_install): Update.
837         * sim-watch.c (watchpoint_option_handler): Update.
838         (sim_watchpoint_install): Update.
839         * cgen-scache.c (scache_option_handler): Update.
840         (scache_install): Update.
841
842 Wed Feb 25 11:00:26 1998  Doug Evans  <devans@canuck.cygnus.com>
843
844         * Make-common.in (check): Run `make check' in testsuite dir.
845
846 Wed Feb 25 14:40:24 1998  Andrew Cagney  <cagney@b1.cygnus.com>
847
848         * sim-trace.c (trace_result0): New function.
849
850         * sim-trace.h (TRACE_FP_*, TRACE_FPU_*): Rename TRACE_FPU_*
851         macro's to TRACE_FP_*. TRACE_FPU_* should be defined and used when
852         tracing sim_fpu variables.
853         (TRACE_ALU_RESULT0): Define.
854         (TRACE_FP_RESULT_WORD): Define.
855         (TRACE_FP_INPUT_WORD1): Define.
856
857         * sim-fpu.c, sim-fpu.h (sim_fpu_max32, sim_fpu_max64, sim_fpu_one,
858         sim_fpu_two): New constants.
859         (sim_fpu_op1, sim_fpu_op2): New types.
860         (struct _sim_fpu): Delete member result.  Re-order other members.
861         (sim_fpu_sign, sim_fpu_exp): New functions.
862         (sim_fpu_max, sim_fpu_min): new functions.
863         (EXPMAX32, EXPMAX64, NR_PAD32, NR_PAD64, NR_GUARDS32, NR_GUARDS64,
864         NORMAL_EXPMAX32, NORMAL_EXPMAX64): Define.
865         
866 Tue Feb 24 22:45:39 1998  Doug Evans  <devans@seba.cygnus.com>
867
868         * sim-profile.c (profile_print): Delete duplicate test of
869         PROFILE_INSN_IDX.
870         (profile_print_pc): Exit early if data collection not set up.
871         (profile_print_core): Simplify by calling sim_core_map_to_str.
872         * sim-core.h (sim_core_map_to_str): Declare.
873         * sim-core.c (sim_core_map_to_str): Make non-static.
874
875         * genmloop.sh (engine_resume): Update insn_count before exiting.
876         (engine_resume_full): Keep accurate core profile data.
877
878         * cgen-utils.c (sim_disassemble_insn): Don't use
879         sim_core_read_aligned_N, it messes up profiling results.
880
881 Mon Feb 23 20:45:57 1998  Mark Alexander  <marka@cygnus.com>
882
883         * nltvals.def: Regenerate with MN10300 additions.
884
885 Tue Feb 24 13:18:42 1998  Andrew Cagney  <cagney@b1.cygnus.com>
886
887         * sim-trace.h (TRACE_ALU_RESULT2): Define.
888         
889         * sim-trace.h, sim-trace.c (trace_result_word2,
890         trace_input_word4, trace_result_word4): New function.
891
892 Mon Feb 23 13:08:35 1998  Doug Evans  <devans@canuck.cygnus.com>
893
894         * cgen-sim.h (SEM_NEXT_PC): New arg `len'.
895
896         * sim-xcat.h: Delete.
897         * cgen-mem.h: Delete inclusion of sim-xcat.h.
898         * cgen-sim.h: Ditto.
899         * sim-alu.h: Replace sim-xcat.h with symcat.h.
900         * sim-n-bits.h: Ditto.
901         * sim-n-core.h: Ditto.
902         * sim-n-endian.h: Ditto.
903
904 Mon Feb 23 13:19:58 1998  Michael Meissner  <meissner@cygnus.com>
905
906         * syscall.c (cb_syscall): Handle short reads, and EOF.
907
908 Tue Feb 24 00:29:57 1998  Andrew Cagney  <cagney@b1.cygnus.com>
909
910         * sim-trace.c (print_data): case trace_fmt_fp missing break.  Use
911         sim_fpu to safely print fp_word values.
912         (print_data): Add trace_fmt_bool and trace_fmt_addr.
913         (trace_result_bool1, trace_result_addr1): New functions.
914         (trace_input_bool1, trace_input_addr1): New functions.
915
916         * sim-trace.h (TRACE_FPU_*): Define.
917
918 Mon Feb 23 13:24:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>
919
920         * sim-fpu.h (enum sim_fpu_class): Add sim_fpu_class_denorm.
921         (sim_fpu_fpto, sim_fpu_tofp): Define.
922
923 Fri Feb 20 18:08:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
924
925         * sim-fpu.c (sim_fpu_cmp): New function.
926
927 Wed Feb 18 16:29:21 1998  Doug Evans  <devans@canuck.cygnus.com>
928
929         * cgen-utils.h (sim_disassemble_insn): Use CGEN_INSN_BITSIZE
930         instead of abuf->length.
931         * sim-trace.c (trace_options): Have -t only trace a few useful things.
932         (set_trace_option_mask): Renamed from set_trace_options.
933         (set_trace_option): New function.
934         (trace_option_handler): Update calls to set_trace_option{,_mask}.
935         * sim-trace.h (TRACE_USEFUL_MASK): New macro.
936
937 Wed Feb 18 12:42:15 1998  Andrew Cagney  <cagney@b1.cygnus.com>
938
939         * sim-basics.h: Declare struct _sim_fpu.
940
941 Tue Feb 17 16:27:46 1998  Andrew Cagney  <cagney@b1.cygnus.com>
942
943         * sim-trace.h (TRACE_ALU_INPUT*, TRACE_ALU_RESULT): Define.
944         (trace_prefix, trace_input*, trace_result*): Declare.
945         (trace_one_insn): Change declaration, assume trace_prefix called.
946         (trace_generic): Like trace_one_insn.
947         (TRACE_ALU_IDX, TRACE_*_IDX): Change #define's to enum.
948         (TRACE_alu, TRACE_[a-z]*): Update.
949         
950         * sim-trace.c (trace_prefix, trace_input*, trace_result*,
951         trace_insn, save_data, trace_idx_to_str, print_data): New
952         functions.
953         (trace_one_insn): Rewrite.
954         (trace_generic): New function.
955         
956 Tue Feb 17 17:27:30 1998  Doug Evans  <devans@seba.cygnus.com>
957
958         * Make-common.in (CGEN_MAIN_SCM): Update.
959         * aclocal.m4 (USE_MAINTAINER_MODE): New variable.
960
961         * cgen-sim.h (SEMANTIC_CACHE_FN): Delete.
962         (SEMANTIC_FN): Rewrite declaration.
963         (DECODE): Update type of semantic_fast member.
964         ({EX,SEM}_FN_NAME): Have only one version.
965         * cgen.sh: Support building cpu.c.
966         * sim-base.h (sim_state_base): Delete conditionals surrounding
967         member scache_size.
968
969 Tue Feb 10 18:31:49 1998  Andrew Cagney  <cagney@b1.cygnus.com>
970
971         * sim-load.c (sim_load_file): Print LMA/VMA according to value
972         used.
973
974 Tue Feb 10 14:56:23 1998  Ian Carmichael  <iancarm@cygnus.com>
975
976         * sim-core.c: Add missing prototypes for WITH_DEVICES.
977         Add missing parameters to device_io calls.
978         * sim-core.h: Add missing parameters to device_io calls.
979
980 Mon Feb  9 14:48:37 1998  Doug Evans  <devans@canuck.cygnus.com>
981
982         * cgen-sim.h (DECODE): Always use switch for `read' for now.
983         (PAREXEC): Renamed from PARALLEL_EXEC.  All uses updated.
984         (SEMANTIC{,_CACHE}_FN): Fix return type.
985         * cgen.sh (decode): Add s/@arch@/$arch/.
986         * genmloop.sh (@cpu@_engine_run): Delete `current_state'.
987         (engine_resume): Likewise.  Make `engine' volatile.  Save copy
988         of cpu pointer in volatile object.  Initialize read switch if
989         -parallel.
990
991 Thu Feb  5 13:27:04 1998  Doug Evans  <devans@seba.cygnus.com>
992
993         * cgen-sim.h (EX_FN_NAME): _exc_ -> _ex_.
994         (SEM_INSN): New macro.
995
996 Tue Feb  3 16:31:56 1998  Andrew Cagney  <cagney@b1.cygnus.com>
997
998         * sim-run.c (sim_engine_run): Assume IMEM is 32 bit.
999
1000 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1001
1002         * configure: Regenerated to track ../common/aclocal.m4 changes.
1003
1004 Sun Feb  1 16:16:57 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1005
1006         * sim-types.h (fp_word): New type, define according to
1007         WITH_TARGET_FLOATING_POINT_BITSIZE.
1008
1009         * aclocal.m4 (default_sim_floating_point_bitsize): Add
1010         configuration of size of floating point registers.
1011
1012 Sun Feb  1 14:02:31 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1013
1014         * sim-profile.c (profile_print): Only print CPU <N> if other
1015         output is going to appear.
1016
1017 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1018
1019         * configure: Regenerated to track ../common/aclocal.m4 changes.
1020
1021 Sat Jan 31 18:03:55 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1022
1023         * sim-types.h (address_word): Typedef according to
1024         WITH_TARGET_ADDRESS_BITSIZE.
1025         (signed_cell, unsigned_cell, natural_cell): Ditto using
1026         WITH_TARGET_CELL_BITSIZE.
1027         
1028         * sim-config.h (WITH_TARGET_ADDRESS_BITSIZE): Define.
1029         (WITH_TARGET_CELL_BITSIZE): Define.
1030         (WITH_HOST_WORD_BITSIZE): Delete.
1031
1032         * sim-config.c (print_sim_config): Update.
1033
1034         * aclocal.m4 (SIM_AC_OPTION_BITSIZE): Add support for
1035         configuration of address and OpenFirmware cell sizes.
1036
1037 Fri Jan 30 09:36:33 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1038
1039         * sim-engine.h (sim_engine_run): Add argument nr_cpus.
1040         * sim-run.c (sim_engine_run): Update.
1041         
1042         * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use SET_CPU_CIA instead of
1043         CPU_CIA.
1044         * sim-run.c (sim_engine_run): Ditto.
1045
1046         * sim-resume.c (sim_resume): Obtain nr_cpus from sim_engine.
1047         (sim_resume): Pass nr_cpus to sim_engine_run.
1048
1049         * sim-engine.h (struct _sim_engine): Add member nr_cpus.
1050         
1051         * sim-engine.c (sim_engine_init): Hardwire nr_cpus to
1052         MAX_NR_PROCESSORS.
1053         (sim_engine_nr_cpus) sim-engine.c, sim-engine.h: New function
1054         
1055 Thu Jan 29 12:13:01 1998  Doug Evans  <devans@canuck.cygnus.com>
1056
1057         * cgen.sh: Portably read parms past $9.
1058
1059 Fri Jan 23 14:20:54 1998  Doug Evans  <devans@seba.cygnus.com>
1060
1061         * Make-common.in (stamp-tvals): New rule.
1062         (targ-vals.h,targ-map.c): Depend on it.
1063         (clean): Remove stamp-tvals.
1064
1065 Tue Jan 20 21:35:13 1998  Michael Meissner  <meissner@cygnus.com>
1066
1067         * sim-utils.c (sim_state_alloc): #if 0 variable that is only used
1068         in code also #if 0'ed.
1069
1070 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
1071
1072         * configure: Regenerated to track ../common/aclocal.m4 changes.
1073         * aclocal.m4: Recognize --enable-maintainer-mode.
1074
1075 Mon Jan 19 12:45:45 1998  Doug Evans  <devans@seba.cygnus.com>
1076
1077 start-sanitize-cygnus
1078         * Make-common.in (cgen-{arch,cpu,decode}): New targets.
1079         * cgen.sh: New file.
1080 end-sanitize-cygnus
1081         * cgen-scache.h: Deleted.
1082         * Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
1083         (CGEN_CPU_SCM): Add sim-model.scm.
1084         * cgen-scache.c: Only compile contents if WITH_SCACHE.
1085         (scache_init): Use runtime computed size of SCACHE.
1086         (scache_flush): Likewise.
1087         * cgen-mem.h (GETIMEMU[QHSD]I): Declare.
1088         ([GS]ETT{QI,UQI,HI,UHI,SI,USI,DI,UDI}): Declare.
1089         * cgen-sim.h: Scache support moved here.
1090         (PC): Redo definition.
1091         (ARGBUF,SCACHE,PARALLEL_EXEC): Provide forward decls.
1092         (DECODE): Add parallel execution support.
1093         Only include semantic label members if using switch.
1094         (SWITCH,CASE,BREAK,DEFAULT,ENDSWITCH): Portable computed goto support.
1095         (CGEN_CPU): Delete members exec_state, halt_sigrc, halt_jmp_buf.
1096         (IADDR,CIA,SEM_ARG,EX_FN_NAME,SEM_FN_NAME,RECORD_IADDR,SEM_ARGBUF,
1097         SEM_NEXT_PC,SEM_BRANCH_VIA_{CACHE,ADDR},SEM_NEW_PC_ADDR): Moved here
1098         from cgen-types.h.
1099         (engine_{stop,run,resume,halt,signal}): Delete decls.
1100         * cgen-types.h (CGEN_{XCAT3,CAT3}): Delete.
1101         (argbuf,scache): Delete forward decls.
1102         (STATE): Delete decl.
1103         * cgen-utils.c: Don't include decode.h, mem-ops.h, sem-ops.h.
1104         Include cgen-mem.h, cgen-ops.h.
1105         (engine_halt,engine_signal): Delete.
1106         ({ex,exc,sem,semc}_illegal): Delete.
1107         (sim_disassemble_insn): Result of extract fn is in bits.
1108         * genmloop.sh: Rewrite.
1109
1110         * cgen-trace.c (trace_insn): Set printed_result_p=0 if not tracing
1111         line numbers.
1112
1113         * sim-base.h (sim_state_base): Delete member `model'.
1114         (sim_cpu_base): Add member `model'.
1115         * sim-model.h (IMP_PROPERTIES): New type.
1116         (MACH): New members imp_props, models.
1117         (models): Delete decl.
1118         * sim-model.c (set_model): Update.
1119         * sim-profile.c (profile_print_model): Update.
1120
1121         * sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here.
1122
1123 Fri Jan 16 12:33:09 1998  Nick Clifton  <nickc@cygnus.com>
1124
1125         * cgen-trace.c (trace_insn): Call CGEN_INSN_MNEMONIC() rather than
1126         CGEN_INSN_SYNTAX().
1127
1128 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1129
1130         * configure: Regenerated to track ../common/aclocal.m4 changes.
1131         * config.in: Ditto.
1132
1133 Mon Dec 15 23:16:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1134
1135         * aclocal.m4 (AR): Check for sigaction.
1136
1137 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
1138
1139         * Make-common.in (sim-core.o): Depend on $(sim_main_headers).
1140
1141         * sim-config.h (WITH_TREE_PROPERTIES): Define as 0.
1142         * sim-config.c (sim_config): Replace WITH_DEVICES with
1143         WITH_TREE_PROPERTIES.
1144
1145         * configure: Regenerated to track ../common/aclocal.m4 changes.
1146
1147 Wed Dec  3 17:56:02 1997  Doug Evans  <devans@canuck.cygnus.com>
1148
1149         * Make-common.in (SIM_ENVIRONMENT): New variable.
1150         (CONFIG_CFLAGS): Add it.
1151         * aclocal.m4 (SIM_AC_OPTION_ENVIRONMENT): Handle
1152         --enable-sim-environment option.
1153         * configure: Regenerated.
1154         * sim-config.h (environment support): Rewrite.
1155         * sim-config.c (current_environment): Define as enum, unconditionally.
1156         (current_alignment): Define unconditionally.
1157         (config_environment_to_a): Update.
1158         (config_alignment_to_a): Fix type of argument.  Define unconditionally.
1159         (sim_config): Handle environment and alignment determination
1160         unconditionally.  Delete sanity checks of current_environment,
1161         unnecessary.
1162         (print_sim_config): Update.
1163         * sim-options.c (STANDARD_OPTIONS enum): Add OPTION_ENVIRONMENT.
1164         (standard_options): Add --environment.
1165         (standard_option_handler): Likewise.
1166
1167 Fri Nov 28 12:21:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1168
1169         * sim-alu.h: Add notes on carry vs borrow for subtraction.
1170         (ALU{,8,16,32,64}ADD): Redefine ADD macro as add overflowing.
1171         (ALU{,8,16,32,64}ADDC): Define - add carrying.
1172         (ALU{,8,16,32,64}SUB): Redefine SUB macro as subtract overflowing.
1173         (ALU{,8,16,32,64}SUBB): Define - subtract borrowing.
1174         (ALU{,8,16,32,64}SUBC): Define - tract carrying.
1175         (ALU{,8,16,32,64}ADD_CA, ALU{,8,16,32,64}ADDC_C): Replace single
1176         argument ADD_CA macro with two argument ADDC_C - add carrying with
1177         carry in.
1178         (ALU{,8,16,32,64}SUB_CA, ALU{,8,16,32,64}SUBC_X): Replace single
1179         argument SUB_CA macro with two argument SUBC_X - subtract
1180         carrying, extended.
1181         (ALU{,8,16,32,64}SUBB_B): Define - subtract borrowing with
1182         borrow-in.
1183         (ALU{,8,16,32,64}NEGC, ALU{,8,16,32,64}NEGB): Define.
1184
1185 Sun Nov 30 17:40:57 1997  Michael Meissner  <meissner@cygnus.com>
1186
1187         * sim-io.c (sim_io_{syscalls,getstring}): Delete.  No longer used.
1188         * sim-io.h (sim_io_syscalls): Delete.
1189
1190 Fri Nov 28 20:10:09 1997  Michael Meissner  <meissner@cygnus.com>
1191
1192         * syscall.c (cb_syscall): Add missing else, so write to stdout
1193         isn't doubled.
1194
1195         * sim-alu.h (ALU{,8,16,32,64}_SET_CARRY): Provide macros to import
1196         the carry bit from the CPU's psw.
1197
1198 Fri Nov 28 11:15:05 1997  Doug Evans  <devans@canuck.cygnus.com>
1199
1200         * gennltvals.sh: Redo syscall support.
1201         * nltvals.def: Regenerated.
1202
1203 Wed Nov 26 16:49:38 1997  Michael Meissner  <meissner@cygnus.com>
1204
1205         * syscall.c (cb_syscall): If writing to stdout or stderr, flush
1206         the stream immediately.
1207
1208 Wed Nov 26 12:32:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1209
1210         * sim-io.c (sim_io_getstring): Delete unused len2.
1211         (sim_io_syscalls): Ditto for sys_errno.
1212
1213 Wed Nov 26 11:18:40 1997  Doug Evans  <devans@canuck.cygnus.com>
1214
1215         * syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.
1216
1217         * Make-common.in (run.o): Depend on remote-sim.h.
1218         (nrun.o,sim-hload.o,sim-hrw.o): Likewise.
1219         (sim-io.o,sim-reason.o,sim-resume.o): Likewise.
1220
1221 Tue Nov 25 20:12:46 1997  Michael Meissner  <meissner@cygnus.com>
1222
1223         * sim-io.c (sim_io_syscalls): Disable lseek.
1224
1225 Tue Nov 25 00:12:38 1997  Doug Evans  <devans@seba.cygnus.com>
1226
1227 start-sanitize-d30v
1228         * gennltvals.sh: Generate syscall values for d30v.
1229 end-sanitize-d30v
1230         * gennltvals.sh: Use libgloss/syscall.h for sparc.
1231         * nltvals.def: Regenerate.
1232
1233         * callback.c (os_stat): Make 3rd arg a host struct stat ptr.
1234         (os_fstat): Likewise.  Validate fd argument.
1235         (cb_host_to_target_stat): Delete big_p arg.  If HS arg is NULL,
1236         just compute target stat struct length.
1237         * syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
1238         (ENOSYS,ENAMETOOLONG): Provide definitions if missing.
1239         (get_string): Return host errno values so they can be properly
1240         translated later.
1241         (cb_syscall): Likewise.
1242         (cb_syscall, cases open,unlink): Use get_path instead of get_string.
1243         (cb_syscall, case read): Use read_stdin for file descriptor 0.
1244         (cb_syscall, case write): Use write_stderr for file descriptor 2.
1245         (cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
1246         (get_path): New function.
1247
1248 Mon Nov 24 18:56:07 1997  Michael Meissner  <meissner@cygnus.com>
1249
1250         * sim-io.c (sim_io_syscalls): New function to provide system call
1251         emulation.  Provide exit, open, close, read, write, lseek, and
1252         unlink.
1253         (sim_io_getstring): New function to return a string from a
1254         simulated memory location.
1255
1256         * sim-io.h (sim_io_syscalls): Add declaration.
1257
1258 Mon Nov 24 12:09:59 1997  Doug Evans  <devans@seba.cygnus.com>
1259
1260         * sim-core.c (sim_core_signal): Fix spelling error in message.
1261
1262         * sim-hrw.c (sim_read): Use read map, not write map.
1263
1264         * Make-common.in (all): Add .gdbinit.
1265         * gdbinit.in: Add dump command.
1266
1267         * sim-model.c (model_options): Use '\0' for `shortopt'.
1268
1269         * sim-trace.c (trace_option_handler): Set state trace file
1270         for --trace-file in addition to cpu's values.
1271         (trace_vprintf): If cpu == NULL, try state's trace file.
1272         (trace_options): Reorganize table, reword some descriptions.
1273
1274 Sun Nov 23 10:57:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1275
1276         * sim-fpu.c (sim_fpu_abs, sim_fpu_neg, sim_fpu_inv), sim-fpu.h:
1277         New functions.
1278
1279 Sat Nov 22 19:16:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1280
1281         * sim-reason.c (sim_stop_reason): For sim_signalled, return the
1282         signal untranslated, document problem with this.
1283
1284         * nrun.c (main): Check for a prog name of `*step'.  If present,
1285         step the simulator instead of allowing it to run free.
1286
1287         * sim-signal.c (SIGQUIT): Define on _MSC_VER hosts.
1288
1289         * Make-common.in (sim_main_headers): Add sim-signal.h.
1290
1291 Fri Nov 21 09:32:32 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1292
1293         * sim-signal.c (sim_signal_to_host): Return 0 for SIM_SIGNONE.
1294
1295 Thu Nov 20 20:35:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1296
1297         * sim-signal.h: Start simulator signals at 64 so that host signal
1298         numbers can be detected and reported.
1299
1300         * sim-signal.h (SIM_SIGFPE), sim-signal.h: Add signal.
1301
1302 Wed Nov 19 12:02:41 1997  Doug Evans  <devans@seba.cygnus.com>
1303
1304         * callback.c (cb_host_to_target_stat): Fix return values.
1305
1306         * cgen-sim.h (enum_signal_type): Delete.
1307         (engine_signal): Update prototype.
1308         * cgen-utils.c: Don't include <signal.h>.
1309         (sim_signal_to_host): Delete, lives in sim-signal.c now.
1310         (engine_signal): Update.
1311
1312         * sim-utils.c (sim_state_alloc): Call SIM_STATE_ALLOC if defined.
1313         (sim_state_free): Call SIM_STATE_FREE if defined.
1314
1315         * sim-module.c (sim_module_install): Don't leave any modules
1316         installed if one fails to install.
1317
1318 Wed Nov 19 13:25:48 1997  Michael Meissner  <meissner@cygnus.com>
1319
1320         * sim-options.c: Don't include ../libiberty/alloca-conf.h any
1321         more, since alloca is not used in this file.
1322
1323         * sim-alu.h (ALU{32,64}_*): Rewrite 32 and 64 bit ALU support to
1324         correctly set the carry and overflow bits for those types.
1325         (ALU{8,16,32,64}_{ADD,SUB}_CA): Take VAL argument to add along
1326         with carry, so carry is correct after doing both adds.
1327         (ALU*): Space out '\' to make it easier to read.
1328
1329 Tue Nov 18 15:53:45 1997  Doug Evans  <devans@canuck.cygnus.com>
1330
1331         * sim-core.c (sim_core_signal): Use sim_stopped instead of
1332         sim_signalled.
1333
1334         * sim-signal.c, sim-signal.h: New files.
1335         * Make-common.in (sim-signal.o): Add rule for.
1336         (SIM_NEW_COMMON_OBJS): Add sim-signal.o.
1337         * sim-abort.c: Don't include <signal.h>.
1338         * sim-basics.h: #include "sim-signal.h".
1339         * sim-break.c: Don't include <signal.h>.
1340         (sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
1341         * sim-core.c: Don't include <signal.h>.
1342         (SIGBUS): Delete definition.
1343         (sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
1344         * sim-engine.c: Don't include <signal.h>.
1345         (sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
1346         * sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
1347         * sim-resume.c: Don't include <signal.h>.
1348         (SIGTRAP): Delete definition.
1349         (has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
1350         * sim-stop.c: Don't include <signal.h>.
1351         (control_c_simulation): Replace SIGINT with SIM_SIGINT.
1352         * sim-watch.c: Don't include <signal.h>.
1353         (handle_watchpoint): Replace SIGINT with SIM_SIGINT.
1354
1355         * Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
1356
1357         * sim-base.h (CIA_ADDR): Provide default definition.
1358         * sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
1359         * sim-break.c (sim_handle_breakpoint): Likewise.
1360
1361 Mon Nov 17 14:15:31 1997  Doug Evans  <devans@seba.cygnus.com>
1362
1363         * Make-common.in (srccom): New variable.
1364
1365         * Make-common.in (DEP, COMMON_DEP_CFLAGS): Define.
1366         (LIB_OBJS): Add syscall.o.
1367         (gentmap): Pass $(NL_TARGET) to $(CC).
1368         (syscall.o): Add rule for.
1369         (sim_main_headers): Add $(SIM_EXTRA_DEPS).
1370         (sim-bits.o): Depend on $(sim-n-bits_h).
1371         (sim-load.o): Depend on callback.h.
1372
1373         * Make-common.in (cgen-*.o): Update dependencies, mem-ops.h renamed to
1374         cgen-mem.h, sem-ops.h renamed to cgen-ops.h.
1375         * cgen-mem.h, cgen-ops.h: New files.
1376
1377         * aclocal.m4 (--enable-sim-scache): Pass -DWITH_SCACHE=0 for "=no".
1378
1379         * Makefile.in (nltvals.def): Depend on gennltvals.sh.
1380         Rewrite build rule.
1381         * callback.c: #include string.h or strings.h.
1382         #include sys/types.h and sys/stat.h.
1383         (cb_init_syscall_map,cb_init_errno_map,cb_init_open_map): Declare.
1384         (os_get_errno,os_open): Update.
1385         (os_stat,os_fstat): New functions.
1386         (os_init): Initialize syscall_map, errno_map, open_map.
1387         (default_callback): Add entries for os_stat, os_fstat, syscall_map,
1388         errno_map, open_map, signal_map, stat_map.
1389         (cb_read_target_syscall_maps): New function.
1390         (cb_target_to_host_syscall): New function.
1391         (cb_host_to_target_errno): Renamed from host_to_target_errno.
1392         (cb_target_to_host_open): Renamed from target_to_host_open.
1393         (store): New function.
1394         (cb_host_to_target_stat): New function.
1395         * syscall.c: New file.
1396         * gentmap.c (sys_tdefs): New global.
1397         (gen_targ_vals_h): Output target syscall numbers.
1398         (gen_targ_map_c): Update.  Output target syscall translation map.
1399         * gentvals.sh: New first argument `target'.  Preface table with
1400         #ifdef NL_TARGET_$target if non-null target passed.
1401         * gennltvals.sh: New file.
1402         * nltvals.def: Regenerated.
1403
1404 Fri Nov 14 11:33:34 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1405
1406         * sim-n-core.h (sim_core_read_unaligned_N): Return static
1407         sim_core_dummy_M.
1408         (sim_core_dummy_M): Declare.
1409         
1410 Wed Nov 12 18:16:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1411
1412         * sim-core.c (sim_core_signal): Print the address of the
1413         instruction.
1414
1415 Thu Nov 13 11:49:41 1997  Doug Evans  <devans@seba.cygnus.com>
1416
1417         * sim-base.h (sim_state_base): Move `magic' to end of struct.
1418
1419         * sim-base.h (sim_state_base): Add member trace_data.
1420         (STATE_TRACE_DATA): New macro.
1421         * sim-trace.h (TRACE_DEBUG_IDX,TRACE_debug): New macros.
1422         ({WITH_,}TRACE_DEBUG_P): New macros.
1423         (STATE_TRACE_FLAGS,STRACE_P,STRACE_DEBUG_P): New macros.
1424         (_sim_cpu): Delete forward reference.
1425         (debug_printf): Update.
1426         * sim-trace.c (OPTION_TRACE_DEBUG): Define.
1427         (trace_options): Add --trace-debug.
1428         (set_trace_options): Handle it.
1429         (trace_option_handler): Likewise.
1430         (trace_install): Init state trace_data struct.
1431         (trace_uninstall): Close state trace file.
1432         * sim-events.c (ETRACE): Only print source file and line number if
1433         --trace-debug.
1434         * sim-n-core.h (sim_core_trace_M): Likewise.
1435
1436         * sim-core.c (sim_core_signal): Add missing "\n" in message.
1437
1438 1997-11-13  Felix Lee  <flee@cygnus.com>
1439
1440         * sim-n-core.h (sim_core_read_unaligned_N): illegal empty
1441         initializer.
1442         * sim-types.h (unsigned128,signed128): fix typo for MSVC.
1443
1444 Wed Nov 12 12:18:08 1997  Doug Evans  <devans@canuck.cygnus.com>
1445
1446         * aclocal.m4 (SIM_AC_OPTION_SCACHE): Fix typo.
1447
1448         * Make-common.in (BUILT_SRC_FROM_COMMON): Remove files no longer
1449         built this way.
1450         (sim-config.o): Remove non-existent $(sim-nconfig_h) dependency.
1451         (clean): Don't delete $(BUILT_SRC_FROM_COMMON) if building in
1452         source tree.
1453
1454 Tue Nov 11 13:28:02 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1455
1456         * sim-events.c (sim_events_process): Re-compute the time -
1457         update_time_from_event - as each event is processed. Reverses
1458         previous change.
1459
1460 Fri Nov  7 00:37:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1461
1462         * callback.c (os_poll_quit): Replace _WIN32 with _MSC_VER.
1463
1464 Fri Nov  7 00:37:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1465
1466         * sim-events.c (sim_events_process): Delete redundant call to
1467         update_time_from_event.
1468         (sim_events_slip): Always decrement time_from_event.
1469         (sim_events_tick, sim_events_deschedule, update_time_from_event):
1470         Delete assertion that time_from_event >=0 when work in queue, no
1471         longer applicable.
1472
1473 Thu Nov  6 12:06:46 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1474
1475         * sim-options.c (STANDARD_OPTIONS): Change OPTION_* to an enum.
1476         (standard_option_handler): Update.
1477
1478         * sim-options.h: Clarify documentation.
1479         (OPTION_LONG_ONLY_P): Delete definition.
1480         (OPTION_VALID_P): Define.
1481         
1482         * sim-options.c (sim_print_help): Allow short only options.
1483         (sim_parse_args): Ditto.
1484         (sim_args_command): Skip short only options.
1485         (sim_parse_args): Allocate space for NUM_OPTS not just 256. Make
1486         separate entries for short and long options in the HANDLERS and
1487         ORIG_VAL tables.
1488         (sim_parse_args): Disable argument permutation.
1489
1490 Wed Nov  5 13:40:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1491
1492         * sim-core.h (DECLARE_SIM_CORE_WRITE_N. DECLARE_SIM_CORE_READ_N):
1493         Add argument M, size of data type.
1494         (sim_core_read_misaligned_3, sim_core_write_misaligned_3):
1495         Declare, ditto for 5, 6 & 7 byte transfers.
1496         (sim_core_write_unaligned_1, sim_core_write_unaligned_1): Define
1497         as aligned variant.
1498         
1499         * sim-n-core.h (sim_core_trace_M): Rename from
1500         sim_core_trace_N. Add nr_bytes argument. Replace transfer argument
1501         with transfer type. Print transfer direction.  Handle 1 and 2 byte
1502         transfers.
1503         (sim_core_read_unaligned_N, sim_core_write_unaligned_N): Trace
1504         unaligned accesses.
1505         (unsigned_M, T2H_M, H2T_M): Rename from unsigned_N, T2H_N, H2T_N.
1506         Update all functions.
1507
1508         * sim-core.c: Generate functions starting with 16 not 1.
1509         (sim_core_read_unaligned_3): Generate. Ditto for 3 byte write and
1510         all 5, 6 & 7 byte transfers.
1511
1512         * sim-n-core.h (sim_core_read_misaligned_N,
1513         sim_core_write_misaligned_N): Implement.
1514
1515 Mon Nov  3 15:03:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1516
1517         * sim-endian.h (U16_8): Implement
1518
1519         * sim-endian.c (sim_endian_split_16, sim_endian_join_16): New functions
1520
1521         * sim-endian.h (VL8_16, VH8_16): Implement.
1522
1523         * sim-memopt.c (memory_option_handler): Typecast 64bit value to
1524         long in printf.
1525         (memory_option_handler): Only zalloc modulo bytes when non-zero.
1526         (memory_option_handler): Skip comma in alias address list
1527
1528 Fri Oct 31 13:03:33 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1529
1530         * sim-memopt.c (do_memopt_add, do_memopt_delete): Add level and
1531         space params.
1532         (parse_size, parse_addr): New functions
1533         (memory_option_handler, memory_options): Parse address & size
1534         using new functions. Pass level, space, modulo to do_memopt_add &
1535         do_memopt_del.
1536
1537         * sim-memopt.h (struct _sim_memopt): Add level & space fields.
1538
1539         * sim-core.h (sim_core_arrach, sim_core_detach): Replace
1540         `attach_type attach' argument with `unsigned level' argument.
1541         Document.
1542
1543         * sim-core.c (new_sim_core_mapping, sim_core_map_attach,
1544         sim_core_attach): Replace argument attach with level.  Update
1545         verification of arguments.
1546         (sim_core_map_detach, sim_core_detach): Replace argument attach
1547         with level.
1548
1549         * sim-basics.h (enum _attach_type): Delete.
1550
1551 Thu Oct 30 13:45:00 1997  Doug Evans  <devans@seba.cygnus.com>
1552
1553         * sim-core.h (sim_core_write_8): Define.
1554
1555 Tue Oct 28 12:29:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1556
1557         * sim-bits.h: Document ROTn macro.
1558
1559         * sim-endian.h (H2T): Handle 16 byte variables.
1560
1561         * sim-n-core.h (sim_core_read_unaligned_N): Return a dummy when an
1562         error.
1563
1564         * sim-core.c: Do not generate sim_core_*_word.
1565
1566         * sim-n-core.h (sim_core_trace_N): Add line_nr argument.
1567         (sim_core_write_aligned_N, sim_core_read_aligned_N): Update.
1568
1569         * sim-core.h (sim_core_read_unaligned_word,
1570         sim_core_read_aligned_word, sim_core_read_word,
1571         sim_core_write_unaligned_word, sim_core_write_aligned_word,
1572         sim_core_write_word): Change to macros that map onto sim_core_*_N.
1573
1574 Mon Oct 27 11:25:10 1997  Doug Evans  <devans@canuck.cygnus.com>
1575
1576         * sim-n-endian.h: Add TAGS entrys for 16 byte versions.
1577
1578         * sim-endian.h: Disable 16 byte support.
1579
1580 Mon Oct 27 12:00:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1581
1582         * sim-endian.c (_SWAP_16): Define.  Generate 126 bit swap code.
1583
1584         * sim-n-core.h (sim_core_trace_N): New function.
1585         (sim_core_read_aligned_N, sim_core_write_aligned_N): Use,
1586         (sim_core_read_unaligned_N): Do not retyrn bogus value wden error.
1587
1588         * sim-endian.h:  Add 128 bit variant.
1589
1590         * sim-core.h, sim-core.c: Add 128 bit variant.
1591
1592         * sim-types.h: Add signed128 and unsigned128 types using a struct.
1593
1594 Fri Oct 24 11:33:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1595
1596         * sim-events.c (sim_events_process): Clear events->work_pending.
1597         (sim_events_tickn, sim_events_tick): Accumulate, instead of
1598         setting, nr_ticks_to_process.
1599         (sim_events_preprocess): Allow nr_ticks_to_process to be non-zero
1600         when the event queue isn't next.
1601
1602         * sim-events.h, sim-events.c (sim_events_slip): New function.
1603
1604 Wed Oct 22 14:18:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1605
1606         * sim-hload.c (sim_load): Pass lma_p==0 and do_load=sim_load.
1607
1608         * sim-utils.h, sim-load.c (sim_load_file): Add lma_p and do_load
1609         arguments.
1610
1611 Tue Oct 21 18:37:57 1997  Doug Evans  <devans@canuck.cygnus.com>
1612
1613         * nrun.c (main): Remove useless test of name != NULL.
1614         Exit if bfd_openr fails.  Call bfd_check_format after bfd_openr.
1615
1616 Tue Oct 21 10:42:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1617
1618         * sim-fpu.c (EXPMAX): Type is unsigned.
1619         (MIN_INT, MAX_INT): Type is signed64.
1620         (i2fpu): Type of val is signed64.
1621
1622 Tue Oct 21 10:42:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1623
1624         * sim-profile.h (PROFILE_PC_BUCKET_SIZE): Treat a shift of zero as
1625         a bucket size of zero.
1626
1627         * sim-profile.c (OPTION_PROFILE_PC_GRANULARITY,
1628         OPTION_PROFILE_PC): Define.
1629         (profile_option_handler): Add support for --profile-pc and
1630         --profile-pc-granularity options.
1631         (profile_pc_init): When possible, compute nr buckets from bucket
1632         size.
1633
1634         * sim-profile.c (profile_pc_init): Align the profile-pc end
1635         address with the profile-pc bucket size.
1636
1637         * sim-profile.h (PROFILE_PC_NR_BUCKETS): Rename PROFILE_PC_SIZE to
1638         something less ambiguous.
1639         (PROFILE_PC_BUCKET_SIZE): Ditto for PROFILE_PC_SAMPLE_SIZE.
1640
1641         * sim-profile.c (profile_pc_cleanup): New function. Move
1642         profile_pc_uninstall code to here.
1643         (profile_pc_uninstall): Call.
1644         (profile_pc_init): Call.
1645
1646 Mon Oct 20 17:23:58 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1647
1648         * sim-profile.c (profile_print_pc): Dump pc profile to dmon.out
1649         file using BSD gprof format.
1650
1651         * sim-bits.h (LSBIT, MSBIT, BIT): Force result to type
1652         unsigned_word.
1653         (LSBIT8, LSBIT16, LSBIT32, LSBIT64, MSBIT8, MSBIT16, MSBIT32,
1654         MSBIT64): Force result to unsignedN.
1655
1656 Thu Oct 16 11:38:56 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1657
1658         * sim-alu.h (ALU16_BEGIN, ALU32_BEGIN, ALU64_BEGIN): Drop opening
1659         brace from macro.
1660         (ALU8_BEGIN, ALU8_SET, ALU8_ADD, ALU8_SUB, ALU8_NEGATE): Define.
1661         (ALU16_ADD, ALU16_SUB, ALU16_NEGATE): Simplify arrithmetic.
1662         (ALU32_ADD, ALU32_SUB, ALU32_NEGATE): Simplify arrithmetic.
1663         (ALU64_ADD, ALU64_SUB, ALU64_NEGATE): Simplify arrithmetic.
1664
1665 Wed Oct 15 09:24:19 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1666
1667         * sim-core.h (struct _sim_core_mapping): Change free_buffer to
1668         type void*.
1669
1670         * sim-core.c (sim_core_uninstall, new_sim_core_mapping,
1671         sim_core_map_attach, sim_core_map_detach): Change free_buffer to
1672         type void*.
1673         (sim_core_attach): Rename buffer_freed to free_buffer, type
1674         void*. Ensure that allocated buffer is alligned according to
1675         region's address.
1676
1677 Mon Oct 13 11:34:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1678
1679         * sim-alu.h (ALU64_HAD_OVERFLOW): Define.
1680         (ALU64_SUB): Define.
1681
1682         * Make-common.in (all): Build SIM_EXTRA_ALL first.
1683         (.gdbinit): Remove dependencies, generate once per build.
1684
1685 Tue Oct 14 19:20:09 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1686
1687         * sim-n-core.h (sim_core_read_aligned_N,
1688         sim_core_write_aligned_N): Make xaddr param type address_word not
1689         unsigned_word.
1690
1691 Fri Oct  3 09:49:18 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1692
1693         * sim-fpu.h, sim-fpu.c: Rewrite.  Change sim_fpu object to an
1694         unpacked floating point struct.  Pass sim_fpu object by reference.
1695         Add preliminary support for rounding modes.
1696         
1697 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1698
1699         * configure: Regenerated to track ../common/aclocal.m4 changes.
1700
1701 Thu Oct  2 19:43:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1702
1703         * aclocal.m4 (sim-bitsize): Fix typo, WITH_TARGET_WORD_BITSIZE not
1704         WITH_TARGET_BITSIZE.
1705
1706 Thu Sep 25 23:20:20 1997  Felix Lee  <flee@yin.cygnus.com>
1707
1708         * sim-profile.c (profile_print_core): label needs empty statement.
1709
1710 Thu Sep 25 11:20:47 1997  Stu Grossman  <grossman@babylon-5.cygnus.com>
1711
1712         * sim-break.c (sim_set_breakpoint sim_clear_breakpoint):  Use ZALLOC
1713         and zfree instead of xmalloc and free.  Prevents warnings.
1714
1715 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1716
1717         * configure: Regenerated to track ../common/aclocal.m4 changes.
1718
1719 Wed Sep 24 17:23:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1720
1721         * Make-common.in (SIM_BITSIZE): Assign from configured value.
1722         (CONFIG_CFLAGS): Add SIM_BITSIZE.
1723
1724         * aclocal.m4 (--enable-sim-bitsize): Developer option for
1725         controling the bitsize/msb of the target.
1726
1727 Wed Sep 24 17:41:40 1997  Stu Grossman  <grossman@babylon-5.cygnus.com>
1728
1729         * Make-common.in:  New files sim-break.c, sim-break.h.
1730         * sim-base.h:  Add point to breakpoint list to sim_state_base.
1731         * sim-break.c sim-break.h:  New modules that implement intrinsic
1732         breakpoint support.
1733         * sim-module.c:  Add breakpoint module.
1734         
1735 Tue Sep 23 00:26:39 1997  Felix Lee  <flee@yin.cygnus.com>
1736
1737         * sim-events.c (SIM_EVENTS_POLL_RATE): poll more often than once
1738         an hour.
1739         * sim-n-core.h (WITH_XOR_ENDIAN): MSVC barfs on
1740         if (0) { 1 % 0; }
1741         * sim-core.c (sim_core_xor_write_buffer): WITH_XOR_ENDIAN + 1.
1742         (SIGBUS) define for Windows.
1743         * sim-trace.c (trace_printf,debug_printf): added ALMOST_STDC.
1744         * sim-resume.c: define SIGTRAP for windows.
1745         * sim-xcat.h: use token pasting if ALMOST_STDC.
1746
1747 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1748
1749         * Make-common.in (SIM_SCACHE, SIM_DEFAULT_MODEL): Assign
1750         configured values.
1751         (CONFIG_CFLAGS): Add same.
1752         
1753 Mon Sep 22 17:20:27 1997  Felix Lee  <flee@cygnus.com>
1754
1755         * sim-types.h (SIGNED64): ##i64 when _MSC_VER, not _WIN32.
1756         (SIGNED32): use ##i32.
1757
1758 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1759
1760         * configure: Regenerated to track ../common/aclocal.m4 changes.
1761
1762 Tue Sep 23 10:07:47 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1763
1764         * aclocal.m4 (sim-endian): Simplify logic determining [default]
1765         endian of target.
1766
1767         * Make-common.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN,
1768         SIM_HOSTENDIAN, SIM_RESERVED_BITS, SIM_ASSERT, SIM_FLOAT,
1769         SIM_HARDWARE, SIM_INLINE, SIM_PACKAGES, SIM_REGPARM, SIM_SMP,
1770         SIM_STDCALL, SIM_XOR_ENDIAN): Assign configured values.
1771         (CONFIG_CFLAGS): Add same.
1772
1773         * aclocal.m4: Perform AC_SUBST on optional options.
1774
1775 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1776
1777         * sim-config.h (WITH_DEFAULT_ALIGNMENT): Don't hardwire any alignment.
1778
1779         * sim-options.c (standard_option_handler): Typo in warning message.
1780
1781         * sim-base.h (STATE_MODEL): Make conditional on SIM_HAVE_MODEL.
1782
1783         * sim-profile.c (profile_print_insn): Check 0 .. MAX_INSN for any
1784         insn count.  Make count conditional on there being a valid
1785         INSN_NAME.
1786         (profile_pc_init): Make default PC profile frequency an arbitrary
1787         256.
1788
1789         * sim-base.h: Ditto.
1790
1791         * sim-profile.h (WITH_PROFILE_MODEL_P): Only enable modeling when
1792         SIM_HAVE_MODEL.
1793
1794         * sim-model.h (struct MACH): Depreciate, to be replaced by bfd
1795         archure struct.
1796
1797 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1798
1799         * configure: Regenerated to track ../common/aclocal.m4 changes.
1800
1801 Mon Sep 22 11:45:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1802
1803         * aclocal.m4 (sim_alignment): Simplify logic for selecting the
1804         configured alignment.
1805
1806 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1807
1808         * configure: Regenerated to track ../common/aclocal.m4 changes.
1809
1810 Fri Sep 19 17:26:14 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1811
1812         * sim-config.c (sim_config): Check for default alignment.
1813
1814         * sim-options.c (standard_option_handler): Add alignment option.
1815
1816         * aclocal.m4 (sim_alignment): Allow configuration of hardwired and
1817         default alignment requirements on memory accesses.
1818         
1819 Fri Sep 19 11:51:35 1997  Jeffrey A Law  (law@cygnus.com)
1820
1821         * sim-load.c (sim_load_file): Return failure if the executable
1822         had no loadable sections.
1823
1824 Wed Sep 17 13:33:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1825
1826         * sim-events.c (ETRACE): Use trace_printf not sim_io_printf for
1827         trace output.
1828
1829         * sim-core.c (sim_core_signal): When bad access halt simulator
1830         SIGSEGV / SIGBUS instead of aborting.
1831         (signal.h): Include.
1832         
1833         * sim-watch.c (sim_watchpoint_install): Handler for watchpoint
1834         options was missing.
1835
1836         * sim-bits.h (MOVED): Define
1837
1838 Wed Sep 17 10:33:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1839
1840         * sim-alu.h (ALU32_HAD_OVERFLOW): Pacify GCC, Use MSBIT instead of
1841         BIT.
1842
1843         * sim-bits.h (LSBIT, MSBIT): Check for overflow of shift value.
1844
1845         * sim-bits.c: Add 8 bit versions of bit macros.
1846
1847         * sim-bits.h: Ditto.
1848
1849 Tue Sep 16 16:15:16 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1850
1851         * sim-bits.c (LSSEXT, MSSEXT): Replace SEXT.
1852         (LSINSERTED, MSINSERTED): Ditto for INSERTED.
1853         
1854         * sim-n-bits.h (MSSEXTn, LSSEXTn): Replace SEXTn.
1855         (LSINSERTDn, MSINSERTEDN): Ditto for INSERTEDn.
1856         
1857         * sim-bits.h (SEXT*): Define as MSEXT/LSEXT.
1858         (INSERTED*): Ditto for LSINSERTED/MSINSERTED.
1859         
1860 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1861
1862         * aclocal.m4 (SIM_AC_COMMON): Add optional config.h file argument.
1863         configure.in: Output to cconfig.h instead of config.h.
1864
1865         * configure: Regenerated to track ../common/aclocal.m4 changes.
1866
1867 Mon Sep 15 15:39:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1868
1869         * sim-utils.c (sim_analyze_program): Set STATE_ARCHITECTURE from
1870         BFD if known.
1871
1872 Tue Sep  9 21:46:46 1997  Felix Lee  <flee@cygnus.com>
1873
1874         * callback.c (os_write): divert stdout and stderr to their
1875         respective hooks.
1876
1877 Thu Sep 11 10:08:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1878
1879         * sim-profile.c (profile_print_speed): Call
1880         sim_events_elapsed_time instead of PROFILE_EXEC_TIME for moment.
1881
1882         * sim-events.c (sim_events_elapsed_time): New function return nr
1883         host MS consumed by the simulator.
1884         (sim_watch_valid): Use.
1885
1886         * sim-module.c (modules): Install sim_events very very early.
1887
1888         * sim-profile.c (profile_print): Call profile_print_pc.
1889         (print_bar):
1890         (profile_pc_init): New function, set up processor for PC
1891         profiling.
1892         (profile_print_pc): New function, print a PC profile.
1893         (profile_pc_event): New function, sample PC.
1894
1895         * sim-profile.h (PROFILE_PC_COUNT, PROFILE_PC_START,
1896         PROFILE_PC_END, PROFILE_PC_SHIFT, PROFILE_PC_SAMPLE_SIZE): Add to
1897         profile struct.
1898
1899         * sim-options.c (sim_print_help): Pacify GCC.
1900
1901         * sim-n-core.h (sim_core_read_aligned_N,
1902         sim_core_write_aligned_N): Add un-conditional profile call.
1903         (sim_core_read_unaligned_N, sim_core_write_unaligned_N): Add
1904         profile call when aligned read/write isn't used.
1905
1906         * sim-base.h: Include sim-profile, sim-model after sim-core &
1907         sim-events allow sim-core to define useful values.
1908
1909         * sim-profile.c (OPTION_PROFILE_CORE): Define.
1910         (profile_option_handler, profile_options): Add support for
1911         --profile-core option.
1912         (print_bar): Include when core profiling.
1913         (profile_print_core): New function, print core profile.
1914
1915         * sim-config.c (print_sim_config): Print profile status.
1916
1917         * sim-profile.h (PROFILE_NEXT_IDX, PROFILE_core,
1918         WITH_PROFILE_PC_P): Define.
1919         (PROFILE_CORE_COUNT): Count each core-map/size separatly.
1920         (PROFILE_COUNT_CORE): Define.
1921
1922 Thu Sep 11 08:44:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1923
1924         * sim-watch.c (handle_watchpoint): Pass a char** index into the
1925         interrupt_names array as the data.
1926         (sim-watch.h): Document.
1927
1928 Wed Sep 10 16:15:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1929
1930         * sim-options.c (sim_print_help): When the doc string is to long
1931         word wrap it.
1932
1933         * sim-watch.c (sim_watchpoint_install): Use option.doc_name so
1934         that only the first few the watch options are listed.  Generate
1935         meanginful usage messages.
1936
1937         * sim-options.h (struct OPTION): Clarify use of doc_name field
1938         
1939 Wed Sep 10 13:23:24 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1940
1941         * sim-options.c (OPTION_ARCHITECTURE_INFO): New option.
1942         (standard_option_handler): Handle --architecture-info.
1943
1944 Tue Sep  9 21:46:46 1997  Felix Lee  <flee@cygnus.com>
1945
1946         * sim-core.h (sim_cpu_core): [WITH_XOR_ENDIAN + 1], to avoid
1947         illegal zero-sized array.
1948         * sim-core.c (sim_core_xor_read_buffer): same.
1949
1950 Tue Sep  9 11:20:35 1997  Doug Evans  <dje@canuck.cygnus.com>
1951
1952         * nltvals.def: Regenerate.
1953
1954 Tue Sep  9 02:10:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1955
1956         * sim-fpu.c (DP_FRACHIGH2): Define LL using SIGNED64.
1957
1958 Mon Sep  8 12:22:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1959
1960         * sim-bits.c (MASKED): Delete.
1961         (EXTRACTED): Delete.
1962         (LSEXTRACTED, MSEXTRACTED): New functions.
1963
1964         * sim-n-bits.h (MASKEDn): Delete, define as MSMASKED or LSMASKED.
1965         (MSMASKEDn, LSMASKEDn): Add last argument.
1966         (MSMASK*): Ditto.
1967         
1968         * sim-bits.h (EXTEND8, EXTEND16): Define.
1969         (EXTRACTED64): Define as 64 bit extract, not 32 bit.
1970
1971         * sim-run.c (sim_engine_run): Use CPU_CIA macro.
1972
1973         * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use CPU_CIA to get at
1974         current instruction address.
1975
1976         * sim-inline.h (*_ENGINE): Define.
1977
1978 Fri Sep  5 08:39:02 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1979
1980         * sim-core.c (sim_core_attach): Fix checks of modulo/mask.
1981
1982         * sim-watch.c (delete_watchpoint): Delete by ident and type.
1983         (watch_option_handler): Call delete_watchpoint with ident or type.
1984         (sim_watchpoint_install): Create interrupt specific watchpoint
1985         commands on the fly.
1986         (do_watchpoint_create): New function, create a watch point using
1987         type/int-nr info encoded in the option nr.
1988         (do_watchpoint_info): New function.  List active watchpoints.
1989
1990         * sim-watch.h: Change data structure to a list.
1991
1992         * sim-memopt.c (memory_option_handler): Require explicit "all"
1993         before deleting all memory regions.
1994
1995         * sim-utils.c (sim_do_commandf): New function, printf version of
1996         sim_do_command.
1997
1998         * sim-basics.h (asprintf, vasprintf): Hack, define for CYGWIN32. 
1999         
2000         * sim-alu.h (ALU64_ADD): Use explicit MSEXTRACTED64, do not assume
2001         bit endianness.
2002         (SIGNED64, UNSIGNED64): Delete.
2003         (ALU64_ADD): Don't rely on bit endianness.
2004         (ALU64_BEGIN): Define.
2005
2006         * sim-n-bits.h (MSEXTRACTEDn, LSEXTRACTED): New functions.
2007         (EXTRACTEDn): Delete, define as either LSEXTRACTED or MSEXTRACTED.
2008
2009         * sim-types.h (SIGNED64, UNSIGNED64): New macros, attach relevant
2010         suffix - u64, LL - to 64 bit constants.
2011
2012 Thu Sep  4 09:27:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2013
2014         * sim-config.c (sim_config): Add assert for SIM_MAGIC_NUMBER.
2015
2016         * sim-utils.h (NZALLOC): Define - zalloc * N.
2017
2018         * sim-hrw.c (sim_read, sim_write): New file.  Provide generic
2019         implementation of read/write functions.
2020
2021         * Make-common.in (sim-hrw.o): New target.
2022
2023         * sim-base.h (STATE_MEMOPT_P): Delete, simulators _always_ add
2024         memory.
2025
2026         * sim-memopt.c (memory_option_handler): Implement memory-size
2027         command. Implement memory-alias command.  Let memory-delete delete
2028         all memory regions.
2029         (add_memopt): New function.  Add a memory region.
2030         (do_memopt_delete): New function. Delete a memory region.
2031
2032         * sim-utils.c (sim_elapsed_time_get): Never return zero.
2033
2034         * sim-core.c (sim_core_detach): New function.
2035         (sim_core_map_detach): New function. Perform the actual detach.
2036         (sim_core_init): Move initialization code from here.
2037         (sim_core_install): To here.
2038         (sim_core_uninstall): And here.
2039
2040         * sim-module.c: Add memopt module.
2041
2042         * sim-base.h (STATE_MEMOPT, STATE_MEMOPT_P): Add memopt to
2043         simulator base type.
2044
2045         * Make-common.in (sim_main_headers): Add sim-memopt.h
2046         (sim-memopt.o): New target.
2047
2048         * sim-core.c (sim_core_install): Add core_options to the option
2049         table.
2050
2051         * sim-watch.c (watch_options): Make --delete-watch a synonym for
2052         --watch-delete.
2053
2054         * sim-config.h (WITH_MODULO_MEMORY): Define as 0.  Update
2055         comments.
2056
2057         * sim-core.h (struct _sim_core_mapping): Change nr_bytes to type
2058         address_word, add mask member.
2059         
2060         * sim-core.h, sim-core.c (sim_core_attach): Make nr_bytes of type
2061         address_word, allow for 64bit targets in 32bit host. Add modulo
2062         argument.
2063         (sim_core_map_attach): Ditto.
2064         (new_sim_core_mapping): Ditto.
2065         (sim_core_translate): Mask address when modulo memory.
2066
2067 Wed Sep  3 17:32:54 1997  Doug Evans  <dje@seba.cygnus.com>
2068
2069         * sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.
2070
2071         * gdbinit.in: New file.
2072         * aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
2073         * Make-common.in (distclean): Delete .gdbinit.
2074         (.gdbinit): Add rule for.
2075         * configure: Regenerated to track ../common/aclocal.m4 changes.
2076
2077         * Make-common.in (cgen-run.o): Add rule for.
2078
2079 Wed Sep  3 10:08:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2080
2081         * sim-resume.c (sim_resume): Suspend/resume the simulator.
2082
2083         * sim-events.c (sim_watch_valid): Compute total elapsed time from
2084         both resumed and previous elapsed time.
2085         (sim_events_init): Set initial_wallclock and current_wallclock to
2086         zero.
2087         (sim_events_install): Install sim_events_suspend and
2088         sim_events_resume.
2089         (sim_events_watch_clock): Allow for suspended simulator when
2090         computing the time of the clock event.
2091
2092         * sim-events.h (struct _sim_event): Add resume_wallclock, rename
2093         initial_wallclock to elapsed_wallclock, set both to zero.
2094         (sim_events_init, sim_events_uninstall): Delete prototypes.
2095
2096         * sim-module.h (MODULE_SUSPEND_FN, MODULE_RESUME_FN): Define types.
2097         
2098         * sim-module.c(sim_module_resume, sim_module_suspend): New
2099         functions.
2100
2101 Wed Sep  3 10:08:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2102
2103         * sim-core.c (sim_core_map_attach): Clarify memory overlap error
2104         message.
2105
2106 Tue Sep  2 14:57:06 1997  Doug Evans  <dje@canuck.cygnus.com>
2107
2108         * Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
2109         * Make-common.in (TAGS): Likewise.
2110         * sim-n-bits.h: Add TAGS comments for all functions.
2111         * sim-n-core.h: Likewise.
2112         * sim-n-endian.h: Likewise.
2113
2114 Mon Sep  1 10:50:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2115
2116         * sim-utils.c (sim_state_alloc): Set CPU backlinks, callback and
2117         kind.
2118         
2119         * sim-base.h (sim_state_alloc): Add callback and kind arguments.
2120         
2121         * sim-base.h (INVALID_INSTRUCTION_ADDRESS): Add default
2122         definition.
2123
2124 Sat Aug 30 09:47:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2125
2126         * sim-fpu.c (DP_GARDMSB, ...): Make unsigned.
2127         (DP_FRACHIGH, DP_FRACHIGH2, ..): Use MSMASK to avoid LL.
2128
2129 Fri Aug 29 13:37:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2130
2131         * sim-core.c (sim_core_map_attach): Cast attach enum to int.
2132         (sim_core_xor_read_buffer, sim_core_xor_write_buffer): Make
2133         nr_transfered and nr_this_transfer unsigned.
2134
2135         * sim-events.c (sim_events_tickn): N is signed, as limited to
2136         MAXINT.
2137
2138         * sim-n-endian.h (offset_N): Change size to unsigned.
2139
2140         * callback.c (os_poll_quit): Add prototypes for kbhit and getkey.
2141
2142 Fri Aug 29 10:10:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2143
2144         * sim-utils.c (sim_copy_argv): Delete, replaced by dupargv.
2145
2146         * sim-options.c (sim_parse_args): Use dupargv.
2147
2148 Thu Aug 28 10:36:34 1997  Doug Evans  <dje@canuck.cygnus.com>
2149
2150         * sim-options.c (standard_option_handler): Use xstrdup, not strdup.
2151
2152 Thu Aug 28 12:09:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2153
2154         * sim-base.h (STATE_ARCHITECTURE, STATE_TARGET): Add to simulator
2155         base type.
2156
2157         * sim-options.c (standard_options): Add --architecture=MACHINE and
2158         --target=TARGET options.
2159         (OPTION_ARCHITECTURE, OPTION_TARGET): Define.
2160         (standard_option_handler): Handle architecture and target options.
2161         (bfd.h): Include.
2162         
2163         * sim-utils.c (sim_analyze_program): Pass STATE_TARGET to
2164         bfd_openr.
2165         (sim_analyze_program): Set prog_bfd architecture from
2166         STATE_ARCHITECTURE if known.
2167
2168 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2169
2170         * configure: Regenerated to track ../common/aclocal.m4 changes.
2171         * config.in: Ditto.
2172
2173 Wed Aug 27 18:11:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2174
2175         * aclocal.m4 (enable-sim-warnings): Remove comment stating
2176         that option does not apply to certain files.
2177
2178 Wed Aug 27 15:13:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2179
2180         * sim-bits.h (LSBIT8, LSBIT16, LSBIT32, LSBIT64, LSBIT, MSBIT8,
2181         MSBIT16, MSBIT32, MSBIT64, MSBIT): New macros - single bit as
2182         offset from MSB/LSB.
2183
2184         * sim-endian.h (A1_8, A2_8, A4_8, A1_4, A2_4, A1_2): New macro,
2185         access address of sub word quantity of a hosts 16, 32, 64 bit word
2186         type.
2187         (V1_2, V1_4, V2_4, V1_8, V2_8, V4_8): Ditto for values.
2188         (U8_1, U8_2, U8_4, U4_1, U4_2, U2_1): Ditto for set of values.
2189         (V2_H1, V2_L1, V4_H2, V4_L2, V8_L4, V8_H4): Given N byte argument,
2190         return N*2 byte value with argument in Hi/Lo word.  Renamed from
2191         V1_H2, V1_L2, V2_H4, V2_L4, V4_H8, V4_L8.
2192         
2193         * sim-alu.h (ALU32_HAD_OVERFLOW): Use 64 bit mask not 32bit.
2194         (ALU16_HAD_CARRY, ALU32_HAD_CARRY, ALU16_HAD_OVERFLOW): Use MSBIT
2195         so that bit offset is explicit.
2196
2197 Wed Aug 27 11:55:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2198
2199         * sim-utils.c (sim_analyze_program): Add prog_name argument.
2200         Update STATE_PROG_BFD when needed with a dup'd copy of the
2201         program.
2202
2203         * sim-config.c (sim_config): Delete ABFD argument, use
2204         STATE_PROG_BFD directly.
2205
2206 Tue Aug 26 12:55:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2207
2208         * run.c (main): Pass the open ABFD to sim_create_inferior.
2209         
2210         * nrun.c (main): Determine prog_bfd.  Pass to sim_create_inferior
2211         and sim_load.
2212         (bfd.h): Include.
2213         
2214         * sim-hload.c (sim_load): New file. Implement generic sim_load for
2215         hardware only simulator targets.
2216
2217         * Make-common.in (sim-hload.o): Add rule.
2218
2219 Wed Aug 27 09:51:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2220
2221         * sim-utils.c (sim_copy_argv): Rewrite to match malloc strategy
2222         used by copyargv and freeargv.
2223
2224         * sim-options.c (sim_parse_args): Save a copy of PROG-ARGS in
2225         STATE_PROG_ARGV, not just a pointer.
2226
2227 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2228
2229         * configure: Regenerated to track ../common/aclocal.m4 changes.
2230         * config.in: Ditto.
2231
2232 Mon Aug 25 12:11:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2233
2234         * aclocal.m4 (sim-endian): Add second argument to
2235         SIM_AC_OPTION_ENDIAN.  First is hardwired endian, second is
2236         default endian when not hardwired.
2237
2238         * sim-config.h (WITH_DEFAULT_TARGET_BYTE_ORDER): New macro, if all
2239         else failes value for target byte order.
2240
2241         * sim-config.c (sim_config): Add abfd arguments. Set
2242         STATE_PROG_BFD accordingly.  Determine prefered_target_byte_order
2243         from same.
2244         (sim_config): Return SIM_RC, don't abort.
2245         (bfd.h): Include.
2246         
2247         * run.c (main): Update call to sim_open - add ABFD argument.
2248         * nrun.c (main): Add NULL ABFD argument.
2249
2250 Thu Aug 14 12:48:57 1997  Doug Evans  <dje@canuck.cygnus.com>
2251
2252         * callback.c (os_poll_quit): Make static.
2253         Call sim_cb_eprintf, not p->eprintf.
2254         (sim_cb_printf, sim_cb_eprintf): New functions.
2255         * sim-utils.h (sim_cb_printf, sim_cb_eprintf): Declare.
2256
2257         * sim-basics.h (zalloc,zfree,sim_add_commas,SIM_ELAPSED_TIME,
2258         sim_elapsed_time_get,sim_elapsed_time_since): Move decls to
2259         sim-utils.h. #include sim-utils.h.
2260         * sim-utils.h: Above decls moved here.
2261         (sim_analyze_program,sim_load_file): Use `struct _bfd', not `bfd'.
2262
2263         * sim-watch.c (action_watchpoint): Fix thinkos.
2264
2265 Thu Jul 24 08:48:05 1997  Stu Grossman  (grossman@critters.cygnus.com)
2266
2267         * sim-types.h:  Fix defs of 64 bit data types for MSVC.
2268
2269 Tue Jul 22 10:35:37 1997  Doug Evans  <dje@canuck.cygnus.com>
2270
2271         * sim-n-core.h (sim_core_write_unaligned_N): Add missing break
2272         to FORCED_ALIGNMENT case.
2273
2274 Thu Jun  5 13:48:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2275
2276         * callback.c (target_to_host_open): Handle hosts with O_BINARY.
2277
2278 Thu Jun  5 08:47:10 1997  Jeffrey A Law  (law@cygnus.com)
2279
2280         * Make-common.in (libsim.a): Fix typo.
2281
2282 Thu Jun  5 13:48:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2283
2284         * nrun.c (main): Verify the structure returned before using it.
2285
2286 Wed Jun  4 11:44:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2287
2288         * sim-config.h (WITH_ENGINE): Enable the sim-engine module by
2289         default.
2290
2291         * sim-engine.c (sim_engine_install): New function.  Install the
2292         engine init functions.
2293         (sim_engine_init): [Re]initialize the simulator engine.
2294         
2295         * sim-module.c: Add sim_engine to list of modules that always
2296         install.
2297
2298 Tue Jun  3 04:52:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2299
2300         * sim-watch.c (schedule_watchpoint): Use sim_unschedule_watchpoint
2301         to remove the old watchpoint, not delete_watchpoint.
2302         (watch_option_handler): Action the correct watchpoint, not just
2303         cycles.
2304
2305 Wed May 28 14:47:41 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2306
2307         * sim-n-core.h (sim_core_write_aligned_N): For 8byte reads, output
2308         both low and high word.
2309         (sim_core_write_aligned_N): Ditto.
2310         
2311         * sim-trace.c (set_trace_options): Delete code explicitly setting
2312         core->trace.
2313
2314         * sim-options.c (sim_print_help): Call the list commands if not a
2315         standalone simulator.
2316         (sim_print_help): Advise that some options may not be applicable.
2317         
2318         * sim-trace.c (set_trace_options): Assume core present.
2319
2320         * sim-events.c (sim_events_schedule_after_signal): Overflow signal
2321         buffer when full not almost full.
2322
2323 Tue May 27 14:32:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2324
2325         * sim-events.c (sim_events_process): Don't blat the event queue
2326         when processing watchpoints.
2327
2328         * sim-watch.h: Make arg unsigned long - stop sign extension.
2329
2330         * sim-events.c (sim_watch_valid): rewrite so debugable.
2331
2332         * sim-config.h (WITH_XOR_ENDIAN): Default to zero.
2333
2334         * sim-watch.c (schedule_watchpoint): Add is_within option so that
2335         inequality test is possible.
2336         (handle_watchpoint): Re-pass is_within arg.
2337         (watch_option_handler): When `!' prefix to pc-watchpoint arg pass
2338         0 to schedule_watchpoint's is_within arg.
2339         (sim_watchpoint_init): Re-pass is_within arg.
2340
2341         * sim-options.c (sim_print_help): Add is_command argument.  Don't
2342         include -- prefix when called from the command line interpreter.
2343
2344         * sim-watch.c (schedule_watchpoint): Pass true is_within argument.
2345
2346         * sim-events.c (sim_events_watch_sim): Add is_within argument,
2347         zero indicates that the test should be reversed.
2348         (sim_events_watch_core): Ditto.
2349         (WATCH_CORE): Compare range against is_within.
2350         (WATCH_SIM): Ditto.
2351
2352 Tue May 27 12:48:03 1997  Andrew Cagney  <cagney@b2.cygnus.com>
2353
2354         * sim-events.c (WATCH_CORE): Pass NULL cpu argument to
2355         sim_core_read_buffer.  Check nr-bytes transfered.
2356
2357         * sim-core.h (sim_core_common): Define a new struct that contains
2358         the common data.  to sd and cpu structures.
2359         * sim-core.c (sim_core_attach): Update.
2360         (sim_core_init): Update. Remember to copy initialized data to each
2361         cpu.
2362         (sim_core_find_mapping): Ditto.
2363
2364         * sim-core.c (sim_core_read_buffer): Add cpu argument.
2365         (sim_core_write_buffer): Ditto.
2366
2367         * sim-n-core.h (sim_core_read_unaligned_N): When mis-aligned
2368         transfer use xor version of read buffer.
2369         (sim_core_write_unaligned_N): Ditto for write.
2370         
2371         * sim-core.c (sim_core_xor_read_buffer): New function implement
2372         xor-endian data read breaking transfer up into xor-endian sized
2373         blocks.
2374         (sim_core_xor_write_buffer): Ditto for write.
2375         (reverse_n): Reverse order of arbitrary number of bytes in buffer
2376         - needed for xor-endian transfers.
2377
2378 Fri May 23 14:24:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2379
2380         * sim-inline.h: Review description.
2381         
2382         * sim-core.h, sim-core.c: Reduce number of functions being inlined
2383         to just those involved in data transfers and configuration.
2384         
2385         * sim-xcat.h (XSTRING): New macro, map macro definition onto
2386         string.
2387         * sim-n-core.h (sim_core_read_aligned_N): Use.
2388         (sim_core_read_unaligned_N): Ditto.
2389         (sim_core_read_unaligned_N): Ditto..
2390         (sim_core_write_unaligned_N): Ditto.
2391         
2392         * sim-core.h: Add xor endian bitmap to main structure.  *
2393         
2394         sim-n-core.h (sim_core_write_aligned_N): Add suport for xor
2395         endian.
2396         (sim_core_read_aligned_N): Ditto.
2397
2398         * sim-core.c (sim_core_set_xor_endian): New function.
2399         (sim_core_attach): Don't overwrite the per-cpu xor map when
2400         cloning the global core.
2401
2402 Fri May 23 10:53:13 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2403
2404         * sim-engine.h: Update below so that it is using an enumerated
2405         type.
2406
2407 Thu May 22 09:12:16 1997  Gavin Koch  <gavin@cygnus.com>
2408
2409         * sim-engine.c (sim_engine_restart): 
2410         * sim-resume.c (sim_resume): Change longjmp param/setjmp 
2411         return value used for simulator restart from 0 to 2.
2412
2413 Wed May 21 08:47:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2414
2415         * cgen-scache.c (scache_option_handler): Add is_command arg.
2416
2417         * sim-model.c (model_option_handler): Add is_command argument.
2418
2419         * sim-profile.c (profile_option_handler): Add is_command arg.
2420
2421         * sim-events.c (sim_watch_valid): Use ub64, lb64 when 64bit value
2422         involved.
2423
2424         * sim-module.c (sim_module_add_init_fn): Call init fn in the same
2425         order that they are registered.
2426
2427         * sim-options.h (OPTION_HANDLER): Add argument to differentiate
2428         between option and command line processing.
2429
2430         * sim-options.c: Include stdlib.h, ctype.h.
2431
2432         * Make-common.in (sim-watch.o): Add rule.
2433         (sim_main_headers): Assume sim-assert.h included.
2434         (sim-*.o): Simplify make rule.
2435         
2436         * sim-module.c: Add sim_watch_install to module list.
2437
2438 Tue May 20 14:15:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2439
2440         * sim-base.h (STATE_LOADED_P): New predicate. Set once everything
2441         has been loaded.
2442
2443         * sim-trace.c (trace_install): Check magic. Include sim-assert.h.
2444         * sim-events.c (sim_events_install): Ditto.
2445         * sim-core.c (sim_core_install): Ditto.
2446         * sim-model.c (model_install): Ditto.
2447         * sim-options.c (standard_install): Ditto.
2448         * sim-profile.c (profile_install): Ditto.
2449         * sim-reason.c (sim_stop_reason): Ditto.
2450         * sim-run.c (sim_engine_run): Ditto.
2451         * sim-utils.c (sim_analyze_program): Ditto.
2452
2453         * sim-module.c (modules): Make profile_install and trace_install
2454         optional.
2455
2456         * sim-base.h (STATE_MEM_BASE): Define for flat memory systems.
2457
2458         * sim-options.c (standard_option_handler): Set the byte order.
2459
2460         * sim-events.c (sim_events_process): Allow multi tick processing.
2461         (sim_events_tickn): New function - multi cycle tick.
2462         
2463         * sim-events.h (sim_events_tickn, sim_events_timewarp): Add
2464         prototypes.  Under development.
2465         (sim_events): Replace processing with nr_ticks_to_process.
2466
2467 Tue May 20 09:39:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2468
2469         * nrun.c (main): Pass callbacks to sim_open instead of using
2470         sim_set_callbacks.
2471
2472         * run.c (main): Ditto.
2473
2474 Mon May 19 12:07:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2475
2476         * sim-events.c (sim_events_zalloc): Signal save memory allocator -
2477         stop tk interrupting malloc calls.
2478         (sim_events_zalloc): Converse.
2479
2480         * Make-common.in (sim_main_headers): Add sim-events.h.
2481
2482         * sim-events.c (sim_events_schedule_after_signal): Change return
2483         type to void - signal events are strictly internal.
2484         (sim_events_init): Allocate a finite buffer for signal events.
2485         (sim_events_schedule_after_signal): Enter signal events into the
2486         signal buffer.
2487
2488         * sim-engine.c (sim_engine_halt): Check SIM_DESC magic.
2489         (sim_engine_restart): Ditto.
2490         (sim_engine_abort): Ditto.
2491         * sim-stop.c (sim_stop): Ditto.
2492         (control_c_simulation): Ditto.
2493         * sim-resume.c (sim_resume): Ditto.
2494         (has_stepped): Ditto.
2495         * sim-abort.c (sim_engine_abort): Ditto.
2496
2497         * sim-basics.h (transfer_type): New type.
2498
2499         * sim-core.c (sim_core_signal): New function. Print core signal
2500         information.
2501         (sim_core_find_mapping): Add transfer argument.
2502
2503         * sim-n-core.h (sim_core_{write,write}_unaligned_N): Call
2504         SIM_CORE_SIGNAL if a recoverable abort.
2505         * sim-core.c (sim_core_find_mapping): Ditto.
2506
2507 Fri May 16 15:13:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2508
2509         * sim-core.c (sim_core_find_mapping): Replace calls to
2510         sim_io_error to more resiliant sim_engine_abort.
2511
2512         * sim-n-core.h (sim_core_read_unaligned_N): Ditto.
2513         (sim_core_write_unaligned_N): Ditto.
2514
2515 Tue May 13 13:50:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2516
2517         * sim-module.c: Add sim_events_install to list.
2518         
2519         * sim-events.c (sim_events_install, sim_events_uninstall): Clonse
2520         from sim_core_*.
2521         (sim_events_init): Now returns SIG_RC.
2522
2523         * sim-run.c: New file. Generic sim_engine_run.
2524         * sim-reason.c: New file. Generic sim_stop_reason.
2525         * sim-stop.c: New file. Generic sim_stop.
2526         * sim-resume.c: New file. Generic sim_resume.
2527         
2528         * Make-common.in (sim-engine.o): Add rule.
2529         (sim-run.o, sim-reason.o, sim-stop.o, sim-resume.o): Ditto.
2530         
2531         * sim-engine.h, sim-engine.c: New file. Provide generic
2532         implementation of sim_engine_halt, sim_engine_error. et.al.
2533
2534         * sim-base.h (sim_state_base): Add member halt.
2535         (sim-engine.h): Include.
2536
2537         * sim-events.h (sim_event_handler): Always pass SIM_DESC to event
2538         handlers.
2539         * sim-events.c (sim_events_poll): Update event handler.
2540
2541 Tue May 13 09:57:49 1997  Andrew Cagney  <cagney@b2.cygnus.com>
2542
2543         * sim-events.h, sim-events.c (sim_events_watch_clock): New
2544         function.
2545         (sim_events_watch_sim): New function.
2546         (sim_events_watch_core): New function.
2547         (sim_watch_valid): New function.
2548         (sim_events_preprocess): New function.
2549         (sim_events_process): Process the watchpoints as well as the timer
2550         queue.
2551         (sim_events_tick): Check WORK_PENDING instead of the hold queue.
2552         (sim_events_deschedule): Check all the queues when removing an
2553         event.
2554         (sim_events_init): Ditto for cleaning.
2555
2556 Mon May 19 12:07:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2557
2558         * sim-fpu.c (is_ufpu_number): Comment out - currently unused.
2559
2560 Mon May 19 11:23:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2561
2562         * callback.c (os_open): Type of arg flags is int.
2563
2564 Fri May 16 22:26:43 1997  Michael Meissner  <meissner@cygnus.com>
2565
2566         * sim-fpu.c (sim_fpu_is_{eq,ne,lt,le,gt,ge}): Compare Infinities
2567         just like normal numbers as per IEEE rules.
2568
2569 Wed May 14 21:20:38 1997  Bob Manson  <manson@charmed.cygnus.com>
2570
2571         * callback.c (os_close): Mark the descriptor as being
2572         available if the close succeeded.
2573         (os_open): Pass 0644 as the mode of the file being created.
2574
2575 Thu May 15 10:58:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2576
2577         * sim-fpu.c (pack_fpu, unpack_fpu): New functions - decode a
2578         float.
2579
2580         * sim-inline.c (SIM_INLINE_C): Rename from _SIM_INLINE_C_.
2581         * sim-lnline.h: Update.
2582
2583         * sim-fpu.h, sim-fpu.c (sim_fpu_[iu]{32,64}to): New int2fp
2584         conversion functions.
2585         (sim_fpu_to{32,64}[iu]): New fp2int functions.
2586         
2587         * sim-fpu.h, sim-fpu.c (sim_fpu_is_{lt,le,eq,ne,ge,gt}): New fp
2588         compare functions.  Replacing.
2589         (sim_fpu_cmp): This. Delete.
2590         
2591 Mon May 12 14:49:05 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2592
2593         * sim-core.c (sim_core_find_mapping): Call engine_error not
2594         sim_io_error when possible.
2595
2596 Mon May 12 08:55:07 1997  Andrew Cagney  <cagney@b2.cygnus.com>
2597
2598         * sim-endian.h (V1_H2): Add macro's to insert a word into a
2599         high/low double word.
2600
2601         * sim-trace.h: Remove definition of attribute - defined in
2602         sim_basics.h.
2603
2604 Mon May 12 08:55:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2605
2606         * sim-options.h (struct OPTION): Add doc_opt as the documenting
2607         name of the option - or family of options.
2608
2609         * sim-options.c (sim_args_command): Match command `a-b c' with
2610         option `--a-b-c' from option table.
2611
2612 Thu May  8 12:40:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2613
2614         * sim-options.c (sim_print_help): For optional arguments, wrap
2615         them in [].
2616
2617         * sim-trace.c (set_trace_options): New function, handle optional
2618         argument and multiple assignment.
2619         (trace_option_handler): Update.
2620
2621         * sim-trace.c (trace_option_handler): Trace branch and not fpu
2622         when branch tracing selected.
2623
2624 Wed May  7 15:19:58 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2625
2626         * sim-trace.c (trace_one_insn): Make a va-args function.
2627
2628         * sim-trace.c (trace_vprintf): New function, va-arg version of
2629         trace_printf.
2630
2631 Tue May  6 16:38:16 1997  Doug Evans  <dje@canuck.cygnus.com>
2632
2633         * sim-trace.c (trace_uninstall): Don't close a file twice.
2634         * sim-profile.c (profile_uninstall): Likewise.
2635
2636 Tue May  6 06:14:01 1997  Mike Meissner  <meissner@cygnus.com>
2637
2638         * sim-trace.c (toplevel): Include bfd.h.
2639         (trace_options): Note that --trace-linenum also turns on
2640         --trace-insn.  Add --trace-{branch,semantics}.
2641         (trace_option_handler): If --trace-linenum, also turn on
2642         --trace-insn.  Add --trace-branch support.  If --trace-semantics,
2643         turn on ALU, FPU, branch, and memory tracing.
2644         (trace_one_insn): New function to trace an instruction.  Support
2645         --trace-linenum.
2646         (OPTION_TRACE_*): Use an enum, rather than lots of defines.
2647
2648         * sim-trace.h (TRACE_{SEMANTICS,BRANCH}_IDX): Add new macros.
2649         (MAX_TRACE_VALUES): Use 32, not 12 by default.
2650         (TRACE_branch): Add new mask.
2651         (TRACE_*_P): Define all possible trace_p macros.
2652         (trace_one_insn): Declare function.
2653
2654 Mon May  5 14:08:34 1997  Mike Meissner  <meissner@cygnus.com>
2655
2656         * sim-trace.h (__attribute__): Define as nothing if not GNU C or
2657         GNU C doesn't support __attributes__.
2658         ({trace,debug}_printf): Add attribute's so -Wformat can check the
2659         format strings.
2660
2661 Mon May  5 11:16:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2662
2663         * sim-config.h (FORCED_ALIGNMENT): New alignment option -
2664         addresses are masked forcing them to be correctly aligned.
2665         (WITH_ALIGNMENT): Make NONSTRICT_ALIGNMENT the default.
2666         * sim-config.c (config_alignment_to_a): Update.
2667
2668         * sim-core.h (sim_cpu_core): New data type contains cpu specific
2669         core data.
2670         * sim-base.h (CPU_CORE): Add cpu specific core data to cpu base
2671         type.
2672         * sim-core.c (sim_core_attach): Add CPU argument.  Ready for
2673         processor specific core maps.
2674         (sim_core_map_attach): Copy the core map data to each of the
2675         processor specific core data structures.
2676         * sim-core.c (sim_core_find_mapping): Update.
2677
2678         * sim-n-core.h (sim_core_read_N, sim_core_write_N): Rename.
2679         (sim_core_write_aligned_N, sim_core_write_aligned_N): New names.
2680         (sim_core_write_unaligned_N, sim_core_write_unaligned_N): New
2681         alternatives that handle unaligned addresses.
2682         (sim_core_{read,write}_{,un}aligned_N): Drop SIM_DESC arg, replace
2683         with just CPU arg.
2684         * cgen-utils.c (sim_disassemble_insn): Update.
2685
2686 Mon May  5 13:19:16 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2687
2688         * sim-trace.h (TRACE_FPU_IDX): Add Floating-point specific
2689         tracing.
2690
2691         * sim-fpu.h, sim-fpu.c: New files - prototype for generic target
2692         fpu support.
2693
2694         * sim-inline.h, sim-inline.c: Add support for SIM_FPU.
2695
2696 Fri May  2 17:59:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2697
2698         * sim-core.c (sim_core_map_to_str): New function ascii equivalent
2699         to map type.
2700         
2701         * sim-n-core.h (sim_core_read_N, sim_core_write_N): Use in trace
2702         statement.
2703
2704 Fri May  2 17:28:02 1997  Andrew Cagney  <cagney@b2.cygnus.com>
2705
2706         * cgen-trace.c: Prepend additional trace_printf argument.
2707
2708         * cgen-utils.c (sim_disassemble_insn): Add additional core
2709         arguments.
2710
2711 Fri May  2 11:40:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2712
2713         * nrun.c (main): Catch/report errorenous simulator states.
2714
2715         * sim-module.c: #include "libiberty.h" so that xmalloc is defined.
2716         * sim-trace.c: #include string.h/strings.h so that memset is
2717         defined.
2718         * sim-utils.c: Ditto.
2719         * sim-profile.c: Ditto. And stdlib.h.
2720         (print_bar): Only define when used by instruction or memory profiler.
2721
2722         * sim-options.c (standard_option_handler): Make ul more local.
2723         
2724         * sim-load.c (sim_load_file): Make the name constant.
2725         (sim_load_file): Passify gcc.
2726
2727         * sim-utils.h: New file, pre-declare utilites in corresponding .c
2728         file.
2729         * sim-utils.c, sim-load.c: Include sim-utils.h.
2730         
2731         * sim-base.h (sim_cpu): Pre define here so available to all.
2732
2733         * sim-core.h (DECLARE_SIM_CORE_WRITE_N, DECLARE_SIM_CORE_READ_N):
2734         Restore the sim_cpu and instruction_address arguments so that full
2735         information is available to the abort function.
2736         * sim-core.c (sim_core_find_mapping, sim_core_write_buffer): Ditto.
2737         * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
2738
2739         * sim-trace.h, sim-trace.c (trace_option_handler): Add interim
2740         tracing support for sim-events and sim-core.
2741         (trace_option_handler): Convert #if to if where possible so always
2742         compiled/checked by C compiler.
2743         * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
2744         
2745         * sim-base.h: Adjust comment documenting how to define the cpu
2746         structure.
2747         (sim_state_base): Add sim_core and sim_events to simulator base
2748         object.
2749
2750         * sim-trace.h, sim-trace.c (trace_printf): Add SIM_DESC argument.
2751         * sim-core.c (sim_core_init, sim_core_attach,
2752         sim_core_find_mapping): Update.
2753         * sim-events.c (ETRACE, sim_events_init, sim_events_time,
2754         update_time_from_event, insert_sim_event,
2755         sim_events_schedule_after_signal, sim_events_deschedule,
2756         sim_events_tick): Ditto.
2757         
2758         * sim-basics.h (sim-module.h, sim-trace.h, sim-profile.h,
2759         sim-model.h): Move #includes from here.
2760         * sim-base.h: To here.
2761         (sim-core.h, sim-events.h, sim-io.h): Include also
2762         
2763 Wed Apr 30 15:37:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2764
2765         * callback.c (default_callback): Missing initialisers.
2766
2767 Thu May  1 10:40:47 1997  Doug Evans  <dje@canuck.cygnus.com>
2768
2769         * sim-utils.c (sim_add_commas): New function.
2770         * sim-basics.h (sim_add_commas): Add prototype.
2771         * cgen-scache.c (scache_print_profile): Print commas in numbers.
2772         * sim-profile.c (COMMAS): New macro.
2773         (print_*): Use it to print commas in numbers.
2774
2775         * configure: Regenerated.
2776
2777         * cgen-sim.h (sim_signal_type): Add SIM_SIGINT.
2778         (cgen_state): New member run_fast_p.
2779         (cgen_init): Add prototype.
2780         (sim_disassemble_insn): New arg `cpu'.
2781         * cgen-trace.c (trace_insn): Update call to sim_disassemble_insn.
2782         * cgen-utils.c (cgen_init): New function.
2783         (sim_disassemble_insn): New arg `cpu'.  Rewrite fetching of insn.
2784         * genmloop.sh: Call engine_halt if loop exits.
2785
2786         * Makefile.in (sim-options_h): Define.
2787         (sim-{module,options,trace,profile,utils}.o): Clean up dependencies.
2788         (sim-model.o): Add new rule.
2789         (cgen-{scache,trace,utils}.o): Add new rules.
2790         * aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add.
2791         * cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'.
2792         Indent output by 2 spaces.
2793         * cgen-scache.h (scache_print_profile): Update.
2794         * cgen-trace.c (trace_insn_fini): Indent output by 2 spaces.
2795         Use trace_printf, not fprintf.
2796         (trace_extract): Use trace_printf, not cgen_trace_printf.
2797         * genmloop.sh (!FAST case): Increment `insn_count'.
2798         * sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE.
2799         (sim_cpu_base): Rename member `sd' to `state' to be consistent with
2800         access macro's name.
2801         * sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it.
2802         Change return type to SIM_RC.
2803         (sim_core_{install,uninstall}): New functions.
2804         * sim-core.h (sim_core_{install,uninstall}): Declare.
2805         (sim_core_init): Use EXTERN_SIM_CORE to define it.
2806         Change return type to SIM_RC.
2807         * sim-model.h (models,machs,model_install): Declare.
2808         * sim-module.c (modules): Add scache_install, model_install.
2809         (sim_post_argv_init): Set cpu->state backlinks.
2810         * sim-options.c (standard_options): Delete --simcache-size,--max-insns.
2811         (standard_option_handler): Likewise.
2812         * sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to
2813         sim-profile.h.
2814         (*): Assume ANSI C.
2815         (profile_options): Delete --profile-simcache.
2816         (profile_option_handler): Likewise.
2817         (profile_print_insn): Change `sd' arg to `cpu'.  Indent output 2
2818         spaces.
2819         (profile_print_{memory,model}): Likewise.
2820         (profile_print_simcache): Delete.
2821         (profile_print_speed): New function.
2822         (profile_print): Rewrite.
2823         * sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache.
2824         (WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P.
2825         (PROFILE_DATA): Delete members simcache_{hits,misses}.
2826         (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete.
2827         (PROFILE_{CALLBACK,CPU_CALLBACK}): New types.
2828         (profile_print): Update prototype.
2829
2830 Wed Apr 30 11:34:14 1997  Doug Evans  <dje@canuck.cygnus.com>
2831
2832         * cgen-scache.[ch], cgen-sim.h: New files.
2833         * cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files.
2834         * sim-model.c: New file.
2835
2836         * Make-common.in (clean targets): Undo patch of Apr. 22.
2837
2838 Fri Apr 25 15:28:32 1997  Mike Meissner  <meissner@cygnus.com>
2839
2840         * sim-n-bits.h (signed): If we have a standard compiler, undef
2841         signed, so that signedN is defined correctly.
2842
2843 Thu Apr 24 00:00:07 1997  Doug Evans  <dje@canuck.cygnus.com>
2844
2845         * sim-module.h, sim-model.h, sim-profile.h: New files.
2846         * sim-module.c, sim-profile.c: New files.
2847         * Make-common.in (SIM_PROFILE): Define
2848         (CONFIG_CFLAGS): Add $(SIM_PROFILE).
2849         (sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h.
2850         (sim_module.o,sim-profile.o): Add rules for.
2851         * aclocal.m4 (--enable-sim-trace): Allow symbolic arguments.
2852         (--enable-sim-profile): Add.
2853         * configure: Regenerated.
2854         * sim-base.h (sim_state_base): New members init_list, uninstall_list,
2855         model.  Move trace and profile support to sim-{trace,profile}.h.
2856         New members trace_data, profile_data.
2857         * sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h.
2858         * sim-config.h: Provide default definition of WITH_PROFILE.
2859         (WITH_TRACE): Change default to -1.
2860         (MAX_NR_PROCESSORS): Always define.
2861         * sim-options.c: Move trace and profile support to
2862         sim-{trace,profile}.h.
2863         (sim_pre_argv_init): Moved to sim-model.c.
2864         (standard_install): New function.
2865         * sim-options.h (sim_pre_argv_init): Move decl to sim-model.c.
2866         (standard_install): Declare.
2867         * sim-trace.c: Tracing option handling moved here from sim-options.c.
2868         (trace_install, trace_uninstall): New functions.
2869         (trace_printf): Update reference to TRACE_FILE.
2870         * sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h.
2871         (TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace.
2872         (WITH_TRACE_FOO_P): Define.
2873         (trace_install): Declare.
2874         (TRACE_DATA): New struct.
2875
2876 Wed Apr 23 17:23:15 1997  Doug Evans  <dje@canuck.cygnus.com>
2877
2878         * run.c: Undo last exec_bfd patch.
2879         (main): Only pass -E ifdef SIM_HAVE_BIENDIAN.
2880
2881 Wed Apr 23 17:54:27 1997  Mike Meissner  <meissner@cygnus.com>
2882
2883         * run.c (exec_bfd): Add back in.
2884         (main): Set exec_bfd.
2885
2886 Tue Apr 22 14:43:46 1997  Doug Evans  <dje@canuck.cygnus.com>
2887
2888         * sim-load.c (sim_load_file): #include <stdio.h> for NULL.
2889
2890 Wed Apr 23 02:55:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2891
2892         * sim-events.c (insert_sim_event): Call sim_io_error instead of
2893         less well defined engine_error.
2894         * sim-core.c: Ditto.
2895
2896 Tue Apr 22 08:48:16 1997  Stu Grossman  (grossman@critters.cygnus.com)
2897
2898         * Make-common.in:  Change clean targets to use :: so that other
2899         Makefiles can have their own clean targets.
2900         * sim-load.c (xprintf eprintf):  Use ANSI_PROTOTYPES instead of
2901         __STDC__ to control use of stdarg vs. varargs syntax.  Some
2902         systems can't use __STDC__, but require stdarg.
2903
2904 Fri Apr 18 11:14:43 1997  Doug Evans  <dje@canuck.cygnus.com>
2905
2906         * sim-options.c (standard_options): Add --endian.
2907         (standard_option_handler): Likewise.
2908
2909         * nrun.c: #include <signal.h>.
2910         (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
2911         handler that calls sim_stop ().
2912
2913 Fri Apr 18 13:11:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2914
2915         * run.c (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
2916         handler that calls sim_stop ().  Simulators may still be
2917         establishing their own handler.
2918
2919         * sim-events.c (sim_events_poll): Rename from
2920         sim_events_at_large_int.  Poll IO.
2921
2922         * sim-io.c (sim_io_poll_quit): New function - pass on a polling
2923         request.
2924
2925         * callback.c (os_poll_quit): New function poll for quit signal
2926         where needed.
2927         (default_callback): Include magic number.
2928
2929 Thu Apr 17 02:25:11 1997  Doug Evans  <dje@canuck.cygnus.com>
2930
2931         * aclocal.m4: Check for headers time.h, sys/time.h, sys/resource.h.
2932         Check for functions getrusage, time.
2933         * sim-basics.h (SIM_ELAPSED_TIME): New typedef.
2934         (sim_elapsed_time_get, sim_elapsed_time_since): Add prototypes.
2935         * sim-utils.c: #include time.h, sys/time.h, sys/resource.h if able.
2936         (sim_elapsed_time_get, sim_elapsed_time_since): New functions.
2937
2938         * sim-utils.c (sim_copy_argv, sim_analyze_program): New functions.
2939
2940         * sim-options.c, sim-options.h: New files.
2941         * sim-config.h (WITH_DEBUG): Provide default value of zero.
2942         * Make-common.in (nrun.o): Add rules for.
2943         * nrun.c: New file.
2944
2945         * run.c (main): Check return value of sim_open.
2946
2947         * Make-common.in (sim-options.o, sim-load.o, sim-trace.o): Add rules.
2948         (sim_main_headers): Add sim-trace.h.
2949         * run.c (exec_bfd, target_byte_order): Delete.
2950         (main): Pass -E <endian> to sim_open.  Delete code to load sections,
2951         call sim_load instead.  Check return code of sim_create_inferior.
2952         * sim-base.h (CURRENT_STATE): Define.
2953         (sim_state_base): Make typedef.  New members options, prog_argv,
2954         prog_bfd, text_{section,start,end}, start_addr, simcache_size,
2955         mem_size, memory [+ corresponding access macros].
2956         (sim_cpu_base): New typedef.
2957         * sim-trace.h: New file.
2958         * sim-trace.c: New file.
2959         * sim-basics.h: #include it.
2960         * sim-load.c: New file.
2961
2962 Tue Apr 15 15:10:13 1997  Ian Lance Taylor  <ian@cygnus.com>
2963
2964         * Make-common.in (INSTALL): Set to @INSTALL@.
2965         (INSTALL_XFORM, INSTALL_XFORM1): Remove.
2966         (install-common): Depend upon installdirs.  Use
2967         $(program_transform_name) directly, rather than using
2968         $(INSTALL_XFORM).
2969         (installdirs): New target.
2970         * Makefile.in (INSTALL): Set to @INSTALL@.
2971         (INSTALL_XFORM, INSTALL_XFORM1): Remove.
2972         (install-man): Depend upon installdirs.  Use
2973         $(program_transform_name) directly, rather than using
2974         $(INSTALL_XFORM).
2975         (installdirs): New target.
2976
2977 Tue Apr 15 15:08:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
2978
2979         * sim-assert.h (SIM_ASSERT, ASSERT): Allow these macros to
2980         be overriden.
2981
2982 Wed Apr  9 16:06:44 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
2983
2984         * sim-basics.h: Only bring in config.h and tconfig.h if
2985         HAVE_CONFIG_H.
2986
2987 Mon Apr  7 11:39:45 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
2988
2989         * sim-config.h (WITH_TARGET_WORD_MSB): New Macro. Define the bit
2990         numbering convention of the target.
2991         * sim-config.c (print_sim_config): Print WITH_TARGET_WORD_BITSIZE
2992         and WITH_TARGET_WORD_MSB.
2993         (sim_config): When possible, check for consistency with bitsize
2994         and msb.
2995
2996         * sim-bits.h: Allow MSB to be other than zero.
2997         * sim-bits.c: Ditto.
2998         * sim-n-bits.h: Ditto.
2999         
3000         * sim-bits.h (MSMASK*): New macros - converce to LSMASK*.
3001         * sim-n-bits.h (MSMASKEDn): Ditto.
3002
3003 Mon Apr 14 16:29:21 1997  Ian Lance Taylor  <ian@cygnus.com>
3004
3005         * Makefile.in (INSTALL): Change install.sh to install-sh.
3006
3007 Mon Apr  7 10:46:38 1997  Doug Evans  <dje@canuck.cygnus.com>
3008
3009         * sim-base.h (sim_state_base): Move `magic' to end of struct.
3010
3011 Mon Apr  7 15:53:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3012
3013         * run.c (main): Check that a program to run was specified.
3014
3015 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3016
3017         * aclocal.m4 (AC_TYPE_SIGNAL): Add check.
3018
3019         * configure: Regenerated to track ../common/aclocal.m4 changes.
3020         * config.in: Ditto.
3021
3022 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
3023
3024         * sim-endian.h: Move host {LITTLE,BIG}_ENDIAN support from here,
3025         * sim-config.h: To here.
3026
3027         * Make-common.in (SIM_EXTRA_DEPS): New config var.
3028         (sim_main_headers): Define.
3029         (sim-*.o): Depend on $(SIM_EXTRA_DEPS).
3030 start-sanitize-d30v
3031         (BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in.
3032 end-sanitize-d30v
3033         (clean): Use it.
3034         (sim-utils.o): Add rule for.
3035         * sim-utils.o: New file.
3036         * sim-basics.h: #include sim-base.h.
3037         (zalloc): Make argument unsigned long.
3038         * sim-base.h: New file.
3039         * sim-inline.h (SIM_IO support): Delete.
3040         * sim-io.h: Delete inline support.
3041         * sim-io.c: Likewise.  sim-state.h renamed to sim-main.h.
3042         * sim-config.c: sim-state.h renamed to sim-main.h.
3043         * sim-core.c: Likewise.
3044         * sim-events.c: Likewise.
3045
3046         * run.c (main): Pass SIM_OPEN_STANDALONE to sim_open.
3047
3048         * aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h.
3049         (sim-debug): Allow arguments.  Define WITH_DEBUG in addition to
3050         -DDEBUG.
3051         * configure: Regenerated to track ../common/aclocal.m4 changes.
3052
3053 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3054
3055         * configure: Regenerated to track ../common/aclocal.m4 changes.
3056
3057 Wed Apr  2 11:08:11 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3058
3059         * sim-config.h (WITH_ALIGNMENT, WITH_FLOATING_POINT,
3060         WITH_XOR_ENDIAN, WITH_SMP, WITH_RESERVED_BITS): Assume that these
3061         are defined by the configure.
3062
3063         * aclocal.m4 (sim-stdio): Add option stdio from ../ppc configure.
3064         
3065         * aclocal.m4 (floating-point, xor-endian, alignment, smp,
3066         reserved-bits): Always define.
3067         
3068         * sim-config.h, sim-config.c (sim_config): New function - and new
3069         file - co-ordinate the setting/checking of the common simulator
3070         configuration options.
3071
3072         * Make-common.in (sim-config.o): Add rule.
3073
3074 Fri Mar 28 15:32:00 1997  Mike Meissner  <meissner@cygnus.com>
3075
3076         * callback.c (os_{,e}vprintf_filtered): Change stdarg type to
3077         va_list from void *, since va_list might not be a pointer type.
3078
3079 Mon Mar 24 15:27:12 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3080
3081         * sim-n-endian.h (offset_N): Correct assertion - word and sub word
3082         in wrong order.
3083         (offset_N): Correct computation of LE offset.
3084
3085         * sim-io.c (sim_io_error): Include a new line when reporting
3086         errors.
3087
3088         * sim-assert.h (SIM_FILTER_PATH): Out by one when locating last
3089         `/'.
3090
3091 Thu Mar 20 22:31:06 1997  Jeffrey A Law  (law@cygnus.com)
3092
3093         * run.c: Include alloca-conf.h.
3094
3095         * callback.c (os_evprintf_filtered): Fix typo.
3096
3097 Fri Mar 21 13:36:20 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3098
3099         * run.c (string.h, strings.h, stdlib.h): Include.
3100
3101         * sim-events.c (sim_events_tick): Recent cleanup failed to return
3102         0 when nothing pending.
3103
3104         * run.c (sim_size, sim_trace): Plicate GCC - these two functions
3105         will soon be going away.
3106         (getopt): Plicate GCC.
3107
3108         * sim-endian.c (sim-io.h): Plicate GCC.
3109         * sim-bits.c (sim-io.h): Ditto.
3110         * sim-n-bits.h (ROTn): Ditto.
3111
3112         * sim-io.c (sim_io_error): Correct check for NULL.
3113
3114         * sim-assert.h (SIM_FILTER_PATH): Separate out the code filtering
3115         the __FILE__.
3116         * sim-events.c: Use SIM_FILTER_PATH to filter out the filename
3117         path.
3118
3119 Wed Mar 19 01:12:06 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3120
3121         * aclocal.m4 (SIM_AC_OPTION_*: Move so that they are outside of
3122         SIM_AC_COMMON - SIM_AC_COMMON was gobling arguments.
3123
3124 Tue Mar 18 20:48:12 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3125
3126         * sim-alu.h: Include sim-xcat.h.
3127         
3128 Tue Mar 18 13:58:18 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3129
3130         * Make-common.in (sim-bits.c, sim-core.c, sim-endian.c,
3131         sim-events.c, sim-inline.c, sim-io.c): Define rules for building
3132         these.
3133
3134         * sim-events.c (sim_events_at_large_int): New function.  Just
3135         schedules an event every large-int ticks.
3136         (sim_events_init): Call.
3137         (sim_events_tick, sim_events_process): Move async handing to
3138         sim_events_process.  Move timer decrement so that it occures after
3139         events have been processed.
3140         
3141         * sim-basics.h (struct _engine): Remove declaration.
3142
3143         * sim-events.h, sim-events.c: Rename type to sim_events.  Prefix
3144         everything with same.  Rename global struct to SIM_DESC.
3145         * sim-core.h, sim-core.c, sim-n-core.c: Ditto for sim_core.
3146         * sim-io.h, sim-io.c: Ditto.
3147         
3148         * sim-assert.h: New file. Optional assertion checking macros.
3149         * sim-io.c (sim_io_error): Make just this function tolerant to
3150         null pointers.
3151         
3152         * sim-xcat.h: New file. Define concatenate macros.
3153         * sim-basics.h (XCONCAT*): Move to sim-xcat.h.
3154         * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Explicitly include
3155         concat macros.
3156         
3157
3158 Tue Mar 18 12:44:55 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3159
3160         * sim-bits.h (LSMASK): New macro. Create mask of LS bits.
3161
3162 Mon Mar 17 18:10:05 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3163
3164         * sim-inline.h: Add definitions for sim-types.
3165         (ALL_BY_MODULE): New macro, encapsulate full inlining by the
3166         module.
3167
3168 Mon Mar 17 15:38:27 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3169         
3170         * sim-events.h: Remove defunct reference to callback struct.
3171
3172 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3173
3174         * configure: Re-generate.
3175
3176 Mon Mar 17 15:04:47 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3177
3178         * Make-common.in (CSEARCH): Do not include the gdb directory in
3179         the search path.
3180
3181 Mon Mar 17 13:16:26 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3182
3183         * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
3184         SIM_WARNING): Drop, requiring the simulator specific Makefile.in
3185         to explicitly incorporate these.
3186
3187         * aclocal.m4 (--enable-sim-alignment); New option. Strongly
3188         specify the alignment restrictions of the target architecture -
3189         without this option all alignment restrictions are accomodated.
3190         (--enable-sim-assert): New option.  Conditionally compile in
3191         assertion statements.
3192         (--enable-sim-float): New option. Strongly specify the target's
3193         floating point support.
3194         (--enable-sim-hardware): New option.  Specify the hardware devices
3195         included in the simulation.
3196         (--enable-sim-packages): New option.  Specify the hardware
3197         packages included in the simulation.
3198         (--enable-sim-regparm): New option.  Specify that parameters be
3199         passed in registers instead of on the stack.
3200         (--enable-sim-reserved-bits): New option. Specify that reserved
3201         bits within an instruction are are correctly set.
3202         (--enable-sim-smp): New option. Specify the level of SMP support
3203         to be included in the simulator.
3204         (--enable-sim-stdcall): New option.  Specify an alternative
3205         function call convention.
3206         (--enable-sim-xor-endian): New option.  Configure xor-endian
3207         support used by some targets to implement bi-endian support.
3208         
3209 Fri Mar 14 19:51:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3210
3211         * aclocal.m4 (--enable-sim-hostendian): New option.  Allow the
3212         host endianness to be overridden.
3213         (--enable-sim-endian): Allow the target platform's byte order
3214         to be overridden.
3215         (--enable-sim-inline): Control the inlining of common components.
3216         (--enable-sim-bswap): For compatibility, also define WITH_BSWAP.
3217         (--enable-sim-warnings): Enable additional GCC compiler checks.
3218         * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
3219         SIM_WARNINGS): Add.
3220         
3221         * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Rename from
3222         sim-*-n.h so that the names are uniq on dos machines
3223         * sim-core.c, sim-bits.c, sim-endian.c: Update.
3224         
3225 Thu Mar 13 12:32:42 1997  Doug Evans  <dje@canuck.cygnus.com>
3226
3227         * run.c: #include "libiberty.h".
3228         (main): New locals sd,no_args,sim_argv.
3229         Run buildargv on -a option.  Pass argv to sim_open, argv[0]
3230         is program name.  Update call to sim_set_callbacks.
3231         Record result of sim_open, pass to other sim_foo routines.
3232
3233 Thu Mar 13 10:24:05 1997  Michael Meissner  <meissner@cygnus.com>
3234
3235         * callback.c (os_printf_filtered): Do not call exit(1) or print a
3236         final newline.
3237
3238 Thu Mar  6 15:50:28 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3239
3240         * callback.c: Add os_flush_stdout and vprintf_filtered callbacks.
3241         Route stdout through buffered IO.
3242
3243         * callback.c: Add os_flush_stderr, os_write_stderr,
3244         os_evprintf_filtered functions to route error output through
3245         stderr.
3246         
3247         * sim-io.h, sim-io.c (sim_io_flush_stderr, sim_io_flush_stdout):
3248         Correct return type - should be void.
3249
3250 Fri Mar  7 20:14:37 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3251
3252         * sim-basics.h: Clean up.  Many macro's moved to sim-inline.h.
3253
3254         * sim-config.h: Ditto.  For some options - eg WITH_DEVICES - do
3255         not provide a default value as undefined indicates disable code.
3256
3257 Thu Mar  6 15:50:28 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3258
3259         * sim-core.h, sim-core-n.h, sim-core.c: Borrow code from ppc
3260         directory.
3261         * sim-events.h, sim-events.c: Ditto.
3262         * sim-io.h, sim-io.c: Ditto.
3263         
3264 Tue Mar  4 09:35:56 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3265         
3266         * sim-alu.h (ALU_SUB_CA, ALU*_SUB_CA): New alu operation.
3267
3268         * sim-bits.h, sim-bits-n.h, sim-bits.c (LSMASKED*): New macro's
3269         extract the tail or least signifiant bits from an integer of the
3270         specified size.
3271         
3272         * sim-bits.h, sim-bits.c: Clean up conditionally compiled #if
3273         WITH_TARGET_BITSIZE so that the compilation will fail when an
3274         unsupported bitsize value is defined.
3275
3276         (INSERTED*): Convert to functions.
3277         (EXTRACTED*): Ditto.
3278         
3279         (SIGN_EXTEND, SEXT): Change to more terse name.
3280         
3281 Tue Mar  4 09:35:56 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3282
3283         * sim-inline.h: Allow explicit control over which .c files will be
3284         included by their header.
3285
3286         * sim-inline.h: Allow explicit control over which .c files use the
3287         alternative - REGPARM - parameter passing mechanism.
3288         
3289         * sim-inline.h, sim-inline.c: Don't attempt to include any of
3290         icache.c, idecode.c, semantics.c or support.c.  Those names are
3291         not generally applicable.
3292         
3293 Thu Feb 27 10:17:23 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3294
3295         * sim-bits.c, sim-bits-n.h (new): Split sim-bits.c into two parts
3296         in a fashion similar to sim-endian-n.
3297
3298         * sim-endian.h: (H_word, L_word, AL_*, VL_*): Extend to include
3299         both value and address macro's.
3300
3301 Tue Feb 25 18:51:57 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
3302
3303         * sim-alu.h (ALU16_BEGIN, ALU16_SET, ...): Fill in.
3304
3305         * sim-endian.h (L_word, H_word): Replace MS2W_4, LS2W_4 with more
3306         generic L_word, H_word macro's.
3307
3308 Thu Feb 20 18:36:55 1997  Andrew Cagney  <cagney@critters.cygnus.com>
3309
3310         * sim-basics.h: Borrow code from ppc directory.
3311         * sim-bits.c: Ditto.
3312         * sim-bits.h: Ditto.
3313         * sim-config.h: Ditto.
3314         * sim-endian-n.h: Ditto.
3315         * sim-endian.c: Ditto.
3316         * sim-endian.h: Ditto.
3317         * sim-inline.c: Ditto.
3318         * sim-inline.h: Ditto.
3319         * sim-types.h: Ditto.
3320
3321 Wed Feb 19 12:40:50 1997  Andrew Cagney  <cagney@critters.cygnus.com>
3322
3323         * sim-alu.h (ALU_SET16, ALU_SET32, ALU_SET64, etc): Make available
3324         all the ALU size alternatives and then auto-configure a default.
3325         
3326         * sim-alu.h: Copy ppc/idecode_expression.h.
3327
3328 Mon Feb 17 10:44:18 1997  Andrew Cagney  <cagney@critters.cygnus.com>
3329
3330         * bits.h, bits.c (SIGN_EXTEND32, SIGN_EXTEND64): New functions,
3331         sign extend a bit within a value.
3332
3333         * sim-endian.h, sim-endian-n.h (offset_N): New functions - return
3334         a pointer into the middle of a host word.
3335         * sim-endian.h (MS2W_4, LS2W_4): Use this function.
3336         
3337 Tue Feb 11 13:46:49 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
3338
3339         * callback.c: If HAVE_CONFIG_H is defined, include config.h from
3340         autoconf.  If HAVE_UNISTD_H is defined, include unistd.h to get
3341         appropriate definitions of read, write, etc.  Add prototype for
3342         system.
3343
3344 Tue Feb  4 13:24:44 1997  Doug Evans  <dje@canuck.cygnus.com>
3345
3346         * Makefile.in (libcommon.a): Delete.
3347         (callback.o,targ-map.o): Delete, moved to Make-common.in.
3348         (gentmap,targ-vals.h,targ-map.c): Likewise.
3349         (run-autoconf): Delete.
3350         * aclocal.m4 (SIM_AC_OUTPUT): Redo creation of Makefile.
3351         (common makefile fragment): Moved back into ...
3352         * Make-common.in: Resurrect.
3353         * configure.in (AC_LINK_FILES): Delete, unnecessary now.
3354         * configure: Regenerated.
3355
3356 Fri Jan 31 07:16:49 1997  Doug Evans  <dje@canuck.cygnus.com>
3357
3358         * aclocal.m4 (SIM_AC_COMMON): Move COMMON_MAKEFILE_FRAG from here.
3359         (SIM_AC_OUTPUT): To here.
3360
3361 Fri Jan 24 10:37:17 1997  Stu Grossman  (grossman@critters.cygnus.com)
3362
3363         * aclocal.m4 (COMMON_MAKEFILE_FRAG):  Quote a couple of $'s in
3364         comments and single quotes.  Fixes a problem found on hpux.
3365
3366 Thu Jan 23 13:35:03 1997  Stu Grossman  (grossman@critters.cygnus.com)
3367
3368         * aclocal.m4:  Remove Make-common.in from dependencies.
3369         * (distclean):  Remove targ-vals.def.
3370
3371         * aclocal.m4 (SIM_AC_COMMON):  Move contents of Make-common.in
3372         into here.  Makes insertion into makefiles easier.  Also, change
3373         the way that callback.o, gentmap, targ-vals.h, targ-map.c,
3374         targ-map.o, and run are built.  They are now built in the
3375         individual simulator directories, taking sources from ../common as
3376         necessary.  This replaces the merging of libcommon.a into
3377         linsim.a, which was problematic for the WinGDB build process.
3378         * run.c:  Include config.h from . instead of ../common.
3379         * Make-common.in:  Remove.  It's no longer necessary.
3380
3381 Mon Dec 16 15:02:33 1996  Ian Lance Taylor  <ian@cygnus.com>
3382
3383         * Make-common.in (ALL_CLAGS): Put CFLAGS at the end.
3384         (.c.o): Put $(ALL_CFLAGS) before the file being compiled.
3385
3386 Wed Dec 11 11:30:58 1996  Jim Wilson  <wilson@cygnus.com>
3387
3388         * run.c (main): Set target_byte_order before call to sim_open.
3389
3390 Sun Dec  8 18:22:06 1996  Doug Evans  <dje@canuck.cygnus.com>
3391
3392         * callback.c: #include <stdlib.h>
3393         (os_error): New function.
3394         (default_callback): Add os_error.
3395
3396 Mon Nov 25 19:44:35 1996  Doug Evans  <dje@canuck.cygnus.com>
3397
3398         * Make-common.in (Makefile): Set CONFIG_HEADERS="".
3399         * aclocal.m4: Mark the fact that --enable-sim-bswap isn't host
3400         specific.
3401         (SIM_AC_OUTPUT): Don't build Makefile if CONFIG_FILES="".
3402
3403 Wed Nov 20 01:11:04 1996  Doug Evans  <dje@canuck.cygnus.com>
3404
3405         * run.c: #include ../common/config.h, tconfig.h.
3406         (myname): New static global.
3407         (main): Recognize new options -a, -c.  Also recognize -h if h8/300.
3408         Only process -c ifdef SIM_HAVE_SIMCACHE.
3409         Only process -p/-s ifdef SIM_HAVE_PROFILE.
3410         Parse program name from argv[0] and use in error messages.
3411         Pass sim_args to sim_open.  Pass prog_args to sim_create_inferior.
3412         Add support for incomplete h8/300 termination indicators.
3413         (usage): Make more verbose.
3414         * aclocal.m4,config.in,tconfig.in,configure.in,configure: New files.
3415         * Makefile.in,Make-common.in,callback.c: New files.
3416         * nltvals.def,gentmap.c,gentvals.sh: New files.
3417
3418 Tue Nov 12 13:34:00 1996  Dawn Perchik  <dawn@cygnus.com>   
3419
3420         * run.c: Include stdarg.h if __STDC__.
3421
3422 Tue Oct 15 11:16:31 1996  Jeffrey A Law  (law@cygnus.com)
3423
3424         * run.c (main): Don't print out anything if the signal
3425         number is zero (ie no signal).
3426
3427 Tue Oct 15 11:20:44 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3428
3429         * run.c (main): Print out if the program raised a signal.
3430
3431 Wed Sep 18 09:52:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3432
3433         * run.c (exec_bfd): Rename from sim_bfd, to use the gdb name.
3434         (main): Ditto.
3435
3436 Tue Sep 17 11:04:50 1996  James G. Smith  <jsmith@cygnus.co.uk>
3437
3438         * run.c (main): Explicitly cast malloc() parameter.
3439
3440 Thu Sep 12 11:27:21 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3441
3442         * run.c (sim_bfd): New global to hold the bfd pointer for the
3443         executable.
3444         (main): Initialize sim_bfd.
3445
3446 Fri Dec 15 16:27:49 1995  Ian Lance Taylor  <ian@cygnus.com>
3447
3448         * run.c (main): Use new bfd_big_endian macro.
3449
3450 Wed Nov  8 15:49:49 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
3451
3452         * run.c (main): Removed SH specific comments, so source is
3453         generic. Also updated to only load relevant sections. Moved
3454         sim_open() to after callback attach (to match GDB).
3455
3456         * run.1: Removed SH specific comments.
3457
3458 Sat Oct 21 12:31:01 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
3459
3460         * run.c (main): Always return sigrc at end.
3461
3462 Tue Oct 10 12:03:13 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
3463
3464         * run.c (main): Print error diagnostic and exit if bfd_openr() or
3465         bfd_check_format() fails.
3466
3467 Thu Sep 28 15:40:36 1995  steve chamberlain  <sac@slash.cygnus.com>
3468
3469         * run.c, run.1: From sh directory.
3470
3471