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