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