1 Tue Apr 14 13:19:14 1998 Doug Evans <devans@canuck.cygnus.com>
3 * Make-common.in (RUNTESTFLAGS): Define.
4 (check): Pass RUNTESTFLAGS to recursive make.
6 Tue Apr 14 15:09:19 1998 Andrew Cagney <cagney@b1.cygnus.com>
8 * sim-info.c (sim_info): Be verbose when either VERBOSE or
11 Sat Apr 4 23:24:17 1998 Andrew Cagney <cagney@b1.cygnus.com>
13 * aclocal.m4 (sim-inline): By default, disable sim-inline when
16 Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
18 * aclocal.m4 (sim-cflags): Add -fomit-frame-pointer to defaults.
19 (sim-inline): Update to match sim-inline.[hc]
20 * configure: Regenerated to track ../common/aclocal.m4 changes.
22 * Make-common.in (sim_main_headers): Add sim-inline.h
24 * sim-bits.h (sim-bits.c): Include when H_REVEALS_MODULE_P.
26 * sim-endian.h (sim-endian.c): Ditto.
28 * sim-events.h (_SIM_EVENTS_H_): Replace with SIM_EVENTS_H.
29 (sim_events_set_trace): Delete unused prototype.
31 * sim-core.h (_SIM_CORE_H_): Replace with SIM_CORE_H.
32 * sim-core.c (_SIM_CORE_C_): Ditto for SIM_CORE_C.
34 * sim-fpu.h (sim-fpu.c): Include when H_REVEALS_MODULE_P.
35 (sim_fpu_to232i, sim_fpu_to232u, sim_fpu_i232to, sim_fpu_u232to):
36 Comment out, not yet implemented in sim-fpu.c.
37 (sim_fpu_zero, sim_fpu_one, sim_fpu_two, sim_fpu_qnan,
38 sim_fpu_max32, sim_fpu_max64): Mark as EXTERN_SIM_FPU.
40 * sim-inline.h: Rewrite description.
41 (H_REVEALS_MODULE_P, C_REVEALS_MODULE_P): Define.
42 (SIM_MAIN_INLINE): Add inline option.
44 * sim-inline.c (semantics.c, idecode.c, engine.c, ...): Do not
45 include generated files. Handled by generator directly.
47 Sat Apr 4 01:07:06 1998 Andrew Cagney <cagney@b1.cygnus.com>
49 * sim-trace.c (set_trace_option_mask): Keep TRACE_ANY_P
52 * sim-trace.h (TRACE_ANY_P): Define.
53 (struct _trace_data): Add trace_any_p.
56 Tue Mar 31 16:44:15 1998 Jim Lemke <jlemke@cygnus.com>
58 * sim-base.h: Add fp_type_opt etc to sim_state_base for
59 the global option "float_type".
62 Mon Mar 30 17:11:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
64 * run.c (main): Handle all alternatives of enum sim_stop.
65 (main): Delete unused `asection *s'.
67 Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
69 * hw-tree.h, hw-tree.c (hw_tree_vparse): New function
71 * configure: Regenerated to track ../common/aclocal.m4 changes.
74 * sim-hw.h (sim_hw_parse): Declare function.
75 (hw-tree.h): Do not include.
77 * sim-base.h (STATE_HW): Define.
78 (struct sim_state_base): Add member struct *hw.
80 * sim-module.c (sim-hw.h): Include.
81 (modules): Add sim_hw_install.
83 * aclocal.m4 (sim_hw_obj): Add sim-hw.o
86 Fri Mar 27 14:55:06 1998 Andrew Cagney <cagney@b1.cygnus.com>
88 * sim-base.h (CPU_INDEX): Define.
90 * sim-utils.c (sim_state_alloc): Initialize.
91 * sim-module.c (sim_post_argv_init): Ditto.
94 Thu Mar 26 10:07:57 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
96 * aclocal.m4 (sim_hw_obj): Fix sed expression to generate
97 properly formatted lists.
101 Thu Mar 26 10:37:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
103 * dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was
104 0x2f needs to be 0x3f.
108 Thu Mar 26 09:10:56 1998 Andrew Cagney <cagney@b1.cygnus.com>
110 * hw-tree.c (hw_tree_find_property): Return NULL when device is
112 (hw_tree_find_*_property): Clean up error message when property is
115 * dv-pal.c (hw_pal_io_read_buffer): Check the smp property is
116 present before looking for it.
119 Wed Mar 25 16:17:38 1998 Ian Carmichael <iancarm@cygnus.com>
121 * aclocal.m4 (AC_CHECK_HEADERS): Add check for fpu_control.h.
122 (AC_CHECK_FUNCS): Add check for __setfpucw.
123 * configure: Regenerated.
126 Wed Mar 25 09:18:34 1998 Andrew Cagney <cagney@b1.cygnus.com>
128 * dv-pal.c (hw_pal_countdown, hw_pal_countdown_value,
129 hw_pal_timer, hw_pal_timer_value): Define.
130 (hw_pal_io_read_buffer, hw_pal_io_write_buffer): Add timer support
131 (do_counter_event, do_counter_read, do_counter_value,
132 do_counter_write): new functions.
136 Tue Mar 24 12:24:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
138 * hw-tree.c (hw_printf): Send tree dump to stderr, same as other
141 * hw-base.c (hw_create): Stop searching for a device when one is
145 Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
147 * configure: Regenerated to track ../common/aclocal.m4 changes.
150 Mon Mar 23 10:25:08 1998 Andrew Cagney <cagney@b1.cygnus.com>
152 * aclocal.m4 (SIM_AC_OPTION_HARDWARE): Add second argument,
153 appends extra devices.
154 (SIM_AC_OPTION_HARDWARE): Substute sim_hw, a non-duplicate list of
157 * Make-common.in (hw-config.h): New target, create hw-config.h
159 (SIM_HW): Definition from @sim_hw@.
160 (hw-base.o): Depend on hw-config.h
163 Tue Mar 24 17:41:35 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
165 * Make-common.in: Get SHELL from configure.
166 * (stamp-tvals sim-inline.c): Use $(SHELL) when invoking
167 move-if-change. Fixes NT native build problem.
168 * Makefile.in (nltvals.def): Use $(SHELL) when invoking
169 move-if-change. Fixes NT native build problem.
170 * configure: Regenerate with autoconf 2.12.1 to fix shell issues for
174 Sun Mar 22 16:54:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
176 * hw-device.h, hw-device.c (hw_strdup): New function.
178 * hw-base.c (hw_create): Use hw_strdup when saving a copy of the
179 strings name, family and args.
180 (full_name_of_hw): Use hw_strdup when returning the full path.
182 * hw-properties.c: Clean up property not found / wrong type error
185 * hw-tree.c (hw_tree_parse): Finish a devices initialization
186 before attaching any ports.
188 * hw-base.c (hw-config.): Include. Replace hardwired table.
190 * dv-glue.c: Copy over ../ppc/hw_glue.c. Update to new framework.
192 * Make-common.in: Add rule for dv-glue.o.
196 Sun Mar 22 16:45:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
198 * hw-base.c (hw_finish): Move setting of trace level to here.
199 (hw_create): From here.
201 * hw-base.h, hw-base.c (do_hw_attach_regs): Copy function from
202 ../ppc/device_table.c.
204 * dv-pal.c (hw_pal_finish): Attach PAL device to parent bus.
206 * hw-tree.c (print_properties): Supress path when printing
207 properties of root node.
211 Sun Mar 22 16:21:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
213 * hw-device.h (HW_TRACE): Define.
215 * hw-device.c (hw_trace): Implement function.
217 * hw-base.c (hw_create): Set hw trace level from "trace?"
220 * dv-core.c (dv_core_attach_address_callback): Add trace.
222 * dv-pal.c: Replace DTRACE with HW_TRACE.
226 Sun Mar 22 15:23:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
228 * hw-device.h (HW_ZALLOC, HW_MALLOC): New macros.
229 (hw_alloc_data): Delcare.
230 (struct hw): Add member alloc_of_hw.
232 * hw-device.c (hw_zalloc, hw_malloc, hw_free, hw_free_all): New
233 functions. Assocate memory with a device.
236 * hw-base.h (set_hw_delete): Define.
237 (hw_delete_callback): Declare.
238 (hw_delete): Declare.
240 * hw-base.c (hw_delete): Implement function.
241 (struct hw_base_data): Add member to_delete.
242 (ignore_hw_delete): New function, does nothing.
243 (hw_create): Set the hw_delete method.
244 (hw_create): Allocate the base type using HW_ZALLOC before setting
247 * hw-tree.h, hw-tree.c (hw_tree_delete): New function.
249 * hw-properties.c: Replace zalloc/zfree with hw_zalloc/hw_free.
251 * hw-ports.c: Replace zalloc/zfree with hw_zalloc/hw_free.
252 (attach_hw_port_edge): Add struct hw argument
254 * dv-pal.c (hw_pal_finish): Replace zalloc/zfree with
259 Sun Mar 22 15:09:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
261 * hw-device.h (hw_attach_address_callback,
262 hw_detach_address_callback): Attach to a single space not a space
263 mask. Clarify interpretation of SPACE:ADDR parameters.
265 * hw-base.c (passthrough_hw_attach_address,
266 passthrough_hw_detach_address): Update.
267 * dv-core.c (dv_core_attach_address_callback): Ditto.
268 * dv-pal.c (hw_pal_attach_address): Ditto.
271 Thu Mar 19 00:41:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
273 * sim-options.h: Document additional CPU arg to OPTION_HANDLER.
276 Wed Mar 18 14:13:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
278 * Make-common.in (SIM_HW_OBJS, SIM_HW_SRC, SIM_DV_OBJS): Define.
279 (hw-base_h, hw-device_h, hw-handles_h, hw-instances_h, hw_ports_h,
280 hw-properties_h, hw-tree_h): Define, point at corresponding
282 (hw_base_headers): Define list of headers included by hw-base.h
283 (hw-base.o, hw-device.o, hw-instances.o, hw-handles.o, hw-ports.o,
284 hw-properties.o, hw-tree.o): Specify dependencies.
285 (dv-core.o, dv-pal.o): Ditto.
287 * sim-hw.h: New file.
289 * hw-device.h, hw-device.c, hw-properties.h, hw-properties.c,
290 hw-ports.h, hw-ports.c: New files. Copied from ../ppc/device.[ch].
292 * hw-tree.h, hw-tree.c: New files. Copied from ../ppc/tree.[hc].
294 * hw-base.h, hw-base.c: new files. Copied from
295 ../ppc/device_table.[hc].
297 * dv-core.c, dv-pal.c: New files. Copied from
298 ../ppc/hw_{core,pal}.c
300 * sim-basics.h (struct hw): Declare.
301 (enum port_direction, enum object_disposition): Declare.
305 Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
307 * aclocal.m4 (SIM_AC_OPTION_HARDWARE): Set sim_hw_obj, sim_dv_obj,
308 sim_dv_src in Makefile. Take list of devices as parameter to m4
311 * configure: Regenerated to track ../common/aclocal.m4 changes.
314 Mon Mar 16 12:37:33 1998 Andrew Cagney <cagney@b1.cygnus.com>
316 * sim-trace.h, sim-trace.c (trace_prefix): Pass in sim_cia so that
317 trace_prefix can abort cleanly.
319 Sat Mar 14 18:36:12 1998 Doug Evans <devans@seba.cygnus.com>
321 * dv-sockser.c, dv-sockser.h: New files.
322 * Make-common.in (dv-sockser.o): Add rule for.
323 * aclocal.m4: Check for fcntl.h.
324 * config.h: Add HAVE_FCNTL_H.
326 * sim-break.c (remove_breakpoint): Fix thinko.
328 * sim-hload.c (sim_load): Provide default value of SIM_HANDLES_LMA.
329 Use SIM_HANDLES_LMA for lma_p arg to sim_load_file.
331 1998-03-13 Fred Fish <fnf@cygnus.com>
333 * sim-base.h (struct sim_state_base): Add prog_syms and
334 define macro STATE_PROG_SYMS.
335 * sim-trace.c (trace_prefix): Add variables abfd, symsize,
336 symbol_count, and asymbols. Call bfd_get_symtab_upper_bound
337 and bfd_canonicalize_symtab, to get symbol table on first use
338 and preserve it via STATE_PROG_SYMS for future calls to
339 bfd_find_nearest_line.
341 Wed Mar 11 14:02:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
343 * sim-core.h, sim-core.c (sim_core_map_to_str): Delete.
345 * sim-core.c (sim_core_attach): Handle a generic number of maps -
346 up to nr_maps, not just access_* maps.
348 * sim-profile.h (struct PROFILE_DATA): Track nr_maps different
351 * sim-profile.c (profile_print_core): Make map unsigned. Iterate
352 over nr_maps not sim_core_nr_maps.
354 * sim-events.h, sim-events.c (sim_events_watch_core): Change
355 core_map argument to unsigned.
356 (struct _sim_core): Ditto for struct member core_map.
358 * sim-core.h (nr_sim_core_maps, sim_core_*_map): Delete
360 * sim-basics.h (access_io, access_*_io): Define.
361 (map_read, map_write, map_exec, map_io): Define.
363 * sim-core.c, sim-core.h (sim_core_attach): Replace argument
364 attach with more generic mapmask.
365 (sim_core_{read,write}_*): Change map argument to unsigned.
367 * sim-core.c (sim_core_uninstall, sim_core_attach,
368 sim_core_detach): Iterate over nr_maps instead of
371 * sim-break.c (insert_breakpoint): Write breakpoints to exec_map
372 instead of the write_map.
373 (remove_breakpoint): Ditto.
375 * genmloop.sh (engine_resume_full): Replace sim_core_*_map
376 with read_map, write_map, exec_map resp.
378 * cgen-mem.h (DECLARE_GETMEM, DECLARE_SETMEM, DECLARE_GETIMEM):
381 * cgen-utils.c (sim_disassemble_insn): Ditto.
383 * sim-hrw.c (sim_write, sim_write): Ditto.
385 * sim-utils.h, sim-utils.c (access_to_str, map_to_str,
386 transfer_to_str): New functions.
388 Mon Mar 9 12:50:59 1998 Doug Evans <devans@seba.cygnus.com>
390 * sim-base.h (sim_state_base): New member environment.
391 (STATE_ENVIRONMENT): New macro.
392 * sim-config.c (current_environment): Delete.
393 (sim_config_default): New function.
394 (sim_config): Set STATE_ENVIRONMENT, not current_environment.
395 * sim-config.h (current_environment,CURRENT_ENVIRONMENT): Delete.
396 (sim_config_default): Add prototype.
397 * sim-module.c (sim_pre_argv_init): Call sim_config_default.
398 * sim-options.c (standard_option_handler, case OPTION_ENVIRONMENT):
399 Set STATE_ENVIRONMENT, not current_environment.
401 Mon Mar 9 11:59:03 1998 Jim Wilson <wilson@cygnus.com>
403 * sim-fpu.c (NR_GUARDS64): Change NR_PAD32 to NR_PAD64.
405 Tue Mar 3 10:53:05 1998 Andrew Cagney <cagney@b1.cygnus.com>
407 * sim-types.h (SIGNED32, SIGNED64): Pacify GCC.
409 * sim-alu.h (ALU64_BEGIN): Make alu64_r unsigned.
411 Mon Mar 2 10:20:06 1998 Doug Evans <devans@seba.cygnus.com>
413 * Make-common.in (TAGS): Make smarter.
414 * Makefile.in (TAGS): Ditto.
416 Fri Feb 27 19:09:57 1998 Doug Evans <devans@canuck.cygnus.com>
418 * sim-module.c (*): Fix typos in assertion tests.
420 Sat Feb 28 13:54:10 1998 Andrew Cagney <cagney@b1.cygnus.com>
422 * sim-module.c (sim_pre_argv_init): String passed to asprintf
425 * sim-options.c (sim_parse_args): Ditto.
426 (sim_args_command): Return OK, instead of nothing, for an empty
429 Fri Feb 27 13:29:13 1998 Andrew Cagney <cagney@b1.cygnus.com>
431 * sim-profile.c (profile_info): Rename from profile_print. Drop
432 misc and misc_cpu callback arguments. Use
433 PROFILE_INFO_CPU_CALLBACK and STATE_PROFILE_INFO_CALLBACK instead.
434 (profile_install): Install profile_info function.
436 * sim-profile.h (PROFILE_INFO_CPU_CALLBACK,
437 STATE_PROFILE_INFO_CALLBACK): Define.
438 (struct PROFILE_DATA): Add field info_cpu_callback.
439 (profile_print): Delete function.
441 * sim-base.h (STATE_MODULES): Define. Replace individual
442 STATE_*_LIST with single struct module_list.
444 * sim-module.h (MODULE_INFO_FN, MODULE_INFO_LIST): Declare.
445 (struct module_list): Declare.
447 * sim-module.h, sim-module.c (sim_module_add_info_fn,
448 sim_module_info): New functions.
449 (sim_module_install): Clean up module data structures.
451 * sim-info.c (sim_info): New file. New function. Call
454 * Make-common.in (sim-info.o): Define rule.
455 (SIM_NEW_COMMON_OBJS): Add sim-info.o.
458 Fri Feb 27 18:26:16 1998 Doug Evans <devans@canuck.cygnus.com>
460 * sim-base.h (sim_cpu_base): New members name, options.
461 (sim_cpu_lookup): Add prototype.
462 * sim-module.c (sim_pre_argv_init): Provide default names for cpus.
463 * sim-options.h (DECLARE_OPTION_HANDLER): New argument `cpu'.
464 (sim_add_option_table): Update prototype.
465 * sim-options.c (sim_add_option_table): New argument `cpu'.
466 (standard_option_handler,standard_install): Update.
467 (sim_parse_args): Handle cpu specific options.
468 (print_help): New static function.
469 (sim_print_help): Call it. Print cpu specific options.
470 (find_match): New static function.
471 (sim_args_command): Call it. Handle cpu specific options.
472 * sim-utils.c (sim_cpu_lookup): New function.
473 * sim-memopt.c (memory_option_handler): Update.
474 (sim_memopt_install): Update.
475 * sim-model.c (model_option_handler): Update.
476 (model_install): Update.
477 * sim-profile.c (profile_option_handler): Update.
478 (profile_install): Update.
479 * sim-trace.c (trace_option_handler): Update.
480 (trace_install): Update.
481 * sim-watch.c (watchpoint_option_handler): Update.
482 (sim_watchpoint_install): Update.
483 * cgen-scache.c (scache_option_handler): Update.
484 (scache_install): Update.
486 Wed Feb 25 11:00:26 1998 Doug Evans <devans@canuck.cygnus.com>
488 * Make-common.in (check): Run `make check' in testsuite dir.
490 Wed Feb 25 14:40:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
492 * sim-trace.c (trace_result0): New function.
494 * sim-trace.h (TRACE_FP_*, TRACE_FPU_*): Rename TRACE_FPU_*
495 macro's to TRACE_FP_*. TRACE_FPU_* should be defined and used when
496 tracing sim_fpu variables.
497 (TRACE_ALU_RESULT0): Define.
498 (TRACE_FP_RESULT_WORD): Define.
499 (TRACE_FP_INPUT_WORD1): Define.
501 * sim-fpu.c, sim-fpu.h (sim_fpu_max32, sim_fpu_max64, sim_fpu_one,
502 sim_fpu_two): New constants.
503 (sim_fpu_op1, sim_fpu_op2): New types.
504 (struct _sim_fpu): Delete member result. Re-order other members.
505 (sim_fpu_sign, sim_fpu_exp): New functions.
506 (sim_fpu_max, sim_fpu_min): new functions.
507 (EXPMAX32, EXPMAX64, NR_PAD32, NR_PAD64, NR_GUARDS32, NR_GUARDS64,
508 NORMAL_EXPMAX32, NORMAL_EXPMAX64): Define.
510 Tue Feb 24 22:45:39 1998 Doug Evans <devans@seba.cygnus.com>
512 * sim-profile.c (profile_print): Delete duplicate test of
514 (profile_print_pc): Exit early if data collection not set up.
515 (profile_print_core): Simplify by calling sim_core_map_to_str.
516 * sim-core.h (sim_core_map_to_str): Declare.
517 * sim-core.c (sim_core_map_to_str): Make non-static.
519 * genmloop.sh (engine_resume): Update insn_count before exiting.
520 (engine_resume_full): Keep accurate core profile data.
522 * cgen-utils.c (sim_disassemble_insn): Don't use
523 sim_core_read_aligned_N, it messes up profiling results.
525 Mon Feb 23 20:45:57 1998 Mark Alexander <marka@cygnus.com>
527 * nltvals.def: Regenerate with MN10300 additions.
529 Tue Feb 24 13:18:42 1998 Andrew Cagney <cagney@b1.cygnus.com>
531 * sim-trace.h (TRACE_ALU_RESULT2): Define.
533 * sim-trace.h, sim-trace.c (trace_result_word2,
534 trace_input_word4, trace_result_word4): New function.
536 Mon Feb 23 13:08:35 1998 Doug Evans <devans@canuck.cygnus.com>
538 * cgen-sim.h (SEM_NEXT_PC): New arg `len'.
540 * sim-xcat.h: Delete.
541 * cgen-mem.h: Delete inclusion of sim-xcat.h.
543 * sim-alu.h: Replace sim-xcat.h with symcat.h.
544 * sim-n-bits.h: Ditto.
545 * sim-n-core.h: Ditto.
546 * sim-n-endian.h: Ditto.
548 Mon Feb 23 13:19:58 1998 Michael Meissner <meissner@cygnus.com>
550 * syscall.c (cb_syscall): Handle short reads, and EOF.
552 Tue Feb 24 00:29:57 1998 Andrew Cagney <cagney@b1.cygnus.com>
554 * sim-trace.c (print_data): case trace_fmt_fp missing break. Use
555 sim_fpu to safely print fp_word values.
556 (print_data): Add trace_fmt_bool and trace_fmt_addr.
557 (trace_result_bool1, trace_result_addr1): New functions.
558 (trace_input_bool1, trace_input_addr1): New functions.
560 * sim-trace.h (TRACE_FPU_*): Define.
562 Mon Feb 23 13:24:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
564 * sim-fpu.h (enum sim_fpu_class): Add sim_fpu_class_denorm.
565 (sim_fpu_fpto, sim_fpu_tofp): Define.
567 Fri Feb 20 18:08:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
569 * sim-fpu.c (sim_fpu_cmp): New function.
571 Wed Feb 18 16:29:21 1998 Doug Evans <devans@canuck.cygnus.com>
573 * cgen-utils.h (sim_disassemble_insn): Use CGEN_INSN_BITSIZE
574 instead of abuf->length.
575 * sim-trace.c (trace_options): Have -t only trace a few useful things.
576 (set_trace_option_mask): Renamed from set_trace_options.
577 (set_trace_option): New function.
578 (trace_option_handler): Update calls to set_trace_option{,_mask}.
579 * sim-trace.h (TRACE_USEFUL_MASK): New macro.
581 Wed Feb 18 12:42:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
583 * sim-basics.h: Declare struct _sim_fpu.
585 Tue Feb 17 16:27:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
587 * sim-trace.h (TRACE_ALU_INPUT*, TRACE_ALU_RESULT): Define.
588 (trace_prefix, trace_input*, trace_result*): Declare.
589 (trace_one_insn): Change declaration, assume trace_prefix called.
590 (trace_generic): Like trace_one_insn.
591 (TRACE_ALU_IDX, TRACE_*_IDX): Change #define's to enum.
592 (TRACE_alu, TRACE_[a-z]*): Update.
594 * sim-trace.c (trace_prefix, trace_input*, trace_result*,
595 trace_insn, save_data, trace_idx_to_str, print_data): New
597 (trace_one_insn): Rewrite.
598 (trace_generic): New function.
600 Tue Feb 17 17:27:30 1998 Doug Evans <devans@seba.cygnus.com>
602 * Make-common.in (CGEN_MAIN_SCM): Update.
603 * aclocal.m4 (USE_MAINTAINER_MODE): New variable.
605 * cgen-sim.h (SEMANTIC_CACHE_FN): Delete.
606 (SEMANTIC_FN): Rewrite declaration.
607 (DECODE): Update type of semantic_fast member.
608 ({EX,SEM}_FN_NAME): Have only one version.
609 * cgen.sh: Support building cpu.c.
610 * sim-base.h (sim_state_base): Delete conditionals surrounding
613 Tue Feb 10 18:31:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
615 * sim-load.c (sim_load_file): Print LMA/VMA according to value
618 Tue Feb 10 14:56:23 1998 Ian Carmichael <iancarm@cygnus.com>
620 * sim-core.c: Add missing prototypes for WITH_DEVICES.
621 Add missing parameters to device_io calls.
622 * sim-core.h: Add missing parameters to device_io calls.
624 Mon Feb 9 14:48:37 1998 Doug Evans <devans@canuck.cygnus.com>
626 * cgen-sim.h (DECODE): Always use switch for `read' for now.
627 (PAREXEC): Renamed from PARALLEL_EXEC. All uses updated.
628 (SEMANTIC{,_CACHE}_FN): Fix return type.
629 * cgen.sh (decode): Add s/@arch@/$arch/.
630 * genmloop.sh (@cpu@_engine_run): Delete `current_state'.
631 (engine_resume): Likewise. Make `engine' volatile. Save copy
632 of cpu pointer in volatile object. Initialize read switch if
635 Thu Feb 5 13:27:04 1998 Doug Evans <devans@seba.cygnus.com>
637 * cgen-sim.h (EX_FN_NAME): _exc_ -> _ex_.
638 (SEM_INSN): New macro.
640 Tue Feb 3 16:31:56 1998 Andrew Cagney <cagney@b1.cygnus.com>
642 * sim-run.c (sim_engine_run): Assume IMEM is 32 bit.
644 Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
646 * configure: Regenerated to track ../common/aclocal.m4 changes.
648 Sun Feb 1 16:16:57 1998 Andrew Cagney <cagney@b1.cygnus.com>
650 * sim-types.h (fp_word): New type, define according to
651 WITH_TARGET_FLOATING_POINT_BITSIZE.
653 * aclocal.m4 (default_sim_floating_point_bitsize): Add
654 configuration of size of floating point registers.
656 Sun Feb 1 14:02:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
658 * sim-profile.c (profile_print): Only print CPU <N> if other
659 output is going to appear.
661 Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
663 * configure: Regenerated to track ../common/aclocal.m4 changes.
665 Sat Jan 31 18:03:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
667 * sim-types.h (address_word): Typedef according to
668 WITH_TARGET_ADDRESS_BITSIZE.
669 (signed_cell, unsigned_cell, natural_cell): Ditto using
670 WITH_TARGET_CELL_BITSIZE.
672 * sim-config.h (WITH_TARGET_ADDRESS_BITSIZE): Define.
673 (WITH_TARGET_CELL_BITSIZE): Define.
674 (WITH_HOST_WORD_BITSIZE): Delete.
676 * sim-config.c (print_sim_config): Update.
678 * aclocal.m4 (SIM_AC_OPTION_BITSIZE): Add support for
679 configuration of address and OpenFirmware cell sizes.
681 Fri Jan 30 09:36:33 1998 Andrew Cagney <cagney@b1.cygnus.com>
683 * sim-engine.h (sim_engine_run): Add argument nr_cpus.
684 * sim-run.c (sim_engine_run): Update.
686 * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use SET_CPU_CIA instead of
688 * sim-run.c (sim_engine_run): Ditto.
690 * sim-resume.c (sim_resume): Obtain nr_cpus from sim_engine.
691 (sim_resume): Pass nr_cpus to sim_engine_run.
693 * sim-engine.h (struct _sim_engine): Add member nr_cpus.
695 * sim-engine.c (sim_engine_init): Hardwire nr_cpus to
697 (sim_engine_nr_cpus) sim-engine.c, sim-engine.h: New function
699 Thu Jan 29 12:13:01 1998 Doug Evans <devans@canuck.cygnus.com>
701 * cgen.sh: Portably read parms past $9.
703 Fri Jan 23 14:20:54 1998 Doug Evans <devans@seba.cygnus.com>
705 * Make-common.in (stamp-tvals): New rule.
706 (targ-vals.h,targ-map.c): Depend on it.
707 (clean): Remove stamp-tvals.
709 Tue Jan 20 21:35:13 1998 Michael Meissner <meissner@cygnus.com>
711 * sim-utils.c (sim_state_alloc): #if 0 variable that is only used
712 in code also #if 0'ed.
714 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
716 * configure: Regenerated to track ../common/aclocal.m4 changes.
717 * aclocal.m4: Recognize --enable-maintainer-mode.
719 Mon Jan 19 12:45:45 1998 Doug Evans <devans@seba.cygnus.com>
721 start-sanitize-cygnus
722 * Make-common.in (cgen-{arch,cpu,decode}): New targets.
725 * cgen-scache.h: Deleted.
726 * Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
727 (CGEN_CPU_SCM): Add sim-model.scm.
728 * cgen-scache.c: Only compile contents if WITH_SCACHE.
729 (scache_init): Use runtime computed size of SCACHE.
730 (scache_flush): Likewise.
731 * cgen-mem.h (GETIMEMU[QHSD]I): Declare.
732 ([GS]ETT{QI,UQI,HI,UHI,SI,USI,DI,UDI}): Declare.
733 * cgen-sim.h: Scache support moved here.
734 (PC): Redo definition.
735 (ARGBUF,SCACHE,PARALLEL_EXEC): Provide forward decls.
736 (DECODE): Add parallel execution support.
737 Only include semantic label members if using switch.
738 (SWITCH,CASE,BREAK,DEFAULT,ENDSWITCH): Portable computed goto support.
739 (CGEN_CPU): Delete members exec_state, halt_sigrc, halt_jmp_buf.
740 (IADDR,CIA,SEM_ARG,EX_FN_NAME,SEM_FN_NAME,RECORD_IADDR,SEM_ARGBUF,
741 SEM_NEXT_PC,SEM_BRANCH_VIA_{CACHE,ADDR},SEM_NEW_PC_ADDR): Moved here
743 (engine_{stop,run,resume,halt,signal}): Delete decls.
744 * cgen-types.h (CGEN_{XCAT3,CAT3}): Delete.
745 (argbuf,scache): Delete forward decls.
746 (STATE): Delete decl.
747 * cgen-utils.c: Don't include decode.h, mem-ops.h, sem-ops.h.
748 Include cgen-mem.h, cgen-ops.h.
749 (engine_halt,engine_signal): Delete.
750 ({ex,exc,sem,semc}_illegal): Delete.
751 (sim_disassemble_insn): Result of extract fn is in bits.
752 * genmloop.sh: Rewrite.
754 * cgen-trace.c (trace_insn): Set printed_result_p=0 if not tracing
757 * sim-base.h (sim_state_base): Delete member `model'.
758 (sim_cpu_base): Add member `model'.
759 * sim-model.h (IMP_PROPERTIES): New type.
760 (MACH): New members imp_props, models.
761 (models): Delete decl.
762 * sim-model.c (set_model): Update.
763 * sim-profile.c (profile_print_model): Update.
765 * sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here.
767 Fri Jan 16 12:33:09 1998 Nick Clifton <nickc@cygnus.com>
769 * cgen-trace.c (trace_insn): Call CGEN_INSN_MNEMONIC() rather than
772 Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
774 * configure: Regenerated to track ../common/aclocal.m4 changes.
777 Mon Dec 15 23:16:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
779 * aclocal.m4 (AR): Check for sigaction.
781 Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
783 * Make-common.in (sim-core.o): Depend on $(sim_main_headers).
785 * sim-config.h (WITH_TREE_PROPERTIES): Define as 0.
786 * sim-config.c (sim_config): Replace WITH_DEVICES with
787 WITH_TREE_PROPERTIES.
789 * configure: Regenerated to track ../common/aclocal.m4 changes.
791 Wed Dec 3 17:56:02 1997 Doug Evans <devans@canuck.cygnus.com>
793 * Make-common.in (SIM_ENVIRONMENT): New variable.
794 (CONFIG_CFLAGS): Add it.
795 * aclocal.m4 (SIM_AC_OPTION_ENVIRONMENT): Handle
796 --enable-sim-environment option.
797 * configure: Regenerated.
798 * sim-config.h (environment support): Rewrite.
799 * sim-config.c (current_environment): Define as enum, unconditionally.
800 (current_alignment): Define unconditionally.
801 (config_environment_to_a): Update.
802 (config_alignment_to_a): Fix type of argument. Define unconditionally.
803 (sim_config): Handle environment and alignment determination
804 unconditionally. Delete sanity checks of current_environment,
806 (print_sim_config): Update.
807 * sim-options.c (STANDARD_OPTIONS enum): Add OPTION_ENVIRONMENT.
808 (standard_options): Add --environment.
809 (standard_option_handler): Likewise.
811 Fri Nov 28 12:21:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
813 * sim-alu.h: Add notes on carry vs borrow for subtraction.
814 (ALU{,8,16,32,64}ADD): Redefine ADD macro as add overflowing.
815 (ALU{,8,16,32,64}ADDC): Define - add carrying.
816 (ALU{,8,16,32,64}SUB): Redefine SUB macro as subtract overflowing.
817 (ALU{,8,16,32,64}SUBB): Define - subtract borrowing.
818 (ALU{,8,16,32,64}SUBC): Define - tract carrying.
819 (ALU{,8,16,32,64}ADD_CA, ALU{,8,16,32,64}ADDC_C): Replace single
820 argument ADD_CA macro with two argument ADDC_C - add carrying with
822 (ALU{,8,16,32,64}SUB_CA, ALU{,8,16,32,64}SUBC_X): Replace single
823 argument SUB_CA macro with two argument SUBC_X - subtract
825 (ALU{,8,16,32,64}SUBB_B): Define - subtract borrowing with
827 (ALU{,8,16,32,64}NEGC, ALU{,8,16,32,64}NEGB): Define.
829 Sun Nov 30 17:40:57 1997 Michael Meissner <meissner@cygnus.com>
831 * sim-io.c (sim_io_{syscalls,getstring}): Delete. No longer used.
832 * sim-io.h (sim_io_syscalls): Delete.
834 Fri Nov 28 20:10:09 1997 Michael Meissner <meissner@cygnus.com>
836 * syscall.c (cb_syscall): Add missing else, so write to stdout
839 * sim-alu.h (ALU{,8,16,32,64}_SET_CARRY): Provide macros to import
840 the carry bit from the CPU's psw.
842 Fri Nov 28 11:15:05 1997 Doug Evans <devans@canuck.cygnus.com>
844 * gennltvals.sh: Redo syscall support.
845 * nltvals.def: Regenerated.
847 Wed Nov 26 16:49:38 1997 Michael Meissner <meissner@cygnus.com>
849 * syscall.c (cb_syscall): If writing to stdout or stderr, flush
850 the stream immediately.
852 Wed Nov 26 12:32:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
854 * sim-io.c (sim_io_getstring): Delete unused len2.
855 (sim_io_syscalls): Ditto for sys_errno.
857 Wed Nov 26 11:18:40 1997 Doug Evans <devans@canuck.cygnus.com>
859 * syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.
861 * Make-common.in (run.o): Depend on remote-sim.h.
862 (nrun.o,sim-hload.o,sim-hrw.o): Likewise.
863 (sim-io.o,sim-reason.o,sim-resume.o): Likewise.
865 Tue Nov 25 20:12:46 1997 Michael Meissner <meissner@cygnus.com>
867 * sim-io.c (sim_io_syscalls): Disable lseek.
869 Tue Nov 25 00:12:38 1997 Doug Evans <devans@seba.cygnus.com>
872 * gennltvals.sh: Generate syscall values for d30v.
874 * gennltvals.sh: Use libgloss/syscall.h for sparc.
875 * nltvals.def: Regenerate.
877 * callback.c (os_stat): Make 3rd arg a host struct stat ptr.
878 (os_fstat): Likewise. Validate fd argument.
879 (cb_host_to_target_stat): Delete big_p arg. If HS arg is NULL,
880 just compute target stat struct length.
881 * syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
882 (ENOSYS,ENAMETOOLONG): Provide definitions if missing.
883 (get_string): Return host errno values so they can be properly
885 (cb_syscall): Likewise.
886 (cb_syscall, cases open,unlink): Use get_path instead of get_string.
887 (cb_syscall, case read): Use read_stdin for file descriptor 0.
888 (cb_syscall, case write): Use write_stderr for file descriptor 2.
889 (cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
890 (get_path): New function.
892 Mon Nov 24 18:56:07 1997 Michael Meissner <meissner@cygnus.com>
894 * sim-io.c (sim_io_syscalls): New function to provide system call
895 emulation. Provide exit, open, close, read, write, lseek, and
897 (sim_io_getstring): New function to return a string from a
898 simulated memory location.
900 * sim-io.h (sim_io_syscalls): Add declaration.
902 Mon Nov 24 12:09:59 1997 Doug Evans <devans@seba.cygnus.com>
904 * sim-core.c (sim_core_signal): Fix spelling error in message.
906 * sim-hrw.c (sim_read): Use read map, not write map.
908 * Make-common.in (all): Add .gdbinit.
909 * gdbinit.in: Add dump command.
911 * sim-model.c (model_options): Use '\0' for `shortopt'.
913 * sim-trace.c (trace_option_handler): Set state trace file
914 for --trace-file in addition to cpu's values.
915 (trace_vprintf): If cpu == NULL, try state's trace file.
916 (trace_options): Reorganize table, reword some descriptions.
918 Sun Nov 23 10:57:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
920 * sim-fpu.c (sim_fpu_abs, sim_fpu_neg, sim_fpu_inv), sim-fpu.h:
923 Sat Nov 22 19:16:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
925 * sim-reason.c (sim_stop_reason): For sim_signalled, return the
926 signal untranslated, document problem with this.
928 * nrun.c (main): Check for a prog name of `*step'. If present,
929 step the simulator instead of allowing it to run free.
931 * sim-signal.c (SIGQUIT): Define on _MSC_VER hosts.
933 * Make-common.in (sim_main_headers): Add sim-signal.h.
935 Fri Nov 21 09:32:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
937 * sim-signal.c (sim_signal_to_host): Return 0 for SIM_SIGNONE.
939 Thu Nov 20 20:35:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
941 * sim-signal.h: Start simulator signals at 64 so that host signal
942 numbers can be detected and reported.
944 * sim-signal.h (SIM_SIGFPE), sim-signal.h: Add signal.
946 Wed Nov 19 12:02:41 1997 Doug Evans <devans@seba.cygnus.com>
948 * callback.c (cb_host_to_target_stat): Fix return values.
950 * cgen-sim.h (enum_signal_type): Delete.
951 (engine_signal): Update prototype.
952 * cgen-utils.c: Don't include <signal.h>.
953 (sim_signal_to_host): Delete, lives in sim-signal.c now.
954 (engine_signal): Update.
956 * sim-utils.c (sim_state_alloc): Call SIM_STATE_ALLOC if defined.
957 (sim_state_free): Call SIM_STATE_FREE if defined.
959 * sim-module.c (sim_module_install): Don't leave any modules
960 installed if one fails to install.
962 Wed Nov 19 13:25:48 1997 Michael Meissner <meissner@cygnus.com>
964 * sim-options.c: Don't include ../libiberty/alloca-conf.h any
965 more, since alloca is not used in this file.
967 * sim-alu.h (ALU{32,64}_*): Rewrite 32 and 64 bit ALU support to
968 correctly set the carry and overflow bits for those types.
969 (ALU{8,16,32,64}_{ADD,SUB}_CA): Take VAL argument to add along
970 with carry, so carry is correct after doing both adds.
971 (ALU*): Space out '\' to make it easier to read.
973 Tue Nov 18 15:53:45 1997 Doug Evans <devans@canuck.cygnus.com>
975 * sim-core.c (sim_core_signal): Use sim_stopped instead of
978 * sim-signal.c, sim-signal.h: New files.
979 * Make-common.in (sim-signal.o): Add rule for.
980 (SIM_NEW_COMMON_OBJS): Add sim-signal.o.
981 * sim-abort.c: Don't include <signal.h>.
982 * sim-basics.h: #include "sim-signal.h".
983 * sim-break.c: Don't include <signal.h>.
984 (sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
985 * sim-core.c: Don't include <signal.h>.
986 (SIGBUS): Delete definition.
987 (sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
988 * sim-engine.c: Don't include <signal.h>.
989 (sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
990 * sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
991 * sim-resume.c: Don't include <signal.h>.
992 (SIGTRAP): Delete definition.
993 (has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
994 * sim-stop.c: Don't include <signal.h>.
995 (control_c_simulation): Replace SIGINT with SIM_SIGINT.
996 * sim-watch.c: Don't include <signal.h>.
997 (handle_watchpoint): Replace SIGINT with SIM_SIGINT.
999 * Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
1001 * sim-base.h (CIA_ADDR): Provide default definition.
1002 * sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
1003 * sim-break.c (sim_handle_breakpoint): Likewise.
1005 Mon Nov 17 14:15:31 1997 Doug Evans <devans@seba.cygnus.com>
1007 * Make-common.in (srccom): New variable.
1009 * Make-common.in (DEP, COMMON_DEP_CFLAGS): Define.
1010 (LIB_OBJS): Add syscall.o.
1011 (gentmap): Pass $(NL_TARGET) to $(CC).
1012 (syscall.o): Add rule for.
1013 (sim_main_headers): Add $(SIM_EXTRA_DEPS).
1014 (sim-bits.o): Depend on $(sim-n-bits_h).
1015 (sim-load.o): Depend on callback.h.
1017 * Make-common.in (cgen-*.o): Update dependencies, mem-ops.h renamed to
1018 cgen-mem.h, sem-ops.h renamed to cgen-ops.h.
1019 * cgen-mem.h, cgen-ops.h: New files.
1021 * aclocal.m4 (--enable-sim-scache): Pass -DWITH_SCACHE=0 for "=no".
1023 * Makefile.in (nltvals.def): Depend on gennltvals.sh.
1025 * callback.c: #include string.h or strings.h.
1026 #include sys/types.h and sys/stat.h.
1027 (cb_init_syscall_map,cb_init_errno_map,cb_init_open_map): Declare.
1028 (os_get_errno,os_open): Update.
1029 (os_stat,os_fstat): New functions.
1030 (os_init): Initialize syscall_map, errno_map, open_map.
1031 (default_callback): Add entries for os_stat, os_fstat, syscall_map,
1032 errno_map, open_map, signal_map, stat_map.
1033 (cb_read_target_syscall_maps): New function.
1034 (cb_target_to_host_syscall): New function.
1035 (cb_host_to_target_errno): Renamed from host_to_target_errno.
1036 (cb_target_to_host_open): Renamed from target_to_host_open.
1037 (store): New function.
1038 (cb_host_to_target_stat): New function.
1039 * syscall.c: New file.
1040 * gentmap.c (sys_tdefs): New global.
1041 (gen_targ_vals_h): Output target syscall numbers.
1042 (gen_targ_map_c): Update. Output target syscall translation map.
1043 * gentvals.sh: New first argument `target'. Preface table with
1044 #ifdef NL_TARGET_$target if non-null target passed.
1045 * gennltvals.sh: New file.
1046 * nltvals.def: Regenerated.
1048 Fri Nov 14 11:33:34 1997 Andrew Cagney <cagney@b1.cygnus.com>
1050 * sim-n-core.h (sim_core_read_unaligned_N): Return static
1052 (sim_core_dummy_M): Declare.
1054 Wed Nov 12 18:16:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
1056 * sim-core.c (sim_core_signal): Print the address of the
1059 Thu Nov 13 11:49:41 1997 Doug Evans <devans@seba.cygnus.com>
1061 * sim-base.h (sim_state_base): Move `magic' to end of struct.
1063 * sim-base.h (sim_state_base): Add member trace_data.
1064 (STATE_TRACE_DATA): New macro.
1065 * sim-trace.h (TRACE_DEBUG_IDX,TRACE_debug): New macros.
1066 ({WITH_,}TRACE_DEBUG_P): New macros.
1067 (STATE_TRACE_FLAGS,STRACE_P,STRACE_DEBUG_P): New macros.
1068 (_sim_cpu): Delete forward reference.
1069 (debug_printf): Update.
1070 * sim-trace.c (OPTION_TRACE_DEBUG): Define.
1071 (trace_options): Add --trace-debug.
1072 (set_trace_options): Handle it.
1073 (trace_option_handler): Likewise.
1074 (trace_install): Init state trace_data struct.
1075 (trace_uninstall): Close state trace file.
1076 * sim-events.c (ETRACE): Only print source file and line number if
1078 * sim-n-core.h (sim_core_trace_M): Likewise.
1080 * sim-core.c (sim_core_signal): Add missing "\n" in message.
1082 1997-11-13 Felix Lee <flee@cygnus.com>
1084 * sim-n-core.h (sim_core_read_unaligned_N): illegal empty
1086 * sim-types.h (unsigned128,signed128): fix typo for MSVC.
1088 Wed Nov 12 12:18:08 1997 Doug Evans <devans@canuck.cygnus.com>
1090 * aclocal.m4 (SIM_AC_OPTION_SCACHE): Fix typo.
1092 * Make-common.in (BUILT_SRC_FROM_COMMON): Remove files no longer
1094 (sim-config.o): Remove non-existent $(sim-nconfig_h) dependency.
1095 (clean): Don't delete $(BUILT_SRC_FROM_COMMON) if building in
1098 Tue Nov 11 13:28:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
1100 * sim-events.c (sim_events_process): Re-compute the time -
1101 update_time_from_event - as each event is processed. Reverses
1104 Fri Nov 7 00:37:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
1106 * callback.c (os_poll_quit): Replace _WIN32 with _MSC_VER.
1108 Fri Nov 7 00:37:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
1110 * sim-events.c (sim_events_process): Delete redundant call to
1111 update_time_from_event.
1112 (sim_events_slip): Always decrement time_from_event.
1113 (sim_events_tick, sim_events_deschedule, update_time_from_event):
1114 Delete assertion that time_from_event >=0 when work in queue, no
1117 Thu Nov 6 12:06:46 1997 Andrew Cagney <cagney@b1.cygnus.com>
1119 * sim-options.c (STANDARD_OPTIONS): Change OPTION_* to an enum.
1120 (standard_option_handler): Update.
1122 * sim-options.h: Clarify documentation.
1123 (OPTION_LONG_ONLY_P): Delete definition.
1124 (OPTION_VALID_P): Define.
1126 * sim-options.c (sim_print_help): Allow short only options.
1127 (sim_parse_args): Ditto.
1128 (sim_args_command): Skip short only options.
1129 (sim_parse_args): Allocate space for NUM_OPTS not just 256. Make
1130 separate entries for short and long options in the HANDLERS and
1132 (sim_parse_args): Disable argument permutation.
1134 Wed Nov 5 13:40:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
1136 * sim-core.h (DECLARE_SIM_CORE_WRITE_N. DECLARE_SIM_CORE_READ_N):
1137 Add argument M, size of data type.
1138 (sim_core_read_misaligned_3, sim_core_write_misaligned_3):
1139 Declare, ditto for 5, 6 & 7 byte transfers.
1140 (sim_core_write_unaligned_1, sim_core_write_unaligned_1): Define
1143 * sim-n-core.h (sim_core_trace_M): Rename from
1144 sim_core_trace_N. Add nr_bytes argument. Replace transfer argument
1145 with transfer type. Print transfer direction. Handle 1 and 2 byte
1147 (sim_core_read_unaligned_N, sim_core_write_unaligned_N): Trace
1149 (unsigned_M, T2H_M, H2T_M): Rename from unsigned_N, T2H_N, H2T_N.
1150 Update all functions.
1152 * sim-core.c: Generate functions starting with 16 not 1.
1153 (sim_core_read_unaligned_3): Generate. Ditto for 3 byte write and
1154 all 5, 6 & 7 byte transfers.
1156 * sim-n-core.h (sim_core_read_misaligned_N,
1157 sim_core_write_misaligned_N): Implement.
1159 Mon Nov 3 15:03:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
1161 * sim-endian.h (U16_8): Implement
1163 * sim-endian.c (sim_endian_split_16, sim_endian_join_16): New functions
1165 * sim-endian.h (VL8_16, VH8_16): Implement.
1167 * sim-memopt.c (memory_option_handler): Typecast 64bit value to
1169 (memory_option_handler): Only zalloc modulo bytes when non-zero.
1170 (memory_option_handler): Skip comma in alias address list
1172 Fri Oct 31 13:03:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
1174 * sim-memopt.c (do_memopt_add, do_memopt_delete): Add level and
1176 (parse_size, parse_addr): New functions
1177 (memory_option_handler, memory_options): Parse address & size
1178 using new functions. Pass level, space, modulo to do_memopt_add &
1181 * sim-memopt.h (struct _sim_memopt): Add level & space fields.
1183 * sim-core.h (sim_core_arrach, sim_core_detach): Replace
1184 `attach_type attach' argument with `unsigned level' argument.
1187 * sim-core.c (new_sim_core_mapping, sim_core_map_attach,
1188 sim_core_attach): Replace argument attach with level. Update
1189 verification of arguments.
1190 (sim_core_map_detach, sim_core_detach): Replace argument attach
1193 * sim-basics.h (enum _attach_type): Delete.
1195 Thu Oct 30 13:45:00 1997 Doug Evans <devans@seba.cygnus.com>
1197 * sim-core.h (sim_core_write_8): Define.
1199 Tue Oct 28 12:29:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1201 * sim-bits.h: Document ROTn macro.
1203 * sim-endian.h (H2T): Handle 16 byte variables.
1205 * sim-n-core.h (sim_core_read_unaligned_N): Return a dummy when an
1208 * sim-core.c: Do not generate sim_core_*_word.
1210 * sim-n-core.h (sim_core_trace_N): Add line_nr argument.
1211 (sim_core_write_aligned_N, sim_core_read_aligned_N): Update.
1213 * sim-core.h (sim_core_read_unaligned_word,
1214 sim_core_read_aligned_word, sim_core_read_word,
1215 sim_core_write_unaligned_word, sim_core_write_aligned_word,
1216 sim_core_write_word): Change to macros that map onto sim_core_*_N.
1218 Mon Oct 27 11:25:10 1997 Doug Evans <devans@canuck.cygnus.com>
1220 * sim-n-endian.h: Add TAGS entrys for 16 byte versions.
1222 * sim-endian.h: Disable 16 byte support.
1224 Mon Oct 27 12:00:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1226 * sim-endian.c (_SWAP_16): Define. Generate 126 bit swap code.
1228 * sim-n-core.h (sim_core_trace_N): New function.
1229 (sim_core_read_aligned_N, sim_core_write_aligned_N): Use,
1230 (sim_core_read_unaligned_N): Do not retyrn bogus value wden error.
1232 * sim-endian.h: Add 128 bit variant.
1234 * sim-core.h, sim-core.c: Add 128 bit variant.
1236 * sim-types.h: Add signed128 and unsigned128 types using a struct.
1238 Fri Oct 24 11:33:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
1240 * sim-events.c (sim_events_process): Clear events->work_pending.
1241 (sim_events_tickn, sim_events_tick): Accumulate, instead of
1242 setting, nr_ticks_to_process.
1243 (sim_events_preprocess): Allow nr_ticks_to_process to be non-zero
1244 when the event queue isn't next.
1246 * sim-events.h, sim-events.c (sim_events_slip): New function.
1248 Wed Oct 22 14:18:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1250 * sim-hload.c (sim_load): Pass lma_p==0 and do_load=sim_load.
1252 * sim-utils.h, sim-load.c (sim_load_file): Add lma_p and do_load
1255 Tue Oct 21 18:37:57 1997 Doug Evans <devans@canuck.cygnus.com>
1257 * nrun.c (main): Remove useless test of name != NULL.
1258 Exit if bfd_openr fails. Call bfd_check_format after bfd_openr.
1260 Tue Oct 21 10:42:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1262 * sim-fpu.c (EXPMAX): Type is unsigned.
1263 (MIN_INT, MAX_INT): Type is signed64.
1264 (i2fpu): Type of val is signed64.
1266 Tue Oct 21 10:42:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1268 * sim-profile.h (PROFILE_PC_BUCKET_SIZE): Treat a shift of zero as
1269 a bucket size of zero.
1271 * sim-profile.c (OPTION_PROFILE_PC_GRANULARITY,
1272 OPTION_PROFILE_PC): Define.
1273 (profile_option_handler): Add support for --profile-pc and
1274 --profile-pc-granularity options.
1275 (profile_pc_init): When possible, compute nr buckets from bucket
1278 * sim-profile.c (profile_pc_init): Align the profile-pc end
1279 address with the profile-pc bucket size.
1281 * sim-profile.h (PROFILE_PC_NR_BUCKETS): Rename PROFILE_PC_SIZE to
1282 something less ambiguous.
1283 (PROFILE_PC_BUCKET_SIZE): Ditto for PROFILE_PC_SAMPLE_SIZE.
1285 * sim-profile.c (profile_pc_cleanup): New function. Move
1286 profile_pc_uninstall code to here.
1287 (profile_pc_uninstall): Call.
1288 (profile_pc_init): Call.
1290 Mon Oct 20 17:23:58 1997 Andrew Cagney <cagney@b1.cygnus.com>
1292 * sim-profile.c (profile_print_pc): Dump pc profile to dmon.out
1293 file using BSD gprof format.
1295 * sim-bits.h (LSBIT, MSBIT, BIT): Force result to type
1297 (LSBIT8, LSBIT16, LSBIT32, LSBIT64, MSBIT8, MSBIT16, MSBIT32,
1298 MSBIT64): Force result to unsignedN.
1300 Thu Oct 16 11:38:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
1302 * sim-alu.h (ALU16_BEGIN, ALU32_BEGIN, ALU64_BEGIN): Drop opening
1304 (ALU8_BEGIN, ALU8_SET, ALU8_ADD, ALU8_SUB, ALU8_NEGATE): Define.
1305 (ALU16_ADD, ALU16_SUB, ALU16_NEGATE): Simplify arrithmetic.
1306 (ALU32_ADD, ALU32_SUB, ALU32_NEGATE): Simplify arrithmetic.
1307 (ALU64_ADD, ALU64_SUB, ALU64_NEGATE): Simplify arrithmetic.
1309 Wed Oct 15 09:24:19 1997 Andrew Cagney <cagney@b1.cygnus.com>
1311 * sim-core.h (struct _sim_core_mapping): Change free_buffer to
1314 * sim-core.c (sim_core_uninstall, new_sim_core_mapping,
1315 sim_core_map_attach, sim_core_map_detach): Change free_buffer to
1317 (sim_core_attach): Rename buffer_freed to free_buffer, type
1318 void*. Ensure that allocated buffer is alligned according to
1321 Mon Oct 13 11:34:50 1997 Andrew Cagney <cagney@b1.cygnus.com>
1323 * sim-alu.h (ALU64_HAD_OVERFLOW): Define.
1324 (ALU64_SUB): Define.
1326 * Make-common.in (all): Build SIM_EXTRA_ALL first.
1327 (.gdbinit): Remove dependencies, generate once per build.
1329 Tue Oct 14 19:20:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
1331 * sim-n-core.h (sim_core_read_aligned_N,
1332 sim_core_write_aligned_N): Make xaddr param type address_word not
1335 Fri Oct 3 09:49:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
1337 * sim-fpu.h, sim-fpu.c: Rewrite. Change sim_fpu object to an
1338 unpacked floating point struct. Pass sim_fpu object by reference.
1339 Add preliminary support for rounding modes.
1341 Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
1343 * configure: Regenerated to track ../common/aclocal.m4 changes.
1345 Thu Oct 2 19:43:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
1347 * aclocal.m4 (sim-bitsize): Fix typo, WITH_TARGET_WORD_BITSIZE not
1348 WITH_TARGET_BITSIZE.
1350 Thu Sep 25 23:20:20 1997 Felix Lee <flee@yin.cygnus.com>
1352 * sim-profile.c (profile_print_core): label needs empty statement.
1354 Thu Sep 25 11:20:47 1997 Stu Grossman <grossman@babylon-5.cygnus.com>
1356 * sim-break.c (sim_set_breakpoint sim_clear_breakpoint): Use ZALLOC
1357 and zfree instead of xmalloc and free. Prevents warnings.
1359 Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
1361 * configure: Regenerated to track ../common/aclocal.m4 changes.
1363 Wed Sep 24 17:23:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
1365 * Make-common.in (SIM_BITSIZE): Assign from configured value.
1366 (CONFIG_CFLAGS): Add SIM_BITSIZE.
1368 * aclocal.m4 (--enable-sim-bitsize): Developer option for
1369 controling the bitsize/msb of the target.
1371 Wed Sep 24 17:41:40 1997 Stu Grossman <grossman@babylon-5.cygnus.com>
1373 * Make-common.in: New files sim-break.c, sim-break.h.
1374 * sim-base.h: Add point to breakpoint list to sim_state_base.
1375 * sim-break.c sim-break.h: New modules that implement intrinsic
1377 * sim-module.c: Add breakpoint module.
1379 Tue Sep 23 00:26:39 1997 Felix Lee <flee@yin.cygnus.com>
1381 * sim-events.c (SIM_EVENTS_POLL_RATE): poll more often than once
1383 * sim-n-core.h (WITH_XOR_ENDIAN): MSVC barfs on
1385 * sim-core.c (sim_core_xor_write_buffer): WITH_XOR_ENDIAN + 1.
1386 (SIGBUS) define for Windows.
1387 * sim-trace.c (trace_printf,debug_printf): added ALMOST_STDC.
1388 * sim-resume.c: define SIGTRAP for windows.
1389 * sim-xcat.h: use token pasting if ALMOST_STDC.
1391 Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1393 * Make-common.in (SIM_SCACHE, SIM_DEFAULT_MODEL): Assign
1395 (CONFIG_CFLAGS): Add same.
1397 Mon Sep 22 17:20:27 1997 Felix Lee <flee@cygnus.com>
1399 * sim-types.h (SIGNED64): ##i64 when _MSC_VER, not _WIN32.
1400 (SIGNED32): use ##i32.
1402 Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
1404 * configure: Regenerated to track ../common/aclocal.m4 changes.
1406 Tue Sep 23 10:07:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
1408 * aclocal.m4 (sim-endian): Simplify logic determining [default]
1411 * Make-common.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN,
1412 SIM_HOSTENDIAN, SIM_RESERVED_BITS, SIM_ASSERT, SIM_FLOAT,
1413 SIM_HARDWARE, SIM_INLINE, SIM_PACKAGES, SIM_REGPARM, SIM_SMP,
1414 SIM_STDCALL, SIM_XOR_ENDIAN): Assign configured values.
1415 (CONFIG_CFLAGS): Add same.
1417 * aclocal.m4: Perform AC_SUBST on optional options.
1419 Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1421 * sim-config.h (WITH_DEFAULT_ALIGNMENT): Don't hardwire any alignment.
1423 * sim-options.c (standard_option_handler): Typo in warning message.
1425 * sim-base.h (STATE_MODEL): Make conditional on SIM_HAVE_MODEL.
1427 * sim-profile.c (profile_print_insn): Check 0 .. MAX_INSN for any
1428 insn count. Make count conditional on there being a valid
1430 (profile_pc_init): Make default PC profile frequency an arbitrary
1433 * sim-base.h: Ditto.
1435 * sim-profile.h (WITH_PROFILE_MODEL_P): Only enable modeling when
1438 * sim-model.h (struct MACH): Depreciate, to be replaced by bfd
1441 Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1443 * configure: Regenerated to track ../common/aclocal.m4 changes.
1445 Mon Sep 22 11:45:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
1447 * aclocal.m4 (sim_alignment): Simplify logic for selecting the
1448 configured alignment.
1450 Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
1452 * configure: Regenerated to track ../common/aclocal.m4 changes.
1454 Fri Sep 19 17:26:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
1456 * sim-config.c (sim_config): Check for default alignment.
1458 * sim-options.c (standard_option_handler): Add alignment option.
1460 * aclocal.m4 (sim_alignment): Allow configuration of hardwired and
1461 default alignment requirements on memory accesses.
1463 Fri Sep 19 11:51:35 1997 Jeffrey A Law (law@cygnus.com)
1465 * sim-load.c (sim_load_file): Return failure if the executable
1466 had no loadable sections.
1468 Wed Sep 17 13:33:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
1470 * sim-events.c (ETRACE): Use trace_printf not sim_io_printf for
1473 * sim-core.c (sim_core_signal): When bad access halt simulator
1474 SIGSEGV / SIGBUS instead of aborting.
1475 (signal.h): Include.
1477 * sim-watch.c (sim_watchpoint_install): Handler for watchpoint
1478 options was missing.
1480 * sim-bits.h (MOVED): Define
1482 Wed Sep 17 10:33:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
1484 * sim-alu.h (ALU32_HAD_OVERFLOW): Pacify GCC, Use MSBIT instead of
1487 * sim-bits.h (LSBIT, MSBIT): Check for overflow of shift value.
1489 * sim-bits.c: Add 8 bit versions of bit macros.
1491 * sim-bits.h: Ditto.
1493 Tue Sep 16 16:15:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
1495 * sim-bits.c (LSSEXT, MSSEXT): Replace SEXT.
1496 (LSINSERTED, MSINSERTED): Ditto for INSERTED.
1498 * sim-n-bits.h (MSSEXTn, LSSEXTn): Replace SEXTn.
1499 (LSINSERTDn, MSINSERTEDN): Ditto for INSERTEDn.
1501 * sim-bits.h (SEXT*): Define as MSEXT/LSEXT.
1502 (INSERTED*): Ditto for LSINSERTED/MSINSERTED.
1504 Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
1506 * aclocal.m4 (SIM_AC_COMMON): Add optional config.h file argument.
1507 configure.in: Output to cconfig.h instead of config.h.
1509 * configure: Regenerated to track ../common/aclocal.m4 changes.
1511 Mon Sep 15 15:39:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
1513 * sim-utils.c (sim_analyze_program): Set STATE_ARCHITECTURE from
1516 Tue Sep 9 21:46:46 1997 Felix Lee <flee@cygnus.com>
1518 * callback.c (os_write): divert stdout and stderr to their
1521 Thu Sep 11 10:08:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1523 * sim-profile.c (profile_print_speed): Call
1524 sim_events_elapsed_time instead of PROFILE_EXEC_TIME for moment.
1526 * sim-events.c (sim_events_elapsed_time): New function return nr
1527 host MS consumed by the simulator.
1528 (sim_watch_valid): Use.
1530 * sim-module.c (modules): Install sim_events very very early.
1532 * sim-profile.c (profile_print): Call profile_print_pc.
1534 (profile_pc_init): New function, set up processor for PC
1536 (profile_print_pc): New function, print a PC profile.
1537 (profile_pc_event): New function, sample PC.
1539 * sim-profile.h (PROFILE_PC_COUNT, PROFILE_PC_START,
1540 PROFILE_PC_END, PROFILE_PC_SHIFT, PROFILE_PC_SAMPLE_SIZE): Add to
1543 * sim-options.c (sim_print_help): Pacify GCC.
1545 * sim-n-core.h (sim_core_read_aligned_N,
1546 sim_core_write_aligned_N): Add un-conditional profile call.
1547 (sim_core_read_unaligned_N, sim_core_write_unaligned_N): Add
1548 profile call when aligned read/write isn't used.
1550 * sim-base.h: Include sim-profile, sim-model after sim-core &
1551 sim-events allow sim-core to define useful values.
1553 * sim-profile.c (OPTION_PROFILE_CORE): Define.
1554 (profile_option_handler, profile_options): Add support for
1555 --profile-core option.
1556 (print_bar): Include when core profiling.
1557 (profile_print_core): New function, print core profile.
1559 * sim-config.c (print_sim_config): Print profile status.
1561 * sim-profile.h (PROFILE_NEXT_IDX, PROFILE_core,
1562 WITH_PROFILE_PC_P): Define.
1563 (PROFILE_CORE_COUNT): Count each core-map/size separatly.
1564 (PROFILE_COUNT_CORE): Define.
1566 Thu Sep 11 08:44:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
1568 * sim-watch.c (handle_watchpoint): Pass a char** index into the
1569 interrupt_names array as the data.
1570 (sim-watch.h): Document.
1572 Wed Sep 10 16:15:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1574 * sim-options.c (sim_print_help): When the doc string is to long
1577 * sim-watch.c (sim_watchpoint_install): Use option.doc_name so
1578 that only the first few the watch options are listed. Generate
1579 meanginful usage messages.
1581 * sim-options.h (struct OPTION): Clarify use of doc_name field
1583 Wed Sep 10 13:23:24 1997 Andrew Cagney <cagney@b1.cygnus.com>
1585 * sim-options.c (OPTION_ARCHITECTURE_INFO): New option.
1586 (standard_option_handler): Handle --architecture-info.
1588 Tue Sep 9 21:46:46 1997 Felix Lee <flee@cygnus.com>
1590 * sim-core.h (sim_cpu_core): [WITH_XOR_ENDIAN + 1], to avoid
1591 illegal zero-sized array.
1592 * sim-core.c (sim_core_xor_read_buffer): same.
1594 Tue Sep 9 11:20:35 1997 Doug Evans <dje@canuck.cygnus.com>
1596 * nltvals.def: Regenerate.
1598 Tue Sep 9 02:10:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
1600 * sim-fpu.c (DP_FRACHIGH2): Define LL using SIGNED64.
1602 Mon Sep 8 12:22:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
1604 * sim-bits.c (MASKED): Delete.
1605 (EXTRACTED): Delete.
1606 (LSEXTRACTED, MSEXTRACTED): New functions.
1608 * sim-n-bits.h (MASKEDn): Delete, define as MSMASKED or LSMASKED.
1609 (MSMASKEDn, LSMASKEDn): Add last argument.
1612 * sim-bits.h (EXTEND8, EXTEND16): Define.
1613 (EXTRACTED64): Define as 64 bit extract, not 32 bit.
1615 * sim-run.c (sim_engine_run): Use CPU_CIA macro.
1617 * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use CPU_CIA to get at
1618 current instruction address.
1620 * sim-inline.h (*_ENGINE): Define.
1622 Fri Sep 5 08:39:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
1624 * sim-core.c (sim_core_attach): Fix checks of modulo/mask.
1626 * sim-watch.c (delete_watchpoint): Delete by ident and type.
1627 (watch_option_handler): Call delete_watchpoint with ident or type.
1628 (sim_watchpoint_install): Create interrupt specific watchpoint
1629 commands on the fly.
1630 (do_watchpoint_create): New function, create a watch point using
1631 type/int-nr info encoded in the option nr.
1632 (do_watchpoint_info): New function. List active watchpoints.
1634 * sim-watch.h: Change data structure to a list.
1636 * sim-memopt.c (memory_option_handler): Require explicit "all"
1637 before deleting all memory regions.
1639 * sim-utils.c (sim_do_commandf): New function, printf version of
1642 * sim-basics.h (asprintf, vasprintf): Hack, define for CYGWIN32.
1644 * sim-alu.h (ALU64_ADD): Use explicit MSEXTRACTED64, do not assume
1646 (SIGNED64, UNSIGNED64): Delete.
1647 (ALU64_ADD): Don't rely on bit endianness.
1648 (ALU64_BEGIN): Define.
1650 * sim-n-bits.h (MSEXTRACTEDn, LSEXTRACTED): New functions.
1651 (EXTRACTEDn): Delete, define as either LSEXTRACTED or MSEXTRACTED.
1653 * sim-types.h (SIGNED64, UNSIGNED64): New macros, attach relevant
1654 suffix - u64, LL - to 64 bit constants.
1656 Thu Sep 4 09:27:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
1658 * sim-config.c (sim_config): Add assert for SIM_MAGIC_NUMBER.
1660 * sim-utils.h (NZALLOC): Define - zalloc * N.
1662 * sim-hrw.c (sim_read, sim_write): New file. Provide generic
1663 implementation of read/write functions.
1665 * Make-common.in (sim-hrw.o): New target.
1667 * sim-base.h (STATE_MEMOPT_P): Delete, simulators _always_ add
1670 * sim-memopt.c (memory_option_handler): Implement memory-size
1671 command. Implement memory-alias command. Let memory-delete delete
1673 (add_memopt): New function. Add a memory region.
1674 (do_memopt_delete): New function. Delete a memory region.
1676 * sim-utils.c (sim_elapsed_time_get): Never return zero.
1678 * sim-core.c (sim_core_detach): New function.
1679 (sim_core_map_detach): New function. Perform the actual detach.
1680 (sim_core_init): Move initialization code from here.
1681 (sim_core_install): To here.
1682 (sim_core_uninstall): And here.
1684 * sim-module.c: Add memopt module.
1686 * sim-base.h (STATE_MEMOPT, STATE_MEMOPT_P): Add memopt to
1687 simulator base type.
1689 * Make-common.in (sim_main_headers): Add sim-memopt.h
1690 (sim-memopt.o): New target.
1692 * sim-core.c (sim_core_install): Add core_options to the option
1695 * sim-watch.c (watch_options): Make --delete-watch a synonym for
1698 * sim-config.h (WITH_MODULO_MEMORY): Define as 0. Update
1701 * sim-core.h (struct _sim_core_mapping): Change nr_bytes to type
1702 address_word, add mask member.
1704 * sim-core.h, sim-core.c (sim_core_attach): Make nr_bytes of type
1705 address_word, allow for 64bit targets in 32bit host. Add modulo
1707 (sim_core_map_attach): Ditto.
1708 (new_sim_core_mapping): Ditto.
1709 (sim_core_translate): Mask address when modulo memory.
1711 Wed Sep 3 17:32:54 1997 Doug Evans <dje@seba.cygnus.com>
1713 * sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.
1715 * gdbinit.in: New file.
1716 * aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
1717 * Make-common.in (distclean): Delete .gdbinit.
1718 (.gdbinit): Add rule for.
1719 * configure: Regenerated to track ../common/aclocal.m4 changes.
1721 * Make-common.in (cgen-run.o): Add rule for.
1723 Wed Sep 3 10:08:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
1725 * sim-resume.c (sim_resume): Suspend/resume the simulator.
1727 * sim-events.c (sim_watch_valid): Compute total elapsed time from
1728 both resumed and previous elapsed time.
1729 (sim_events_init): Set initial_wallclock and current_wallclock to
1731 (sim_events_install): Install sim_events_suspend and
1733 (sim_events_watch_clock): Allow for suspended simulator when
1734 computing the time of the clock event.
1736 * sim-events.h (struct _sim_event): Add resume_wallclock, rename
1737 initial_wallclock to elapsed_wallclock, set both to zero.
1738 (sim_events_init, sim_events_uninstall): Delete prototypes.
1740 * sim-module.h (MODULE_SUSPEND_FN, MODULE_RESUME_FN): Define types.
1742 * sim-module.c(sim_module_resume, sim_module_suspend): New
1745 Wed Sep 3 10:08:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
1747 * sim-core.c (sim_core_map_attach): Clarify memory overlap error
1750 Tue Sep 2 14:57:06 1997 Doug Evans <dje@canuck.cygnus.com>
1752 * Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
1753 * Make-common.in (TAGS): Likewise.
1754 * sim-n-bits.h: Add TAGS comments for all functions.
1755 * sim-n-core.h: Likewise.
1756 * sim-n-endian.h: Likewise.
1758 Mon Sep 1 10:50:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
1760 * sim-utils.c (sim_state_alloc): Set CPU backlinks, callback and
1763 * sim-base.h (sim_state_alloc): Add callback and kind arguments.
1765 * sim-base.h (INVALID_INSTRUCTION_ADDRESS): Add default
1768 Sat Aug 30 09:47:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
1770 * sim-fpu.c (DP_GARDMSB, ...): Make unsigned.
1771 (DP_FRACHIGH, DP_FRACHIGH2, ..): Use MSMASK to avoid LL.
1773 Fri Aug 29 13:37:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
1775 * sim-core.c (sim_core_map_attach): Cast attach enum to int.
1776 (sim_core_xor_read_buffer, sim_core_xor_write_buffer): Make
1777 nr_transfered and nr_this_transfer unsigned.
1779 * sim-events.c (sim_events_tickn): N is signed, as limited to
1782 * sim-n-endian.h (offset_N): Change size to unsigned.
1784 * callback.c (os_poll_quit): Add prototypes for kbhit and getkey.
1786 Fri Aug 29 10:10:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
1788 * sim-utils.c (sim_copy_argv): Delete, replaced by dupargv.
1790 * sim-options.c (sim_parse_args): Use dupargv.
1792 Thu Aug 28 10:36:34 1997 Doug Evans <dje@canuck.cygnus.com>
1794 * sim-options.c (standard_option_handler): Use xstrdup, not strdup.
1796 Thu Aug 28 12:09:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
1798 * sim-base.h (STATE_ARCHITECTURE, STATE_TARGET): Add to simulator
1801 * sim-options.c (standard_options): Add --architecture=MACHINE and
1802 --target=TARGET options.
1803 (OPTION_ARCHITECTURE, OPTION_TARGET): Define.
1804 (standard_option_handler): Handle architecture and target options.
1807 * sim-utils.c (sim_analyze_program): Pass STATE_TARGET to
1809 (sim_analyze_program): Set prog_bfd architecture from
1810 STATE_ARCHITECTURE if known.
1812 Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1814 * configure: Regenerated to track ../common/aclocal.m4 changes.
1817 Wed Aug 27 18:11:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
1819 * aclocal.m4 (enable-sim-warnings): Remove comment stating
1820 that option does not apply to certain files.
1822 Wed Aug 27 15:13:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
1824 * sim-bits.h (LSBIT8, LSBIT16, LSBIT32, LSBIT64, LSBIT, MSBIT8,
1825 MSBIT16, MSBIT32, MSBIT64, MSBIT): New macros - single bit as
1826 offset from MSB/LSB.
1828 * sim-endian.h (A1_8, A2_8, A4_8, A1_4, A2_4, A1_2): New macro,
1829 access address of sub word quantity of a hosts 16, 32, 64 bit word
1831 (V1_2, V1_4, V2_4, V1_8, V2_8, V4_8): Ditto for values.
1832 (U8_1, U8_2, U8_4, U4_1, U4_2, U2_1): Ditto for set of values.
1833 (V2_H1, V2_L1, V4_H2, V4_L2, V8_L4, V8_H4): Given N byte argument,
1834 return N*2 byte value with argument in Hi/Lo word. Renamed from
1835 V1_H2, V1_L2, V2_H4, V2_L4, V4_H8, V4_L8.
1837 * sim-alu.h (ALU32_HAD_OVERFLOW): Use 64 bit mask not 32bit.
1838 (ALU16_HAD_CARRY, ALU32_HAD_CARRY, ALU16_HAD_OVERFLOW): Use MSBIT
1839 so that bit offset is explicit.
1841 Wed Aug 27 11:55:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
1843 * sim-utils.c (sim_analyze_program): Add prog_name argument.
1844 Update STATE_PROG_BFD when needed with a dup'd copy of the
1847 * sim-config.c (sim_config): Delete ABFD argument, use
1848 STATE_PROG_BFD directly.
1850 Tue Aug 26 12:55:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
1852 * run.c (main): Pass the open ABFD to sim_create_inferior.
1854 * nrun.c (main): Determine prog_bfd. Pass to sim_create_inferior
1858 * sim-hload.c (sim_load): New file. Implement generic sim_load for
1859 hardware only simulator targets.
1861 * Make-common.in (sim-hload.o): Add rule.
1863 Wed Aug 27 09:51:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
1865 * sim-utils.c (sim_copy_argv): Rewrite to match malloc strategy
1866 used by copyargv and freeargv.
1868 * sim-options.c (sim_parse_args): Save a copy of PROG-ARGS in
1869 STATE_PROG_ARGV, not just a pointer.
1871 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
1873 * configure: Regenerated to track ../common/aclocal.m4 changes.
1876 Mon Aug 25 12:11:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1878 * aclocal.m4 (sim-endian): Add second argument to
1879 SIM_AC_OPTION_ENDIAN. First is hardwired endian, second is
1880 default endian when not hardwired.
1882 * sim-config.h (WITH_DEFAULT_TARGET_BYTE_ORDER): New macro, if all
1883 else failes value for target byte order.
1885 * sim-config.c (sim_config): Add abfd arguments. Set
1886 STATE_PROG_BFD accordingly. Determine prefered_target_byte_order
1888 (sim_config): Return SIM_RC, don't abort.
1891 * run.c (main): Update call to sim_open - add ABFD argument.
1892 * nrun.c (main): Add NULL ABFD argument.
1894 Thu Aug 14 12:48:57 1997 Doug Evans <dje@canuck.cygnus.com>
1896 * callback.c (os_poll_quit): Make static.
1897 Call sim_cb_eprintf, not p->eprintf.
1898 (sim_cb_printf, sim_cb_eprintf): New functions.
1899 * sim-utils.h (sim_cb_printf, sim_cb_eprintf): Declare.
1901 * sim-basics.h (zalloc,zfree,sim_add_commas,SIM_ELAPSED_TIME,
1902 sim_elapsed_time_get,sim_elapsed_time_since): Move decls to
1903 sim-utils.h. #include sim-utils.h.
1904 * sim-utils.h: Above decls moved here.
1905 (sim_analyze_program,sim_load_file): Use `struct _bfd', not `bfd'.
1907 * sim-watch.c (action_watchpoint): Fix thinkos.
1909 Thu Jul 24 08:48:05 1997 Stu Grossman (grossman@critters.cygnus.com)
1911 * sim-types.h: Fix defs of 64 bit data types for MSVC.
1913 Tue Jul 22 10:35:37 1997 Doug Evans <dje@canuck.cygnus.com>
1915 * sim-n-core.h (sim_core_write_unaligned_N): Add missing break
1916 to FORCED_ALIGNMENT case.
1918 Thu Jun 5 13:48:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
1920 * callback.c (target_to_host_open): Handle hosts with O_BINARY.
1922 Thu Jun 5 08:47:10 1997 Jeffrey A Law (law@cygnus.com)
1924 * Make-common.in (libsim.a): Fix typo.
1926 Thu Jun 5 13:48:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
1928 * nrun.c (main): Verify the structure returned before using it.
1930 Wed Jun 4 11:44:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1932 * sim-config.h (WITH_ENGINE): Enable the sim-engine module by
1935 * sim-engine.c (sim_engine_install): New function. Install the
1936 engine init functions.
1937 (sim_engine_init): [Re]initialize the simulator engine.
1939 * sim-module.c: Add sim_engine to list of modules that always
1942 Tue Jun 3 04:52:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
1944 * sim-watch.c (schedule_watchpoint): Use sim_unschedule_watchpoint
1945 to remove the old watchpoint, not delete_watchpoint.
1946 (watch_option_handler): Action the correct watchpoint, not just
1949 Wed May 28 14:47:41 1997 Andrew Cagney <cagney@b1.cygnus.com>
1951 * sim-n-core.h (sim_core_write_aligned_N): For 8byte reads, output
1952 both low and high word.
1953 (sim_core_write_aligned_N): Ditto.
1955 * sim-trace.c (set_trace_options): Delete code explicitly setting
1958 * sim-options.c (sim_print_help): Call the list commands if not a
1959 standalone simulator.
1960 (sim_print_help): Advise that some options may not be applicable.
1962 * sim-trace.c (set_trace_options): Assume core present.
1964 * sim-events.c (sim_events_schedule_after_signal): Overflow signal
1965 buffer when full not almost full.
1967 Tue May 27 14:32:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
1969 * sim-events.c (sim_events_process): Don't blat the event queue
1970 when processing watchpoints.
1972 * sim-watch.h: Make arg unsigned long - stop sign extension.
1974 * sim-events.c (sim_watch_valid): rewrite so debugable.
1976 * sim-config.h (WITH_XOR_ENDIAN): Default to zero.
1978 * sim-watch.c (schedule_watchpoint): Add is_within option so that
1979 inequality test is possible.
1980 (handle_watchpoint): Re-pass is_within arg.
1981 (watch_option_handler): When `!' prefix to pc-watchpoint arg pass
1982 0 to schedule_watchpoint's is_within arg.
1983 (sim_watchpoint_init): Re-pass is_within arg.
1985 * sim-options.c (sim_print_help): Add is_command argument. Don't
1986 include -- prefix when called from the command line interpreter.
1988 * sim-watch.c (schedule_watchpoint): Pass true is_within argument.
1990 * sim-events.c (sim_events_watch_sim): Add is_within argument,
1991 zero indicates that the test should be reversed.
1992 (sim_events_watch_core): Ditto.
1993 (WATCH_CORE): Compare range against is_within.
1996 Tue May 27 12:48:03 1997 Andrew Cagney <cagney@b2.cygnus.com>
1998 * sim-events.c (WATCH_CORE): Pass NULL cpu argument to
1999 sim_core_read_buffer. Check nr-bytes transfered.
2001 * sim-core.h (sim_core_common): Define a new struct that contains
2002 the common data. to sd and cpu structures.
2003 * sim-core.c (sim_core_attach): Update.
2004 (sim_core_init): Update. Remember to copy initialized data to each
2006 (sim_core_find_mapping): Ditto.
2008 * sim-core.c (sim_core_read_buffer): Add cpu argument.
2009 (sim_core_write_buffer): Ditto.
2011 * sim-n-core.h (sim_core_read_unaligned_N): When mis-aligned
2012 transfer use xor version of read buffer.
2013 (sim_core_write_unaligned_N): Ditto for write.
2015 * sim-core.c (sim_core_xor_read_buffer): New function implement
2016 xor-endian data read breaking transfer up into xor-endian sized
2018 (sim_core_xor_write_buffer): Ditto for write.
2019 (reverse_n): Reverse order of arbitrary number of bytes in buffer
2020 - needed for xor-endian transfers.
2022 Fri May 23 14:24:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
2024 * sim-inline.h: Review description.
2026 * sim-core.h, sim-core.c: Reduce number of functions being inlined
2027 to just those involved in data transfers and configuration.
2029 * sim-xcat.h (XSTRING): New macro, map macro definition onto
2031 * sim-n-core.h (sim_core_read_aligned_N): Use.
2032 (sim_core_read_unaligned_N): Ditto.
2033 (sim_core_read_unaligned_N): Ditto..
2034 (sim_core_write_unaligned_N): Ditto.
2036 * sim-core.h: Add xor endian bitmap to main structure. *
2038 sim-n-core.h (sim_core_write_aligned_N): Add suport for xor
2040 (sim_core_read_aligned_N): Ditto.
2042 * sim-core.c (sim_core_set_xor_endian): New function.
2043 (sim_core_attach): Don't overwrite the per-cpu xor map when
2044 cloning the global core.
2046 Fri May 23 10:53:13 1997 Andrew Cagney <cagney@b1.cygnus.com>
2048 * sim-engine.h: Update below so that it is using an enumerated
2051 Thu May 22 09:12:16 1997 Gavin Koch <gavin@cygnus.com>
2053 * sim-engine.c (sim_engine_restart):
2054 * sim-resume.c (sim_resume): Change longjmp param/setjmp
2055 return value used for simulator restart from 0 to 2.
2057 Wed May 21 08:47:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
2059 * cgen-scache.c (scache_option_handler): Add is_command arg.
2061 * sim-model.c (model_option_handler): Add is_command argument.
2063 * sim-profile.c (profile_option_handler): Add is_command arg.
2065 * sim-events.c (sim_watch_valid): Use ub64, lb64 when 64bit value
2068 * sim-module.c (sim_module_add_init_fn): Call init fn in the same
2069 order that they are registered.
2071 * sim-options.h (OPTION_HANDLER): Add argument to differentiate
2072 between option and command line processing.
2074 * sim-options.c: Include stdlib.h, ctype.h.
2076 * Make-common.in (sim-watch.o): Add rule.
2077 (sim_main_headers): Assume sim-assert.h included.
2078 (sim-*.o): Simplify make rule.
2080 * sim-module.c: Add sim_watch_install to module list.
2082 Tue May 20 14:15:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
2084 * sim-base.h (STATE_LOADED_P): New predicate. Set once everything
2087 * sim-trace.c (trace_install): Check magic. Include sim-assert.h.
2088 * sim-events.c (sim_events_install): Ditto.
2089 * sim-core.c (sim_core_install): Ditto.
2090 * sim-model.c (model_install): Ditto.
2091 * sim-options.c (standard_install): Ditto.
2092 * sim-profile.c (profile_install): Ditto.
2093 * sim-reason.c (sim_stop_reason): Ditto.
2094 * sim-run.c (sim_engine_run): Ditto.
2095 * sim-utils.c (sim_analyze_program): Ditto.
2097 * sim-module.c (modules): Make profile_install and trace_install
2100 * sim-base.h (STATE_MEM_BASE): Define for flat memory systems.
2102 * sim-options.c (standard_option_handler): Set the byte order.
2104 * sim-events.c (sim_events_process): Allow multi tick processing.
2105 (sim_events_tickn): New function - multi cycle tick.
2107 * sim-events.h (sim_events_tickn, sim_events_timewarp): Add
2108 prototypes. Under development.
2109 (sim_events): Replace processing with nr_ticks_to_process.
2111 Tue May 20 09:39:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2113 * nrun.c (main): Pass callbacks to sim_open instead of using
2116 * run.c (main): Ditto.
2118 Mon May 19 12:07:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2120 * sim-events.c (sim_events_zalloc): Signal save memory allocator -
2121 stop tk interrupting malloc calls.
2122 (sim_events_zalloc): Converse.
2124 * Make-common.in (sim_main_headers): Add sim-events.h.
2126 * sim-events.c (sim_events_schedule_after_signal): Change return
2127 type to void - signal events are strictly internal.
2128 (sim_events_init): Allocate a finite buffer for signal events.
2129 (sim_events_schedule_after_signal): Enter signal events into the
2132 * sim-engine.c (sim_engine_halt): Check SIM_DESC magic.
2133 (sim_engine_restart): Ditto.
2134 (sim_engine_abort): Ditto.
2135 * sim-stop.c (sim_stop): Ditto.
2136 (control_c_simulation): Ditto.
2137 * sim-resume.c (sim_resume): Ditto.
2138 (has_stepped): Ditto.
2139 * sim-abort.c (sim_engine_abort): Ditto.
2141 * sim-basics.h (transfer_type): New type.
2143 * sim-core.c (sim_core_signal): New function. Print core signal
2145 (sim_core_find_mapping): Add transfer argument.
2147 * sim-n-core.h (sim_core_{write,write}_unaligned_N): Call
2148 SIM_CORE_SIGNAL if a recoverable abort.
2149 * sim-core.c (sim_core_find_mapping): Ditto.
2151 Fri May 16 15:13:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
2153 * sim-core.c (sim_core_find_mapping): Replace calls to
2154 sim_io_error to more resiliant sim_engine_abort.
2156 * sim-n-core.h (sim_core_read_unaligned_N): Ditto.
2157 (sim_core_write_unaligned_N): Ditto.
2159 Tue May 13 13:50:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
2161 * sim-module.c: Add sim_events_install to list.
2163 * sim-events.c (sim_events_install, sim_events_uninstall): Clonse
2165 (sim_events_init): Now returns SIG_RC.
2167 * sim-run.c: New file. Generic sim_engine_run.
2168 * sim-reason.c: New file. Generic sim_stop_reason.
2169 * sim-stop.c: New file. Generic sim_stop.
2170 * sim-resume.c: New file. Generic sim_resume.
2172 * Make-common.in (sim-engine.o): Add rule.
2173 (sim-run.o, sim-reason.o, sim-stop.o, sim-resume.o): Ditto.
2175 * sim-engine.h, sim-engine.c: New file. Provide generic
2176 implementation of sim_engine_halt, sim_engine_error. et.al.
2178 * sim-base.h (sim_state_base): Add member halt.
2179 (sim-engine.h): Include.
2181 * sim-events.h (sim_event_handler): Always pass SIM_DESC to event
2183 * sim-events.c (sim_events_poll): Update event handler.
2185 Tue May 13 09:57:49 1997 Andrew Cagney <cagney@b2.cygnus.com>
2187 * sim-events.h, sim-events.c (sim_events_watch_clock): New
2189 (sim_events_watch_sim): New function.
2190 (sim_events_watch_core): New function.
2191 (sim_watch_valid): New function.
2192 (sim_events_preprocess): New function.
2193 (sim_events_process): Process the watchpoints as well as the timer
2195 (sim_events_tick): Check WORK_PENDING instead of the hold queue.
2196 (sim_events_deschedule): Check all the queues when removing an
2198 (sim_events_init): Ditto for cleaning.
2200 Mon May 19 12:07:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2202 * sim-fpu.c (is_ufpu_number): Comment out - currently unused.
2204 Mon May 19 11:23:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
2206 * callback.c (os_open): Type of arg flags is int.
2208 Fri May 16 22:26:43 1997 Michael Meissner <meissner@cygnus.com>
2210 * sim-fpu.c (sim_fpu_is_{eq,ne,lt,le,gt,ge}): Compare Infinities
2211 just like normal numbers as per IEEE rules.
2213 Wed May 14 21:20:38 1997 Bob Manson <manson@charmed.cygnus.com>
2215 * callback.c (os_close): Mark the descriptor as being
2216 available if the close succeeded.
2217 (os_open): Pass 0644 as the mode of the file being created.
2219 Thu May 15 10:58:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
2221 * sim-fpu.c (pack_fpu, unpack_fpu): New functions - decode a
2224 * sim-inline.c (SIM_INLINE_C): Rename from _SIM_INLINE_C_.
2225 * sim-lnline.h: Update.
2227 * sim-fpu.h, sim-fpu.c (sim_fpu_[iu]{32,64}to): New int2fp
2228 conversion functions.
2229 (sim_fpu_to{32,64}[iu]): New fp2int functions.
2231 * sim-fpu.h, sim-fpu.c (sim_fpu_is_{lt,le,eq,ne,ge,gt}): New fp
2232 compare functions. Replacing.
2233 (sim_fpu_cmp): This. Delete.
2235 Mon May 12 14:49:05 1997 Andrew Cagney <cagney@b1.cygnus.com>
2237 * sim-core.c (sim_core_find_mapping): Call engine_error not
2238 sim_io_error when possible.
2240 Mon May 12 08:55:07 1997 Andrew Cagney <cagney@b2.cygnus.com>
2242 * sim-endian.h (V1_H2): Add macro's to insert a word into a
2243 high/low double word.
2245 * sim-trace.h: Remove definition of attribute - defined in
2248 Mon May 12 08:55:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
2250 * sim-options.h (struct OPTION): Add doc_opt as the documenting
2251 name of the option - or family of options.
2253 * sim-options.c (sim_args_command): Match command `a-b c' with
2254 option `--a-b-c' from option table.
2256 Thu May 8 12:40:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
2258 * sim-options.c (sim_print_help): For optional arguments, wrap
2261 * sim-trace.c (set_trace_options): New function, handle optional
2262 argument and multiple assignment.
2263 (trace_option_handler): Update.
2265 * sim-trace.c (trace_option_handler): Trace branch and not fpu
2266 when branch tracing selected.
2268 Wed May 7 15:19:58 1997 Andrew Cagney <cagney@b1.cygnus.com>
2270 * sim-trace.c (trace_one_insn): Make a va-args function.
2272 * sim-trace.c (trace_vprintf): New function, va-arg version of
2275 Tue May 6 16:38:16 1997 Doug Evans <dje@canuck.cygnus.com>
2277 * sim-trace.c (trace_uninstall): Don't close a file twice.
2278 * sim-profile.c (profile_uninstall): Likewise.
2280 Tue May 6 06:14:01 1997 Mike Meissner <meissner@cygnus.com>
2282 * sim-trace.c (toplevel): Include bfd.h.
2283 (trace_options): Note that --trace-linenum also turns on
2284 --trace-insn. Add --trace-{branch,semantics}.
2285 (trace_option_handler): If --trace-linenum, also turn on
2286 --trace-insn. Add --trace-branch support. If --trace-semantics,
2287 turn on ALU, FPU, branch, and memory tracing.
2288 (trace_one_insn): New function to trace an instruction. Support
2290 (OPTION_TRACE_*): Use an enum, rather than lots of defines.
2292 * sim-trace.h (TRACE_{SEMANTICS,BRANCH}_IDX): Add new macros.
2293 (MAX_TRACE_VALUES): Use 32, not 12 by default.
2294 (TRACE_branch): Add new mask.
2295 (TRACE_*_P): Define all possible trace_p macros.
2296 (trace_one_insn): Declare function.
2298 Mon May 5 14:08:34 1997 Mike Meissner <meissner@cygnus.com>
2300 * sim-trace.h (__attribute__): Define as nothing if not GNU C or
2301 GNU C doesn't support __attributes__.
2302 ({trace,debug}_printf): Add attribute's so -Wformat can check the
2305 Mon May 5 11:16:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
2307 * sim-config.h (FORCED_ALIGNMENT): New alignment option -
2308 addresses are masked forcing them to be correctly aligned.
2309 (WITH_ALIGNMENT): Make NONSTRICT_ALIGNMENT the default.
2310 * sim-config.c (config_alignment_to_a): Update.
2312 * sim-core.h (sim_cpu_core): New data type contains cpu specific
2314 * sim-base.h (CPU_CORE): Add cpu specific core data to cpu base
2316 * sim-core.c (sim_core_attach): Add CPU argument. Ready for
2317 processor specific core maps.
2318 (sim_core_map_attach): Copy the core map data to each of the
2319 processor specific core data structures.
2320 * sim-core.c (sim_core_find_mapping): Update.
2322 * sim-n-core.h (sim_core_read_N, sim_core_write_N): Rename.
2323 (sim_core_write_aligned_N, sim_core_write_aligned_N): New names.
2324 (sim_core_write_unaligned_N, sim_core_write_unaligned_N): New
2325 alternatives that handle unaligned addresses.
2326 (sim_core_{read,write}_{,un}aligned_N): Drop SIM_DESC arg, replace
2328 * cgen-utils.c (sim_disassemble_insn): Update.
2330 Mon May 5 13:19:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
2332 * sim-trace.h (TRACE_FPU_IDX): Add Floating-point specific
2335 * sim-fpu.h, sim-fpu.c: New files - prototype for generic target
2338 * sim-inline.h, sim-inline.c: Add support for SIM_FPU.
2340 Fri May 2 17:59:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
2342 * sim-core.c (sim_core_map_to_str): New function ascii equivalent
2345 * sim-n-core.h (sim_core_read_N, sim_core_write_N): Use in trace
2348 Fri May 2 17:28:02 1997 Andrew Cagney <cagney@b2.cygnus.com>
2350 * cgen-trace.c: Prepend additional trace_printf argument.
2352 * cgen-utils.c (sim_disassemble_insn): Add additional core
2355 Fri May 2 11:40:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
2357 * nrun.c (main): Catch/report errorenous simulator states.
2359 * sim-module.c: #include "libiberty.h" so that xmalloc is defined.
2360 * sim-trace.c: #include string.h/strings.h so that memset is
2362 * sim-utils.c: Ditto.
2363 * sim-profile.c: Ditto. And stdlib.h.
2364 (print_bar): Only define when used by instruction or memory profiler.
2366 * sim-options.c (standard_option_handler): Make ul more local.
2368 * sim-load.c (sim_load_file): Make the name constant.
2369 (sim_load_file): Passify gcc.
2371 * sim-utils.h: New file, pre-declare utilites in corresponding .c
2373 * sim-utils.c, sim-load.c: Include sim-utils.h.
2375 * sim-base.h (sim_cpu): Pre define here so available to all.
2377 * sim-core.h (DECLARE_SIM_CORE_WRITE_N, DECLARE_SIM_CORE_READ_N):
2378 Restore the sim_cpu and instruction_address arguments so that full
2379 information is available to the abort function.
2380 * sim-core.c (sim_core_find_mapping, sim_core_write_buffer): Ditto.
2381 * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
2383 * sim-trace.h, sim-trace.c (trace_option_handler): Add interim
2384 tracing support for sim-events and sim-core.
2385 (trace_option_handler): Convert #if to if where possible so always
2386 compiled/checked by C compiler.
2387 * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
2389 * sim-base.h: Adjust comment documenting how to define the cpu
2391 (sim_state_base): Add sim_core and sim_events to simulator base
2394 * sim-trace.h, sim-trace.c (trace_printf): Add SIM_DESC argument.
2395 * sim-core.c (sim_core_init, sim_core_attach,
2396 sim_core_find_mapping): Update.
2397 * sim-events.c (ETRACE, sim_events_init, sim_events_time,
2398 update_time_from_event, insert_sim_event,
2399 sim_events_schedule_after_signal, sim_events_deschedule,
2400 sim_events_tick): Ditto.
2402 * sim-basics.h (sim-module.h, sim-trace.h, sim-profile.h,
2403 sim-model.h): Move #includes from here.
2404 * sim-base.h: To here.
2405 (sim-core.h, sim-events.h, sim-io.h): Include also
2407 Wed Apr 30 15:37:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
2409 * callback.c (default_callback): Missing initialisers.
2411 Thu May 1 10:40:47 1997 Doug Evans <dje@canuck.cygnus.com>
2413 * sim-utils.c (sim_add_commas): New function.
2414 * sim-basics.h (sim_add_commas): Add prototype.
2415 * cgen-scache.c (scache_print_profile): Print commas in numbers.
2416 * sim-profile.c (COMMAS): New macro.
2417 (print_*): Use it to print commas in numbers.
2419 * configure: Regenerated.
2421 * cgen-sim.h (sim_signal_type): Add SIM_SIGINT.
2422 (cgen_state): New member run_fast_p.
2423 (cgen_init): Add prototype.
2424 (sim_disassemble_insn): New arg `cpu'.
2425 * cgen-trace.c (trace_insn): Update call to sim_disassemble_insn.
2426 * cgen-utils.c (cgen_init): New function.
2427 (sim_disassemble_insn): New arg `cpu'. Rewrite fetching of insn.
2428 * genmloop.sh: Call engine_halt if loop exits.
2430 * Makefile.in (sim-options_h): Define.
2431 (sim-{module,options,trace,profile,utils}.o): Clean up dependencies.
2432 (sim-model.o): Add new rule.
2433 (cgen-{scache,trace,utils}.o): Add new rules.
2434 * aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add.
2435 * cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'.
2436 Indent output by 2 spaces.
2437 * cgen-scache.h (scache_print_profile): Update.
2438 * cgen-trace.c (trace_insn_fini): Indent output by 2 spaces.
2439 Use trace_printf, not fprintf.
2440 (trace_extract): Use trace_printf, not cgen_trace_printf.
2441 * genmloop.sh (!FAST case): Increment `insn_count'.
2442 * sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE.
2443 (sim_cpu_base): Rename member `sd' to `state' to be consistent with
2444 access macro's name.
2445 * sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it.
2446 Change return type to SIM_RC.
2447 (sim_core_{install,uninstall}): New functions.
2448 * sim-core.h (sim_core_{install,uninstall}): Declare.
2449 (sim_core_init): Use EXTERN_SIM_CORE to define it.
2450 Change return type to SIM_RC.
2451 * sim-model.h (models,machs,model_install): Declare.
2452 * sim-module.c (modules): Add scache_install, model_install.
2453 (sim_post_argv_init): Set cpu->state backlinks.
2454 * sim-options.c (standard_options): Delete --simcache-size,--max-insns.
2455 (standard_option_handler): Likewise.
2456 * sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to
2459 (profile_options): Delete --profile-simcache.
2460 (profile_option_handler): Likewise.
2461 (profile_print_insn): Change `sd' arg to `cpu'. Indent output 2
2463 (profile_print_{memory,model}): Likewise.
2464 (profile_print_simcache): Delete.
2465 (profile_print_speed): New function.
2466 (profile_print): Rewrite.
2467 * sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache.
2468 (WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P.
2469 (PROFILE_DATA): Delete members simcache_{hits,misses}.
2470 (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete.
2471 (PROFILE_{CALLBACK,CPU_CALLBACK}): New types.
2472 (profile_print): Update prototype.
2474 Wed Apr 30 11:34:14 1997 Doug Evans <dje@canuck.cygnus.com>
2476 * cgen-scache.[ch], cgen-sim.h: New files.
2477 * cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files.
2478 * sim-model.c: New file.
2480 * Make-common.in (clean targets): Undo patch of Apr. 22.
2482 Fri Apr 25 15:28:32 1997 Mike Meissner <meissner@cygnus.com>
2484 * sim-n-bits.h (signed): If we have a standard compiler, undef
2485 signed, so that signedN is defined correctly.
2487 Thu Apr 24 00:00:07 1997 Doug Evans <dje@canuck.cygnus.com>
2489 * sim-module.h, sim-model.h, sim-profile.h: New files.
2490 * sim-module.c, sim-profile.c: New files.
2491 * Make-common.in (SIM_PROFILE): Define
2492 (CONFIG_CFLAGS): Add $(SIM_PROFILE).
2493 (sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h.
2494 (sim_module.o,sim-profile.o): Add rules for.
2495 * aclocal.m4 (--enable-sim-trace): Allow symbolic arguments.
2496 (--enable-sim-profile): Add.
2497 * configure: Regenerated.
2498 * sim-base.h (sim_state_base): New members init_list, uninstall_list,
2499 model. Move trace and profile support to sim-{trace,profile}.h.
2500 New members trace_data, profile_data.
2501 * sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h.
2502 * sim-config.h: Provide default definition of WITH_PROFILE.
2503 (WITH_TRACE): Change default to -1.
2504 (MAX_NR_PROCESSORS): Always define.
2505 * sim-options.c: Move trace and profile support to
2506 sim-{trace,profile}.h.
2507 (sim_pre_argv_init): Moved to sim-model.c.
2508 (standard_install): New function.
2509 * sim-options.h (sim_pre_argv_init): Move decl to sim-model.c.
2510 (standard_install): Declare.
2511 * sim-trace.c: Tracing option handling moved here from sim-options.c.
2512 (trace_install, trace_uninstall): New functions.
2513 (trace_printf): Update reference to TRACE_FILE.
2514 * sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h.
2515 (TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace.
2516 (WITH_TRACE_FOO_P): Define.
2517 (trace_install): Declare.
2518 (TRACE_DATA): New struct.
2520 Wed Apr 23 17:23:15 1997 Doug Evans <dje@canuck.cygnus.com>
2522 * run.c: Undo last exec_bfd patch.
2523 (main): Only pass -E ifdef SIM_HAVE_BIENDIAN.
2525 Wed Apr 23 17:54:27 1997 Mike Meissner <meissner@cygnus.com>
2527 * run.c (exec_bfd): Add back in.
2528 (main): Set exec_bfd.
2530 Tue Apr 22 14:43:46 1997 Doug Evans <dje@canuck.cygnus.com>
2532 * sim-load.c (sim_load_file): #include <stdio.h> for NULL.
2534 Wed Apr 23 02:55:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
2536 * sim-events.c (insert_sim_event): Call sim_io_error instead of
2537 less well defined engine_error.
2538 * sim-core.c: Ditto.
2540 Tue Apr 22 08:48:16 1997 Stu Grossman (grossman@critters.cygnus.com)
2542 * Make-common.in: Change clean targets to use :: so that other
2543 Makefiles can have their own clean targets.
2544 * sim-load.c (xprintf eprintf): Use ANSI_PROTOTYPES instead of
2545 __STDC__ to control use of stdarg vs. varargs syntax. Some
2546 systems can't use __STDC__, but require stdarg.
2548 Fri Apr 18 11:14:43 1997 Doug Evans <dje@canuck.cygnus.com>
2550 * sim-options.c (standard_options): Add --endian.
2551 (standard_option_handler): Likewise.
2553 * nrun.c: #include <signal.h>.
2554 (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
2555 handler that calls sim_stop ().
2557 Fri Apr 18 13:11:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
2559 * run.c (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
2560 handler that calls sim_stop (). Simulators may still be
2561 establishing their own handler.
2563 * sim-events.c (sim_events_poll): Rename from
2564 sim_events_at_large_int. Poll IO.
2566 * sim-io.c (sim_io_poll_quit): New function - pass on a polling
2569 * callback.c (os_poll_quit): New function poll for quit signal
2571 (default_callback): Include magic number.
2573 Thu Apr 17 02:25:11 1997 Doug Evans <dje@canuck.cygnus.com>
2575 * aclocal.m4: Check for headers time.h, sys/time.h, sys/resource.h.
2576 Check for functions getrusage, time.
2577 * sim-basics.h (SIM_ELAPSED_TIME): New typedef.
2578 (sim_elapsed_time_get, sim_elapsed_time_since): Add prototypes.
2579 * sim-utils.c: #include time.h, sys/time.h, sys/resource.h if able.
2580 (sim_elapsed_time_get, sim_elapsed_time_since): New functions.
2582 * sim-utils.c (sim_copy_argv, sim_analyze_program): New functions.
2584 * sim-options.c, sim-options.h: New files.
2585 * sim-config.h (WITH_DEBUG): Provide default value of zero.
2586 * Make-common.in (nrun.o): Add rules for.
2589 * run.c (main): Check return value of sim_open.
2591 * Make-common.in (sim-options.o, sim-load.o, sim-trace.o): Add rules.
2592 (sim_main_headers): Add sim-trace.h.
2593 * run.c (exec_bfd, target_byte_order): Delete.
2594 (main): Pass -E <endian> to sim_open. Delete code to load sections,
2595 call sim_load instead. Check return code of sim_create_inferior.
2596 * sim-base.h (CURRENT_STATE): Define.
2597 (sim_state_base): Make typedef. New members options, prog_argv,
2598 prog_bfd, text_{section,start,end}, start_addr, simcache_size,
2599 mem_size, memory [+ corresponding access macros].
2600 (sim_cpu_base): New typedef.
2601 * sim-trace.h: New file.
2602 * sim-trace.c: New file.
2603 * sim-basics.h: #include it.
2604 * sim-load.c: New file.
2606 Tue Apr 15 15:10:13 1997 Ian Lance Taylor <ian@cygnus.com>
2608 * Make-common.in (INSTALL): Set to @INSTALL@.
2609 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
2610 (install-common): Depend upon installdirs. Use
2611 $(program_transform_name) directly, rather than using
2613 (installdirs): New target.
2614 * Makefile.in (INSTALL): Set to @INSTALL@.
2615 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
2616 (install-man): Depend upon installdirs. Use
2617 $(program_transform_name) directly, rather than using
2619 (installdirs): New target.
2621 Tue Apr 15 15:08:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
2623 * sim-assert.h (SIM_ASSERT, ASSERT): Allow these macros to
2626 Wed Apr 9 16:06:44 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2628 * sim-basics.h: Only bring in config.h and tconfig.h if
2631 Mon Apr 7 11:39:45 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2633 * sim-config.h (WITH_TARGET_WORD_MSB): New Macro. Define the bit
2634 numbering convention of the target.
2635 * sim-config.c (print_sim_config): Print WITH_TARGET_WORD_BITSIZE
2636 and WITH_TARGET_WORD_MSB.
2637 (sim_config): When possible, check for consistency with bitsize
2640 * sim-bits.h: Allow MSB to be other than zero.
2641 * sim-bits.c: Ditto.
2642 * sim-n-bits.h: Ditto.
2644 * sim-bits.h (MSMASK*): New macros - converce to LSMASK*.
2645 * sim-n-bits.h (MSMASKEDn): Ditto.
2647 Mon Apr 14 16:29:21 1997 Ian Lance Taylor <ian@cygnus.com>
2649 * Makefile.in (INSTALL): Change install.sh to install-sh.
2651 Mon Apr 7 10:46:38 1997 Doug Evans <dje@canuck.cygnus.com>
2653 * sim-base.h (sim_state_base): Move `magic' to end of struct.
2655 Mon Apr 7 15:53:21 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2657 * run.c (main): Check that a program to run was specified.
2659 Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2661 * aclocal.m4 (AC_TYPE_SIGNAL): Add check.
2663 * configure: Regenerated to track ../common/aclocal.m4 changes.
2666 Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
2668 * sim-endian.h: Move host {LITTLE,BIG}_ENDIAN support from here,
2669 * sim-config.h: To here.
2671 * Make-common.in (SIM_EXTRA_DEPS): New config var.
2672 (sim_main_headers): Define.
2673 (sim-*.o): Depend on $(SIM_EXTRA_DEPS).
2675 (BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in.
2678 (sim-utils.o): Add rule for.
2679 * sim-utils.o: New file.
2680 * sim-basics.h: #include sim-base.h.
2681 (zalloc): Make argument unsigned long.
2682 * sim-base.h: New file.
2683 * sim-inline.h (SIM_IO support): Delete.
2684 * sim-io.h: Delete inline support.
2685 * sim-io.c: Likewise. sim-state.h renamed to sim-main.h.
2686 * sim-config.c: sim-state.h renamed to sim-main.h.
2687 * sim-core.c: Likewise.
2688 * sim-events.c: Likewise.
2690 * run.c (main): Pass SIM_OPEN_STANDALONE to sim_open.
2692 * aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h.
2693 (sim-debug): Allow arguments. Define WITH_DEBUG in addition to
2695 * configure: Regenerated to track ../common/aclocal.m4 changes.
2697 Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2699 * configure: Regenerated to track ../common/aclocal.m4 changes.
2701 Wed Apr 2 11:08:11 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2703 * sim-config.h (WITH_ALIGNMENT, WITH_FLOATING_POINT,
2704 WITH_XOR_ENDIAN, WITH_SMP, WITH_RESERVED_BITS): Assume that these
2705 are defined by the configure.
2707 * aclocal.m4 (sim-stdio): Add option stdio from ../ppc configure.
2709 * aclocal.m4 (floating-point, xor-endian, alignment, smp,
2710 reserved-bits): Always define.
2712 * sim-config.h, sim-config.c (sim_config): New function - and new
2713 file - co-ordinate the setting/checking of the common simulator
2714 configuration options.
2716 * Make-common.in (sim-config.o): Add rule.
2718 Fri Mar 28 15:32:00 1997 Mike Meissner <meissner@cygnus.com>
2720 * callback.c (os_{,e}vprintf_filtered): Change stdarg type to
2721 va_list from void *, since va_list might not be a pointer type.
2723 Mon Mar 24 15:27:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2725 * sim-n-endian.h (offset_N): Correct assertion - word and sub word
2727 (offset_N): Correct computation of LE offset.
2729 * sim-io.c (sim_io_error): Include a new line when reporting
2732 * sim-assert.h (SIM_FILTER_PATH): Out by one when locating last
2735 Thu Mar 20 22:31:06 1997 Jeffrey A Law (law@cygnus.com)
2737 * run.c: Include alloca-conf.h.
2739 * callback.c (os_evprintf_filtered): Fix typo.
2741 Fri Mar 21 13:36:20 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2743 * run.c (string.h, strings.h, stdlib.h): Include.
2745 * sim-events.c (sim_events_tick): Recent cleanup failed to return
2746 0 when nothing pending.
2748 * run.c (sim_size, sim_trace): Plicate GCC - these two functions
2749 will soon be going away.
2750 (getopt): Plicate GCC.
2752 * sim-endian.c (sim-io.h): Plicate GCC.
2753 * sim-bits.c (sim-io.h): Ditto.
2754 * sim-n-bits.h (ROTn): Ditto.
2756 * sim-io.c (sim_io_error): Correct check for NULL.
2758 * sim-assert.h (SIM_FILTER_PATH): Separate out the code filtering
2760 * sim-events.c: Use SIM_FILTER_PATH to filter out the filename
2763 Wed Mar 19 01:12:06 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2765 * aclocal.m4 (SIM_AC_OPTION_*: Move so that they are outside of
2766 SIM_AC_COMMON - SIM_AC_COMMON was gobling arguments.
2768 Tue Mar 18 20:48:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2770 * sim-alu.h: Include sim-xcat.h.
2772 Tue Mar 18 13:58:18 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2774 * Make-common.in (sim-bits.c, sim-core.c, sim-endian.c,
2775 sim-events.c, sim-inline.c, sim-io.c): Define rules for building
2778 * sim-events.c (sim_events_at_large_int): New function. Just
2779 schedules an event every large-int ticks.
2780 (sim_events_init): Call.
2781 (sim_events_tick, sim_events_process): Move async handing to
2782 sim_events_process. Move timer decrement so that it occures after
2783 events have been processed.
2785 * sim-basics.h (struct _engine): Remove declaration.
2787 * sim-events.h, sim-events.c: Rename type to sim_events. Prefix
2788 everything with same. Rename global struct to SIM_DESC.
2789 * sim-core.h, sim-core.c, sim-n-core.c: Ditto for sim_core.
2790 * sim-io.h, sim-io.c: Ditto.
2792 * sim-assert.h: New file. Optional assertion checking macros.
2793 * sim-io.c (sim_io_error): Make just this function tolerant to
2796 * sim-xcat.h: New file. Define concatenate macros.
2797 * sim-basics.h (XCONCAT*): Move to sim-xcat.h.
2798 * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Explicitly include
2802 Tue Mar 18 12:44:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2804 * sim-bits.h (LSMASK): New macro. Create mask of LS bits.
2806 Mon Mar 17 18:10:05 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2808 * sim-inline.h: Add definitions for sim-types.
2809 (ALL_BY_MODULE): New macro, encapsulate full inlining by the
2812 Mon Mar 17 15:38:27 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2814 * sim-events.h: Remove defunct reference to callback struct.
2816 Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2818 * configure: Re-generate.
2820 Mon Mar 17 15:04:47 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2822 * Make-common.in (CSEARCH): Do not include the gdb directory in
2825 Mon Mar 17 13:16:26 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2827 * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
2828 SIM_WARNING): Drop, requiring the simulator specific Makefile.in
2829 to explicitly incorporate these.
2831 * aclocal.m4 (--enable-sim-alignment); New option. Strongly
2832 specify the alignment restrictions of the target architecture -
2833 without this option all alignment restrictions are accomodated.
2834 (--enable-sim-assert): New option. Conditionally compile in
2835 assertion statements.
2836 (--enable-sim-float): New option. Strongly specify the target's
2837 floating point support.
2838 (--enable-sim-hardware): New option. Specify the hardware devices
2839 included in the simulation.
2840 (--enable-sim-packages): New option. Specify the hardware
2841 packages included in the simulation.
2842 (--enable-sim-regparm): New option. Specify that parameters be
2843 passed in registers instead of on the stack.
2844 (--enable-sim-reserved-bits): New option. Specify that reserved
2845 bits within an instruction are are correctly set.
2846 (--enable-sim-smp): New option. Specify the level of SMP support
2847 to be included in the simulator.
2848 (--enable-sim-stdcall): New option. Specify an alternative
2849 function call convention.
2850 (--enable-sim-xor-endian): New option. Configure xor-endian
2851 support used by some targets to implement bi-endian support.
2853 Fri Mar 14 19:51:21 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2855 * aclocal.m4 (--enable-sim-hostendian): New option. Allow the
2856 host endianness to be overridden.
2857 (--enable-sim-endian): Allow the target platform's byte order
2859 (--enable-sim-inline): Control the inlining of common components.
2860 (--enable-sim-bswap): For compatibility, also define WITH_BSWAP.
2861 (--enable-sim-warnings): Enable additional GCC compiler checks.
2862 * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
2865 * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Rename from
2866 sim-*-n.h so that the names are uniq on dos machines
2867 * sim-core.c, sim-bits.c, sim-endian.c: Update.
2869 Thu Mar 13 12:32:42 1997 Doug Evans <dje@canuck.cygnus.com>
2871 * run.c: #include "libiberty.h".
2872 (main): New locals sd,no_args,sim_argv.
2873 Run buildargv on -a option. Pass argv to sim_open, argv[0]
2874 is program name. Update call to sim_set_callbacks.
2875 Record result of sim_open, pass to other sim_foo routines.
2877 Thu Mar 13 10:24:05 1997 Michael Meissner <meissner@cygnus.com>
2879 * callback.c (os_printf_filtered): Do not call exit(1) or print a
2882 Thu Mar 6 15:50:28 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2884 * callback.c: Add os_flush_stdout and vprintf_filtered callbacks.
2885 Route stdout through buffered IO.
2887 * callback.c: Add os_flush_stderr, os_write_stderr,
2888 os_evprintf_filtered functions to route error output through
2891 * sim-io.h, sim-io.c (sim_io_flush_stderr, sim_io_flush_stdout):
2892 Correct return type - should be void.
2894 Fri Mar 7 20:14:37 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2896 * sim-basics.h: Clean up. Many macro's moved to sim-inline.h.
2898 * sim-config.h: Ditto. For some options - eg WITH_DEVICES - do
2899 not provide a default value as undefined indicates disable code.
2901 Thu Mar 6 15:50:28 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2903 * sim-core.h, sim-core-n.h, sim-core.c: Borrow code from ppc
2905 * sim-events.h, sim-events.c: Ditto.
2906 * sim-io.h, sim-io.c: Ditto.
2908 Tue Mar 4 09:35:56 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2910 * sim-alu.h (ALU_SUB_CA, ALU*_SUB_CA): New alu operation.
2912 * sim-bits.h, sim-bits-n.h, sim-bits.c (LSMASKED*): New macro's
2913 extract the tail or least signifiant bits from an integer of the
2916 * sim-bits.h, sim-bits.c: Clean up conditionally compiled #if
2917 WITH_TARGET_BITSIZE so that the compilation will fail when an
2918 unsupported bitsize value is defined.
2920 (INSERTED*): Convert to functions.
2921 (EXTRACTED*): Ditto.
2923 (SIGN_EXTEND, SEXT): Change to more terse name.
2925 Tue Mar 4 09:35:56 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2927 * sim-inline.h: Allow explicit control over which .c files will be
2928 included by their header.
2930 * sim-inline.h: Allow explicit control over which .c files use the
2931 alternative - REGPARM - parameter passing mechanism.
2933 * sim-inline.h, sim-inline.c: Don't attempt to include any of
2934 icache.c, idecode.c, semantics.c or support.c. Those names are
2935 not generally applicable.
2937 Thu Feb 27 10:17:23 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2939 * sim-bits.c, sim-bits-n.h (new): Split sim-bits.c into two parts
2940 in a fashion similar to sim-endian-n.
2942 * sim-endian.h: (H_word, L_word, AL_*, VL_*): Extend to include
2943 both value and address macro's.
2945 Tue Feb 25 18:51:57 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
2947 * sim-alu.h (ALU16_BEGIN, ALU16_SET, ...): Fill in.
2949 * sim-endian.h (L_word, H_word): Replace MS2W_4, LS2W_4 with more
2950 generic L_word, H_word macro's.
2952 Thu Feb 20 18:36:55 1997 Andrew Cagney <cagney@critters.cygnus.com>
2954 * sim-basics.h: Borrow code from ppc directory.
2955 * sim-bits.c: Ditto.
2956 * sim-bits.h: Ditto.
2957 * sim-config.h: Ditto.
2958 * sim-endian-n.h: Ditto.
2959 * sim-endian.c: Ditto.
2960 * sim-endian.h: Ditto.
2961 * sim-inline.c: Ditto.
2962 * sim-inline.h: Ditto.
2963 * sim-types.h: Ditto.
2965 Wed Feb 19 12:40:50 1997 Andrew Cagney <cagney@critters.cygnus.com>
2967 * sim-alu.h (ALU_SET16, ALU_SET32, ALU_SET64, etc): Make available
2968 all the ALU size alternatives and then auto-configure a default.
2970 * sim-alu.h: Copy ppc/idecode_expression.h.
2972 Mon Feb 17 10:44:18 1997 Andrew Cagney <cagney@critters.cygnus.com>
2974 * bits.h, bits.c (SIGN_EXTEND32, SIGN_EXTEND64): New functions,
2975 sign extend a bit within a value.
2977 * sim-endian.h, sim-endian-n.h (offset_N): New functions - return
2978 a pointer into the middle of a host word.
2979 * sim-endian.h (MS2W_4, LS2W_4): Use this function.
2981 Tue Feb 11 13:46:49 1997 Michael Meissner <meissner@tiktok.cygnus.com>
2983 * callback.c: If HAVE_CONFIG_H is defined, include config.h from
2984 autoconf. If HAVE_UNISTD_H is defined, include unistd.h to get
2985 appropriate definitions of read, write, etc. Add prototype for
2988 Tue Feb 4 13:24:44 1997 Doug Evans <dje@canuck.cygnus.com>
2990 * Makefile.in (libcommon.a): Delete.
2991 (callback.o,targ-map.o): Delete, moved to Make-common.in.
2992 (gentmap,targ-vals.h,targ-map.c): Likewise.
2993 (run-autoconf): Delete.
2994 * aclocal.m4 (SIM_AC_OUTPUT): Redo creation of Makefile.
2995 (common makefile fragment): Moved back into ...
2996 * Make-common.in: Resurrect.
2997 * configure.in (AC_LINK_FILES): Delete, unnecessary now.
2998 * configure: Regenerated.
3000 Fri Jan 31 07:16:49 1997 Doug Evans <dje@canuck.cygnus.com>
3002 * aclocal.m4 (SIM_AC_COMMON): Move COMMON_MAKEFILE_FRAG from here.
3003 (SIM_AC_OUTPUT): To here.
3005 Fri Jan 24 10:37:17 1997 Stu Grossman (grossman@critters.cygnus.com)
3007 * aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in
3008 comments and single quotes. Fixes a problem found on hpux.
3010 Thu Jan 23 13:35:03 1997 Stu Grossman (grossman@critters.cygnus.com)
3012 * aclocal.m4: Remove Make-common.in from dependencies.
3013 * (distclean): Remove targ-vals.def.
3015 * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in
3016 into here. Makes insertion into makefiles easier. Also, change
3017 the way that callback.o, gentmap, targ-vals.h, targ-map.c,
3018 targ-map.o, and run are built. They are now built in the
3019 individual simulator directories, taking sources from ../common as
3020 necessary. This replaces the merging of libcommon.a into
3021 linsim.a, which was problematic for the WinGDB build process.
3022 * run.c: Include config.h from . instead of ../common.
3023 * Make-common.in: Remove. It's no longer necessary.
3025 Mon Dec 16 15:02:33 1996 Ian Lance Taylor <ian@cygnus.com>
3027 * Make-common.in (ALL_CLAGS): Put CFLAGS at the end.
3028 (.c.o): Put $(ALL_CFLAGS) before the file being compiled.
3030 Wed Dec 11 11:30:58 1996 Jim Wilson <wilson@cygnus.com>
3032 * run.c (main): Set target_byte_order before call to sim_open.
3034 Sun Dec 8 18:22:06 1996 Doug Evans <dje@canuck.cygnus.com>
3036 * callback.c: #include <stdlib.h>
3037 (os_error): New function.
3038 (default_callback): Add os_error.
3040 Mon Nov 25 19:44:35 1996 Doug Evans <dje@canuck.cygnus.com>
3042 * Make-common.in (Makefile): Set CONFIG_HEADERS="".
3043 * aclocal.m4: Mark the fact that --enable-sim-bswap isn't host
3045 (SIM_AC_OUTPUT): Don't build Makefile if CONFIG_FILES="".
3047 Wed Nov 20 01:11:04 1996 Doug Evans <dje@canuck.cygnus.com>
3049 * run.c: #include ../common/config.h, tconfig.h.
3050 (myname): New static global.
3051 (main): Recognize new options -a, -c. Also recognize -h if h8/300.
3052 Only process -c ifdef SIM_HAVE_SIMCACHE.
3053 Only process -p/-s ifdef SIM_HAVE_PROFILE.
3054 Parse program name from argv[0] and use in error messages.
3055 Pass sim_args to sim_open. Pass prog_args to sim_create_inferior.
3056 Add support for incomplete h8/300 termination indicators.
3057 (usage): Make more verbose.
3058 * aclocal.m4,config.in,tconfig.in,configure.in,configure: New files.
3059 * Makefile.in,Make-common.in,callback.c: New files.
3060 * nltvals.def,gentmap.c,gentvals.sh: New files.
3062 Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
3064 * run.c: Include stdarg.h if __STDC__.
3066 Tue Oct 15 11:16:31 1996 Jeffrey A Law (law@cygnus.com)
3068 * run.c (main): Don't print out anything if the signal
3069 number is zero (ie no signal).
3071 Tue Oct 15 11:20:44 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3073 * run.c (main): Print out if the program raised a signal.
3075 Wed Sep 18 09:52:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3077 * run.c (exec_bfd): Rename from sim_bfd, to use the gdb name.
3080 Tue Sep 17 11:04:50 1996 James G. Smith <jsmith@cygnus.co.uk>
3082 * run.c (main): Explicitly cast malloc() parameter.
3084 Thu Sep 12 11:27:21 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3086 * run.c (sim_bfd): New global to hold the bfd pointer for the
3088 (main): Initialize sim_bfd.
3090 Fri Dec 15 16:27:49 1995 Ian Lance Taylor <ian@cygnus.com>
3092 * run.c (main): Use new bfd_big_endian macro.
3094 Wed Nov 8 15:49:49 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
3096 * run.c (main): Removed SH specific comments, so source is
3097 generic. Also updated to only load relevant sections. Moved
3098 sim_open() to after callback attach (to match GDB).
3100 * run.1: Removed SH specific comments.
3102 Sat Oct 21 12:31:01 1995 Jim Wilson <wilson@chestnut.cygnus.com>
3104 * run.c (main): Always return sigrc at end.
3106 Tue Oct 10 12:03:13 1995 J.T. Conklin <jtc@rtl.cygnus.com>
3108 * run.c (main): Print error diagnostic and exit if bfd_openr() or
3109 bfd_check_format() fails.
3111 Thu Sep 28 15:40:36 1995 steve chamberlain <sac@slash.cygnus.com>
3113 * run.c, run.1: From sh directory.