OSDN Git Service

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