2001-07-05  Ben Elliston  <bje@redhat.com>

	* Make-common.in (srccgen): Remove.
	(CGEN_CPU_DIR): Define.
	(CGEN_READ_SCM): Redefine without $(srccgen).
	(CGEN_ARCH_SCM): Ditto.
	(CGEN_CPU_SCM): Ditto.
	(CGEN_DECODE_SCM): Ditto.
	(CGEN_DESC_SCM): Ditto.

2001-04-25  Frank Ch. Eigler  <fche@redhat.com>

	* sim-load.c (sim_load_file): Put it back: external now.
	* sim-utils.c (sim_analyze_program): Ditto.  Nyuk nyuk nyuk.

2001-04-21  Andrew Cagney  <ac131313@redhat.com>

	* sim-load.c (sim_load_file): Delete call bfd_cache_close.  BFD
	internal interface.
	* sim-utils.c (sim_analyze_program): Ditto.

2001-04-19  Frank Ch. Eigler  <fche@redhat.com>

	* sim-utils.c (sim_analyze_program): Call bfd_cache_close after
	we're finished with its immediate use.
	* sim-load.c (sim_load_file): Ditto.

2001-03-16  Frank Ch. Eigler  <fche@redhat.com>

	Add support for mmap-based memory regions.
	* sim-memopt.c (mmap_next_fd): New global.
	(sim_memory_init): Reinitialize it.
	(OPTION_MEMORY_MAPFILE, memory_option_handler): Support new
	"--memory-mapfile FILE" option.  Check for some errors.
	(do_memopt_add): Conditionally do mmap instead of malloc for
	backing store of simulated memory.  Check for more errors.
	(do_simopt_delete, sim_memory_uninstall): Corresponding cleanup.
	* sim-memopt.h (munmap_length): New member of _sim_memopt.
	* configure.in: Look for mmap/fstat related functions and headers.
	* config.in, configure: Regenerated.

2001-03-15  Frank Ch. Eigler  <fche@redhat.com>

	* sim-core.c (sim_core_map_attach): Correct overlap-related
	error messages.

2001-03-07  Michael Meissner  <meissner@redhat.com>

	* run.c (alloca-conf.h): Delete, no longer provided.

2001-02-22  Ben Elliston  <bje@redhat.com>

	* sim-trace.h (TRACE_VPU_IDX): Add.
	(TRACE_vpu): Define.
	(WITH_TRACE_VPU_P): Likewise.
	(TRACE_VPU_P): Likewise.
	* sim-trace.c (OPTION_TRACE_VPU): Define.
	(trace_options): Add --trace-vpu.
	(trace_option_handler): Handle OPTION_TRACE_VPU.
	(trace_option_handler): Include VPU tracing in --trace-semantics.
	(trace_idx_to_str): Handle TRACE_VPU_IDX.

2001-02-21  Ben Elliston  <bje@redhat.com>

	* sim-trace.h (TRACE_BRANCH_INPUT1): New macro.
	(TRACE_BRANCH_INPUT2): Likewise.

2001-02-09  Ben Elliston  <bje@redhat.com>

	* (profile_print_pc): Write header out in target byte order.

2001-02-09  Ben Elliston  <bje@redhat.com>

	* sim-profile.c (profile_pc_init): Correct bug in loop logic when
	adjusting the pc shift value.

2001-01-12  Chris Demetriou  <cgd@sibyte.com>

	* aclocal.m4 (SIM_AC_OPTION_SCACHE): Properly handle the case
	where a numeric value is supplied.

2001-01-06  Ben Elliston  <bje@redhat.com>

	* cgen.sh: Allow extrafiles to include the semantics files when
	generating an ISA-specific decoder.

2000-12-27  Alexandre Oliva  <aoliva@redhat.com>

	* Make-common.in (sim-io.o): Depend on targ-vals.h.

2000-12-23  Ben Elliston  <bje@redhat.com>

	* cgen-trace.c (trace_result): Handle 'f' type operands; output
	them to the trace stream using sim_fpu_printn_fpu. Include
	"sim-fpu.h".

2000-12-15  Ben Elliston  <bje@redhat.com>

	* sim-fpu.h (sim_fpu_printn_fpu): Declare.
	* sim-fpu.c (print_bits): Add digits parameter. Print only as many
	trailing digits as specified (-1 to print all digits).
	(sim_fpu_print_fpu): New wrapper around sim_fpu_printn_fpu.
	(sim_fpu_printn_fpu): Rename from sim_fpu_print_fpu; update calls
	to print_bits ().

2000-12-13  Ben Elliston  <bje@redhat.com>

	* cgen.sh: Set prefix/PREFIX (append ISA if applicable). Factor
	sed expressions into $sedscript, substituting @prefix@/@PREFIX@.
	(defs): New action.

2000-12-12  Geoffrey Keating  <geoffk@redhat.com>

	* sim-endian.h: Don't have parameters on macro definitions which
	are simply renaming functions, to permit use of XCONCAT2 in both
	the macro name and the arguments in a use of such a definition.

2000-12-11  Ben Elliston  <bje@redhat.com>

	* cgen-ops.h (SUBWORDDFDI): New function.

2000-12-05  Ben Elliston  <bje@redhat.com>

	* Make-common.in (cgen-defs): New target.
	(cgen-decode): Pass $(EXTRAFILES).

	* genmloop.sh: Use @prefix@, not @cpu@ throughout. Add -prefix and
	-outfile-suffix options.

2000-12-04  Ben Elliston  <bje@redhat.com>

	* cgen-ops.h (SUBWORDSIQI): Mask off top bits.
	(SUBWORDSIUQI): Likewise.
	(SUBWORDDIHI): Likewise.
	(SUBWORDDIQI): New function.

	* cgen-trace.c (disassemble_insn): Remove unused declaration.
	* cgen-scache.c (scache_option_handler): Remove unused local var.

2000-12-03  Ben Elliston  <bje@redhat.com>

	* sim-profile.c (profile_option_handler): Remove unused prof_nr.

2000-11-26  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* hw-events.c (delete_hw_event_data): Remove the scheduled events.

2000-11-26  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* dv-core.c (dv_core_attach_address_callback): Don't abort if
	space is not zero.

2000-11-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* hw-base.c (hw_delete): Don't free base_of_hw since it's freed.
	(set_hw_delete): Moved the macro as a function.
	* hw-base.h (set_hw_delete): Declare as external function.
	* hw-alloc.c (delete_hw_alloc_data): Allow to free the memory
	allocated using hw_malloc.
	
2000-11-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* sim-options.c (sim_parse_args): Free the memory used for
	long_options, short_options, handlers, opt_cpu, orig_val.

2000-11-20  Ben Elliston  <bje@redhat.com>

	* cgen-ops.h (SUBBI): New macro.
	(SUBWORDSIQI, SUBWORDSIHI, SUBWORDSIUQI): New functions.
	(SUBWORDDIHI, SUBWORDDIUQI, SUBWORDDIDF): Likewise.

2000-11-16  Ben Elliston  <bje@redhat.com>

	* cgen-types.h (VOID): New type.

2000-11-09  Ben Elliston  <bje@redhat.com>

	* sim-fpu.c (sim_fpu_one): Set exponent to 0.
	(sim_fpu_two): Set exponent to 1.

2000-10-26  Ben Elliston  <bje@redhat.com>

        * cgen.sh: Handle an isa argument between cpu and mach. Default to
        `all'. Pass `-i' options to cgen applications.
        * Make-common.in (cgen-arch, cgen-cpu, cgen-decode, cgen-cpu-decode,
        cgen-desc): Pass $(isa) to cgen.sh.

2000-10-08  Ben Elliston  <bje@redhat.com>

	* cgen-utils.c (cgen_rtx_error): New function.

2000-10-07  Ben Elliston  <bje@redhat.com>

	* cgen-trace.c (sim_cgen_disassemble_insn): Handle failure
	conditions for sim_core_read_buffer().

2000-09-26  Dave Brolley  <brolley@redhat.com>

	* cgen-utils.c (RORQI): New function.
	(ROLQI): New function.
	(RORHI): New function.
	(ROLHI): New function.

2000-08-28  Dave Brolley  <brolley@redhat.com>

	* cgen-trace.c (sim_cgen_disassemble_insn): Make sure entire insn is
	in insn_value if it will fit.

2000-08-21  Frank Ch. Eigler  <fche@redhat.com>

	* Make-common.in, cgen.sh: Contribute CGEN-related build targets/rules.

2000-08-15  Dave Brolley  <brolley@redhat.com>

	* sim-profile.c (profile_print_speed): Print cpu frequency if not zero.

2000-08-15  Dave Brolley  <brolley@redhat.com>

	* sim-profile.h (PROFILE_DATA): Add cpu_freq.
	(PROFILE_CPU_FREQ): New macro.
	* sim-profile.c (OPTION_PROFILE_CPU_FREQUENCY): New enumerator.
	(profile-options): Add profile-cpu-frequency.
	(parse_frequency): New function.
	(profile_option_handler): Handle OPTION_PROFILE_CPU_FREQUENCY.
	(profile_print_speed): Print cpu frequency and simulated execution time.
	Re-indent other items to match.

2000-08-09  Andrew Cagney  <cagney@lulu.cygnus.com>

	* dv-sockser.c (dv_sockser_init): Eliminate MIN macro.

2000-07-27  Frank Ch. Eigler  <fche@redhat.com>

	From Maciej W. Rozycki <macro@ds2.pg.gda.pl>
	* Makefile.in (install): Install run.1 man page.

Thu Jul 27 21:56:08 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	From 2000-06-23 Doug Evans <dje@casey.transmeta.com>:
	* Makefile.in (headers,nltvals.def): Merge.

Thu Jul 27 20:37:47 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	From 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>:
	* nrun.c (main): Print the simulator statistics only in
	verbose mode.
	* hw-properties.h (hw_find_integer_array_property): Fix
	prototype (use signed_cell).

	From 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>:
	* sim-events.c (sim_events_remain_time): New function returning
	the time that remains before the event is raised.
	* hw-events.c (hw_event_remain_time): Likewise.
	* sim-events.h (sim_events_remain_time): Declare.
	* hw-events.h (hw_event_remain_time): Declare.

	From 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>:
	* sim-hw.c: Use <errno.h> instead of <sys/errno.h>
	(OPTION_HW_LIST): New option --hw-list to list the devices.
	(hw_option_handler): List the device tree with 'sim_hw_print'.

	From 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>:
	* sim-bits.h (_MSB_16, _LSB_16): Define for 16-bit targets.
	(MASK, LSBIT, MSBIT): Likewise and use _MSB_16 and _LSB_16.
	(EXTENDED): Define for 16-bit word size.
	* sim-bits.c (LSEXTRACTED, MSEXTRACTED, LSINSERTED,
	MSINSERTED, LSSEXT, MSSEXT): Implement for 16-bit word size.
	* sim-types.h: Added support for 16-bit targets.

2000-06-23  Frank Ch. Eigler  <fche@redhat.com>

	* cgen-trace.h (TRACE_USEFUL_MASK): Remove TRACE_EVENTS_IDX.

2000-06-24  Frank Ch. Eigler  <fche@redhat.com>

	From Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
	* Makefile.in (distclean): Clean cconfig.h also.

Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Tue May 23 21:35:53 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (sim-profile): Enable the profiler by default.

Tue May 23 20:30:12 2000  Andrew Cagney  <cagney@amy.cygnus.com>

	* run.c (main): Initialize sigrc.

Wed Apr 26 16:18:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (update_time_from_event): Add more detailed event
 	tracing.

2000-03-30  Dave Brolley  <brolley@redhat.com>

	* aclocal.m4 (cgen): Use guile to run cgen.

2000-03-23  Dave Brolley  <brolley@redhat.com>

	* cgen-fpu.h: Rename extsfdf to fextsfdf. Rename truncdfsf to
	ftruncdfsf.
	* cgen-accfp.c (fextsfdf): New function.
	(ftruncdfsf): New function.
	(cgen_init_accurate_fpu): Initialize fextsfdf and ftruncdfsf.

2000-03-13  Jeff Johnston <jjohnstn@cygnus.com>

	* cgen-ops.h: Added TRUNCSISI.

2000-03-08  Dave Brolley  <brolley@redhat.com>

	* cgen-par.h (cgen_write_queue_kind): Add CGEN_FN_SF_WRITE.
	(CGEN_WRITE_QUEUE_ELEMENT): Add fn_sf_write.
	(sim_queue_fn_si_write): Last argument is has type USI.
	(sim_queue_fn_sf_write): New function.
	* cgen-par.c (sim_queue_fn_si_write): Declare 'value' as USI.
	(sim_queue_fn_sf_write): New function.
	(cgen_write_queue_element_execute): Handle CGEN_FN_SF_WRITE.

Tue Feb 22 16:45:09 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* run.c (main): When SIM_HAVE_ENVIRONMENT enable tracing with
 	sim_set_trace and run simulator using sim_resume.
	(main): Add option ``-o'' - operating environment.  Only continue
 	after a signal when operating environment.
	(main): Always set REASON and SIGRC using sim_stop_reason.
	(sim_trace): Delete extern declaration.

2000-02-08  Nick Clifton  <nickc@cygnus.com>

	* callback.c: Fix compile time warning messages.
	* run.c: Fix compile time warning messages.
     
1999-12-17  Dave Brolley  <brolley@cygnus.com>

	* sim-profile.h: (set_profile_option_mask): Add prototype.
	* sim-profile.c (set_profile_option_mask): No longer static.

Wed Dec  8 21:47:13 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-arange.c: Include <string.h>

1999-12-07  Dave Brolley  <brolley@cygnus.com>

	* sim-options.c (print_help): '=' required before optional argument.
	* cgen-par.h (CGEN_FN_MEM_QI_WRITE): New enumerator.
	(CGEN_FN_MEM_HI_WRITE): New enumerator.
	(CGEN_FN_MEM_SI_WRITE): New enumerator.
	(CGEN_FN_MEM_DI_WRITE): New enumerator.
	(CGEN_FN_MEM_DF_WRITE): New enumerator.
	(CGEN_FN_MEM_XI_WRITE): New enumerator.
	(fn_mem_qi_write): New union members.
	(fn_mem_hi_write): New union members.
	(fn_mem_si_write): New union members.
	(fn_mem_di_write): New union members.
	(fn_mem_df_write): New union members.
	(fn_mem_xi_write): New union members.
	(sim_queue_fn_mem_qi_write): New function.
	(sim_queue_fn_mem_hi_write): New function.
	(sim_queue_fn_mem_si_write): New function.
	(sim_queue_fn_mem_di_write): New function.
	(sim_queue_fn_mem_df_write): New function.
	(sim_queue_fn_mem_xi_write): New function.
	* cgen-par.c (sim_queue_fn_mem_qi_write): New function.
	(sim_queue_fn_mem_hi_write): New function.
	(sim_queue_fn_mem_si_write): New function.
	(sim_queue_fn_mem_di_write): New function.
	(sim_queue_fn_mem_df_write): New function.
	(sim_queue_fn_mem_xi_write): New function.
	(cgen_write_queue_element_execute): Handle CGEN_FN_MEM_QI_WRITE,
	CGEN_FN_MEM_HI_WRITE, CGEN_FN_MEM_SI_WRITE, CGEN_FN_MEM_DI_WRITE,
	CGEN_FN_MEM_DF_WRITE, CGEN_FN_MEM_XI_WRITE.

1999-12-01  Dave Brolley  <brolley@cygnus.com>

	* cgen-accfp.c (subsf): Check status code.
	(mulsf): Ditto.
	(negsf): Ditto.
	(abssf): Ditto.
	(sqrtsf): Ditto.
	(invsf): Ditto.
	(minsf): Ditto.
	(maxsf): Ditto.
	(subdf): Ditto.
	(muldf): Ditto.
	(divdf): Ditto.
	(negdf): Ditto.
	(absdf): Ditto.
	(sqrtdf): Ditto.
	(invdf): Ditto.
	(mindf): Ditto.
	(maxdf): Ditto.

1999-11-26  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.h (fn_df_write): Mode of data is DF.
	(sim_queue_fn_df_write): Mode of data is DF.
	* cgen-par.c (sim_queue_fn_df_write): Mode of data is DF.

1999-11-22  Dave Brolley  <brolley@cygnus.com>

	* cgen-trace.c (SIZE_TRACE_BUF): Inxrease size of trace buffer.
	* cgen-par.h (CGEN_WRITE_QUEUE_SIZE): Increase size of queue.

1999-11-04  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.h (cgen_write_queue_kind): Add CGEN_FN_XI_WRITE and
	CGEN_MEM_XI_WRITE members.
	(CGEN_WRITE_QUEUE_ELEMENT): Add fn_xi_write and mem_xi_write members.
	(sim_queue_fn_xi_write): New function.
	(sim_queue_mem_xi_write): New function.

	* cgen-par.c (sim_queue_fn_xi_write): New function.
	(sim_queue_mem_xi_write): New function.
	(cgen_write_queue_element_execute): Handle CGEN_FN_XI_WRITE and
	CGEN_MEM_XI_WRITE.

1999-10-22  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.h (insn_address): New field in CGEN_WRITE_QUEUE_ELEMENT.
	(CGEN_WRITE_QUEUE_ELEMENT_IADDR): New macro.
	* cgen-par.c: Set insn_address for each queued write. Get pc from
	cpu when executing queued writes.

1999-10-19  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.h (sim_queue_fn_pc_write): New function.
	(CGEN_FN_PC_WRITE): New enumerator.
	(fn_pc_write): New union member.
	* cgen-par.c (sim_queue_fn_pc_write): New function.
	(cgen_write_queue_element_execute): Handle CGEN_FN_PC_WRITE.

1999-10-18  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.h (CGEN_MEM_DI_WRITE): New enumerator.
	(CGEN_MEM_DF_WRITE): New enumerator.
	(mem_di_write): New union member.
	(mem_df_write): New union member.
	* cgen-par.c (sim_queue_mem_di_write): New function.
	(sim_queue_mem_df_write): New function.
	(cgen_write_queue_element_execute): Handle CGEN_MEM_DI_WRITE and
	CGEN_MEM_DF_WRITE.
	* cgen-accfp.c (divsf): Check for division errors.

1999-10-14  Doug Evans  <devans@casey.cygnus.com>

	* cgen-engine.h (EXTRACT_INT,EXTRACT_UINT): Delete.

1999-10-07  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.h (CGEN_FN_HI_WRITE): New enumerator. 
	(fn_hi_write): New union member.
	(sim_queue_fn_hi_write): New function.
	* cgen-par.c (sim_queue_fn_hi_write): New function.
	(cgen_write_queue_element_execute): Handle CGEN_FN_HI_WRITE.

1999-09-29  Doug Evans  <devans@casey.cygnus.com>

	* cgen-defs.h (sim_engine_invalid_insn): New arg `vpc'.
	Change type of result to SEM_PC.

Wed Sep 29 14:43:57 1999  Dave Brolley  <brolley@cygnus.com>

	* cgen-defs.h (sim_engine_invalid_insn): Now returns PC.

1999-09-25  Doug Evans  <devans@casey.cygnus.com>

	* cgen-ops.h (SUBWORD*): Delete cpu arg.
	(JOIN*): Delete cpu arg.

Tue Sep 21 17:14:16 1999  Dave Brolley  <brolley@cygnus.com>

	* genmloop.sh (@cpu@_scache_lookup): No longer takes last_insn_p
	parameter.
	(SET_LAST_INSN_P): Set last_insn_p flag in the scache element.

Mon Sep 20 21:44:06 1999  Geoffrey Keating  <geoffk@cygnus.com>

        * sim-fpu.c (i2fpu): Keep the guard bits sticky when converting
        large values.

Tue Feb  8 16:33:48 2000  Andrew Cagney  <cagney@b1.cygnus.com>

	* run.c (main): Check the sim_stop_reason and only halt simulation
 	when a valid stop condition is identified.

Wed Sep 15 14:12:37 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-tree.c, hw-properties.c, hw-instances.c: Include "sim-io.h".

Tue Sep 14 14:15:47 1999  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.h (CGEN_BI_WRITE): New enumerator.
	(bi_write): New union element.
	(sim_queue_bi_write): New function.
	* cgen-par.c (sim_queue_bi_write): New function.
	(cgen_write_queue_element_execute): Handle CGEN_BI_WRITE.

Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

	* aclocal.m4 (WERROR_CFLAGS, WARN_CFLAGS): Merge from
 	../gdb/configure.in.
	* Make-common.in (WERROR_CFLAGS, WARN_CFLAGS): Define.
	(SIM_WERROR_CFLAGS, SIM_WARN_CFLAGS): Define.
	(SIM_WARNINGS): Delete
	(CONFIG_CFLAGS): Update.

Tue Aug 31 16:01:42 1999  Dave Brolley  <brolley@cygnus.com>

	* cgen-par.c: New file.
	* cgen-par.h: New file.
	* cgen-sim.h (cgen-par.h): #include it.
	* cgen-cpu.h (write_queue): New field.
	(CPU_WRITE_QUEUE): New access macro.
	* Make-common.in (CGEN_MAIN_CPU_DEPS): Add cgen-par.h.
	(cgen-par.o): New target.

1999-08-28  Doug Evans  <devans@casey.cygnus.com>

	* cgen-types.h (mode_type,MODE_VOID): Renamed from MODE_VM.
	* cgen-utils.c (mode_names): Update.

1999-08-20  Doug Evans  <devans@casey.cygnus.com>

	* genmloop.sh: New args -parallel-generic-write, -parallel-only.
	* cgen-engine.h (SEMANTIC_FN): Don't use version with PAREXEC
	buffer arg if WITH_PARALLEL_GENWRITE.
	(struct insn_sem): Handle WITH_PARALLEL_GENWRITE.
	(struct idesc): Ditto.

Wed Aug 18 18:17:28 1999  Doug Evans  <devans@canuck.cygnus.com>

	* sim-model.c (model_option_handler): Add \n to error message.

1999-08-08  Doug Evans  <devans@casey.cygnus.com>

	* cgen-engine.h (SEM_FN_NAME,SEMF_FN_NAME): Delete.
	(insn_sem): Rewrite.
	(sem_fn_desc): New struct.
	(idesc): Rewrite.
	* genmloop.sh (scache case,@cpu@_scache_lookup): Profile scache hit,
	misses if ! FAST_P.
	(scache case): Split into non-parallel/parallel versions.
	(@cpu@_engine_run_{full,fast}): Call @cpu@_{sem,semf}_init_idesc_table
	if not use semantic switch version.

1999-08-04  Doug Evans  <devans@casey.cygnus.com>

	* cgen-defs.h (SEM_BRANCH_TYPE): New enum.
	* cgen-engine.h (SEM_BRANCH_UNTAKEN,SEM_BRANCH_UNCACHEABLE): Delete.
	(SEM_BRANCH_INIT_EXTRACT): Delete.
	(SEM_BRANCH_INIT): Replace npc_ptr with br_type.
	(SEM_BRANCH_FINI): Ditto.
	(SEM_BRANCH_VIA_ADDR): Ditto.
	(SEM_BRANCH_VIA_CACHE): Ditto.  Delete cachvarptr arg.
	(SEM_BRANCH_ADDR_CACHE): Delete.
	(SEM_SKIP_COMPILE,SEM_SKIP_INSN): New macros.
	* cgen-scache.h (cpu_scache): Replace member pbb_pr_npc_ptr with
	pbb_br_type.
	* genmloop.sh (eng.hin): Update prototype of ${cpu}_pbb_cti_chain.
	(@cpu@_pbb_begin): Initialize branch_target.
	(@cpu@_pbb_cti_chain): Replace arg new_vpc_ptr with br_type.
	(@cpu@_engine_run_full): Replace local pbb_br_npc_ptr with
	pbb_br_type.
	(@cpu@_engine_run_fast): Ditto.

Fri Jul 16 14:47:53 1999  Dave Brolley  <brolley@cygnus.com>

	* cgen-utils.c (RORSI): New function.
	(ROLSI): New function.

1999-07-14  Doug Evans  <devans@casey.cygnus.com>

	* Makefile.in (TAGS): Tweak TAGS regex.
	* cgen-mem.h (*): Add TAGS markers.

Sun Jul 11 23:47:20 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-resume.c (sim_resume): Ensure that the siggnal [sic] is only
 	passed in when sim_resume is first entered - don't re-pass it
 	after a restart.
	
Sun Jul 11 23:34:44 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-options.c (standard_option_handler): Add OPTION_LOAD_VMA and
 	OPTION_LOAD_LMA but only when is defined.
	(standard_options): When SIM_HANDLES_LMA is defined include
 	options --load-lma and --load-vma.
	(standard_install): Initialize STATE_LOAD_AT_LMA_P.

	* sim-base.h (STATE_LOAD_AT_LMA_P): Define.
	(struct sim_state_base): Add load_at_lma_p.
	* sim-hload.c (sim_load): Replace SIM_HANDLES_LMA with
 	STATE_LOAD_AT_LMA_P.

Sun Jul 11 12:03:36 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* nrun.c (main): Re-format loop gnu style.

Wed Jul  7 19:56:03 1999  Andrew Cagney  <cagney@b1.cygnus.com>

	* dv-sockser.c (connected_p): Initialize addrlen.

1999-07-06  Dave Brolley  <brolley@cygnus.com>

	* cgen-accfp.c (floatsidf): New function.
	(fixdfsi): New function.

1999-07-06  Doug Evans  <devans@casey.cygnus.com>

	* sim-model.c (sim_model_init): Issue error if machine is unsupported.

1999-07-05  Doug Evans  <devans@casey.cygnus.com>

	* Make-common.in (CGEN_MAIN_CPU_DEPS): Add cgen-fpu.h.
	(cgen-fpu.o,cgen-accfp.o): Add rules for.
	* cgen-fpu.c: New file.
	* cgen-fpu.h: New file.
	* cgen-accfp.c: New file.
	* cgen-cpu.h (CGEN_CPU): New member fpu.
	* cgen-mem.h: Redo fp support.
	* cgen-ops.h: Delete k&r support.  Redo fp support.
	* cgen-sim.h: Include cgen-fpu.h.
	* cgen-types.h (SF,DF,XF,TF): Moved to cgen-fpu.h.

1999-06-23  Doug Evans  <devans@casey.cygnus.com>

	* cgen-engine.h (TARGET_SEM_BRANCH_FINI): Remove cruft at end of
	ifndef.
	* genmloop.sh (@cpu@_scache_lookup): Delete unused local var.
	(@cpu@_pbb_cti_chain): Minor clean up.

1999-05-08  Felix Lee  <flee@cygnus.com>

        * aclocal.m4: Use AC_EXEEXT instead of AM_EXEEXT.  Delete defn of
        AM_CYGWIN32 and AM_EXEEXT.
	* configure: Regenerate.
	
Fri Apr 16 16:43:22 1999  Doug Evans  <devans@charmed.cygnus.com>

	* sim-core.c (device_error,device_io_read_buffer,
	device_io_write_buffer): Delete decls.
	* sim-core.h: Put them here.

	* sim-core.c (sim_core_read_buffer): Pass sd to device_io_read_buffer.
	(sim_core_write_buffer): Pass sd to device_io_write_buffer.
	* sim-n-core.h (sim_core_read_aligned_N): Ditto.
	(sim_core_write_aligned_N): Ditto.

1999-04-14  Stephane Carrez  <stcarrez@worldnet.fr>

	* sim-memopt.c (sim_memory_uninstall): Don't look into
	free()d memory.

1999-04-14  Doug Evans  <devans@casey.cygnus.com>

	* cgen-utils.scm (virtual_insn_entries): Update attribute definition.

1999-04-13  Doug Evans  <devans@casey.cygnus.com>

	* sim-core.c (sim_core_read_buffer): Handle NULL cpu when WITH_DEVICES.
	(sim_core_write_buffer): Ditto.

1999-04-02  Keith Seitz  <keiths@cygnus.com>

	* sim-io.c (sim_io_poll_quit): Only call the poll_quit callback
	after the interval counter has expired.
	(POLL_QUIT_INTERVAL): Define. Used to tweak the frequency of
	poll_quit callbacks. May be overridden by Makefile.
	(poll_quit_counter): New global.
	* sim-events.c: Remove all mentions of ui_loop_hook. The
	host callback "poll_quit" will serve the purpose.
	* run.c: Add definition of ui_loop_hook when NEED_UI_LOOP_HOOK
	is defined.
	* nrun.c: Remove declaration of ui_loop_hook.

Wed Mar 31 18:55:41 1999  Doug Evans  <devans@canuck.cygnus.com>

	* cgen-run.c (sim_resume): Don't tell main loop to run "forever"
	if being used by gdb.

1999-03-22  Doug Evans  <devans@casey.cygnus.com>

	* cgen-types.h (XF,TF): Tweak.
	* cgen-ops.h: Redo inline support.  Delete DI_FN_SUPPORT,
	in cgen-types.h.
	(SUBWORD*,JOIN*): Define.
	* cgen-trace.c (sim_cgen_disassemble_insn): Update, base_insn_bitsize
	moved into cpu descriptor.
	* sim-model.h (MACH): New member `num'.

1999-02-09  Doug Evans  <devans@casey.cygnus.com>

	* cgen-cpu.h (CGEN_DISASSEMBLER): New type.
	(CGEN_CPU): Member opcode renamed to cpu_desc.
	New members get_idata,disassembler.
	* cgen-defs.h (CGEN_INSN_VIRTUAL_P): CGEN_INSN_ATTR renamed to
	CGEN_INSN_ATTR_VALUE.
	(CGEN_STATE): Delete member opcode_table.
	(sim_disassemble_insn): Delete decl.
	* cgen-engine.h (struct insn_sem): Moved to here from <cpu>-decode.c.
	(struct idesc): Moved to here from <cpu>-decode.h.
	* cgen-run.c (prime_cpu): Call prepare_run callback.
	* cgen-trace.h (SFILE): New type.
	(sim_disasm_sprintf): Declare.
	(sim_disasm_read_memory,sim_disasm_perror_memory): Declare.
	(sim_cgen_disassemble_insn): Declare.
	* cgen-trace.c: Include errno.h,dis-asm.h.  Don't include cpu-opc.h.
	(insn_fields): Delete.
	(trace_insn_fini): STATE_OPCODE_TABLE (sd) replaced with
	CPU_CPU_DESC (cpu).
	(trace_insn): Call CPU_DISASSEMBLER hook.
	(sim_disasm_sprintf): New function.
	(sim_disasm_read_memory): New function.
	(sim_disasm_perror_memory): New function.
	(sim_cgen_disassemble_insn): New function.
	* cgen-utils.c: Don't include cpu-opc.h.
	(virtual_insn_entries): New static local.
	(cgen_virtual_insn_table): Renamed from cgen_virtual_opcode_table.
	(cgen_insn_name): Rewrite.
	(disasm_sprintf,sim_disassemble_insn): Moved to cgen-trace.c.
	* cgen.sh (desc): New file generator handler.
	* genmloop.sh: -parallel changed to -parallel-read/-parallel-write.
	Define WITH_PARALLEL_READ/WITH_PARALLEL_WRITE appropriately.
	Don't include cpu-opc.h,cpu-sim.h.
	* sim-model.c (model_set): Delete SIM_DESC arg.
	(sim_model_set): Update.
	* sim-model.h (MACH): New member prepare_run.

1999-01-28  Frank Ch. Eigler  <fche@cygnus.com>

	* sim-memopt.c (memory_option_handler): Avoid memset() calls
	if redundant with allocator functions.

Wed Jan 27 17:19:09 1999  Doug Evans  <devans@canuck.cygnus.com>

	* cgen-engine.h (EXTRACT_LSB0_{INT,UINT}): Fix.

	* sim-profile.h: Make like sim-trace.h.
	(PROFILE_USEFUL_MASK): New macro.
	* sim-profile.c (profile_options): Make like trace_options, allow
	optional on|off arg where applicable.
	(set_profile_option_mask): New function.
	(sim_profile_set_option): New function.
	(profile_option_handler): Simplify.
	Have -p only enable selected things, not everything.
	Add missing break to OPTION_PROFILE_PC_RANGE.
	* cgen-scache.c (scache_options): Allow optional on|off arg to
	--profile-scache.
	(scache_option_handler): Use sim_profile_set_option.

1999-01-26  Frank Ch. Eigler  <fche@cygnus.com>

	* sim-memopt.c (memory_options): Add MEMORY_FILL option.
	(memory_option_handler): Implement MEMORY_FILL option.  Make
 	MEMORY_CLEAR an alias for MEMORY_FILL=0.
	(parse_ulong_value): New function.
	(do_memopt_add): Allocate all buffers.  Optionally fill them.

1999-01-15  Richard Henderson  <rth@cygnus.com>

	* hw-events.c (hw_event_queue_schedule): _vtracef takes a
	va_list, not an integer.
	* sim-events.c (sim_events_schedule): Likewise.

	* sim-types.h (UNSIGNED32, UNSIGNED64): Properly cast to 
	the appropriate type.

1999-01-14  Doug Evans  <devans@casey.cygnus.com>

	* cgen-defs.h (PCADDR,CIA): Define in terms of IADDR.
	(sim_disassemble_insn): Update prototype.
	(sim_engine_invalid_insn): Ditto.
	* cgen-engine.h (SEMANTIC_FN): Add !WITH_SCACHE version.
	(SEM_BRANCH_INIT): PCADDR->IADDR.
	(SEM_NBRANCH_FINI): New macro for !WITH_SCACHE case.
	* cgen-scache.c (scache_lookup,scache_lookup_or_alloc): PCADDR->IADDR.
	* cgen-scache.h (*): Ditto.
	* cgen-trace.c (*): Ditto.
	* cgen-trace.h (*): Ditto.
	* cgen-utils.c (*): Ditto.
	* cgen-types.h (integer modes): Use signedNN/unsignedNN types.
	(insn_t): Delete.
	* genmloop.sh (@cpu@_fill_argbuf): Add !WITH_SCACHE support.
	(simple engine framework): Rewrite.
	* sim-module.c (modules): Install model module sooner (and in
	particular before the profile module).

1999-01-12  Doug Evans  <devans@casey.cygnus.com>

	* sim-model.h (sim_mach_lookup_bfd_name): Add prototype.
	* sim-model.c (sim_mach_lookup_bfd_name): New function.
	(sim_model_init): Call it.

	* cgen-trace.c (trace_insn): Pass pc to trace_prefix for virtual insns.

1999-01-05  Doug Evans  <devans@casey.cygnus.com>

	* Make-common.in (CGEN_INCLUDE_DEPS): Add cgen-defs.h, cgen-engine.h.
	* cgen-engine.h (SEM_BRANCH_FINI): New arg pcvar, all uses updated.
	(SEM_BRANCH_INIT_EXTRACT): New macro.
	(SEM_BRANCH_INIT): Add taken_p.
	(TARGET_SEM_BRANCH_FINI): Provide default definition.
	(SEM_BRANCH_FINI): Use it.
	(SEM_INSN): Update.
	* cgen-run.c (sim_resume): Handle tracing of last insn.
	* cgen-scache.h (WITH_SCACHE): Define as 0 if not defined.
	* cgen-trace.c (current_abuf): New static global.
	(trace_insn_init): Initialize it.
	(trace_insn_fini): Use it.
	(trace_insn): Set it.
	* cgen.sh (arch case): Pass -m ${mach} to cgen.
	* genmloop.sh (@cpu@_emit_before): Only define if WITH_SCACHE_PBB.
	(@cpu@_emit_after): Ditto.
	(simple @cpu@_engine_run_full): New local `pc'.  Initialize semantic
	labels if WITH_SEM_SWITCH_FULL.
	* sim-model.c: Include bfd.h.
	(sim_model_init): New function.
	(sim_model_install): Record init fn.
	* sim-model.h (MACH): New member bfd_name.
	* sim-module.c (modules): Initialize model before scache.

1998-12-24  Frank Ch. Eigler  <fche@cygnus.com>

	* dv-sockser.c (DEFAULT_TIMEOUT): Increase to 1 ms.
	
	* nrun.c (main): Remain in simulation loop for traps and
 	exceptions when in operating environment mode.
	(ui_loop_hook): New stub hook for standalone use.
	* sim-events.c (sim_events_process): Call ui_loop_hook
	periodically on CYGWIN host.

	* sim-reason.c (sim_stop_reason): Return host signal numbers
	to gdb on sim_stopped and sim_signalled cases.
	* sim-engine.c (sim_engine_halt): Call SIM_CPU_EXCEPTION_SUSPEND
 	hook just before longjmp.
	* sim-resume.c (sim_resume): Call SIM_CPU_EXCEPTION_RESUME
 	hook just before sim_engine_run.

	* sim-n-core.h (sim_core_trace_M): Allay const warning.
	* sim-trace.h (trace_generic): Ditto.
	* sim-trace.c (trace_generic): Ditto.
	
1998-12-14  Doug Evans  <devans@casey.cygnus.com>

	* Make-common.in (SIM_MAIN_DEPS): New var.
	(CGEN_MAIN_CPU_DEPS): New var.
	* aclocal.m4: Add --enable-cgen-maint option.
	* cgen-mem.h (GETMEM*): New arg `pc'.  Pass to sim_core routine.
	(SETMEM*): Ditto.
	(GETIMEM*): Pass pc value to sim_core routine.

Fri Dec 11 16:58:36 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-handles.c (hw_handle_add_ihandle, hw_handle_add_phandle):
 	Compare with ZERO not NULL.

Thu Dec 10 14:14:39 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-properties.c, hw-instances.c, hw-tree.c: Include
 	"sim-assert.h".

1998-12-09  Doug Evans  <devans@casey.cygnus.com>

	* sim-arange.c: Include libiberty.h, and stdlib.h if present.
	* sim-trace.c: Include stdlib.h if present.
	* dv-sockser.c: Include unistd.h if present.
	(dv_sockser_init): Add missing arg to call to sim_io_eprintf.
	* cgen-scache.c (scache_flush): Delete unused locals i,sc.

1998-12-08  James E Wilson  <wilson@wilson-pc.cygnus.com>

	* gennltvals.sh: Add i960.
	* nltvals.def: Rebuild.

1998-12-04  Doug Evans  <devans@casey.cygnus.com>

	* cgen-defs.h: New file, old cgen-sim.h.
	* cgen-sim.h: Simple header that includes others.
	* sim-arange.c: New file.
	* sim-arange.h: New file.
	* sim-basics.h: Include it.
	* Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-arange.o.
	(sim-arange.o): Add rule for.
	* sim-cpu.h (sim_cpu_msg_prefix): Add prototype.
	(sim_io_eprintf_cpu): Add prototype.
	* sim-inline.h (HAVE_INLINE): Define if GNUC.
	(INLINE2): New macro.
	(EXTERN_INLINE): New macro.
	* sim-module.c (sim_post_argv_init): Initialize cpu backlink
	before calling module init fns.
	* sim-profile.c (OPTION_PROFILE_*): Move into enum.
	(profile_init): New function.
	(profile_options): New option --profile-range.
	(profile_option_handler): Handle --profile-range.
	(profile_print_insn): Qualify address range specific section titles.
	(profile_print_addr_ranges): New function.
	(profile_info): Print address ranges if specified.
	(profile_install): Set profile_init init fn.
	* sim-profile.h (PROFILE_DATA): New member `range'.
	* sim-trace.c (trace_init): New function.
	(trace_options): New option --trace-range.
	(trace_option_handler): Handle --trace-range.
	(trace_install): Set trace_init init fn.
	* sim-trace.h (TRACE_DATA): New member `range'.
	* sim-utils.c (sim_cpu_msg_prefix): New function.
	(sim_io_eprintf_cpu): New function.
	* cgen-engine.h (PC_IN_TRACE_RANGE_P): New macro.
	(PC_IN_PROFILE_RANGE_P): New macro.
	* cgen-trace.c (trace_insn_init): Set current_insn to NULL.
	(trace_insn_fini): New arg abuf.  All callers updated.
	Exit early if trace_insn not called.  Check ARGBUF_PROFILE_P before
	printing cycle counts.
	* cgen-trace.h (trace_insn_fini): Update prototype.
	(TRACE_RESULT_P): New macro.
	(TRACE_INSN_INIT,TRACE_INSN_FINI): New arg abuf.  All callers updated.
	(TRACE_INSN): Check ARGBUF_TRACE_P.
	(TRACE_EXTRACT,TRACE_RESULT): New arg abuf.  All callers updated.
	* cgen-types.h (SIM_INLINE): Delete.
	(SIM_HAVE_MODEL,SIM_HAVE_ADDR_RANGE): Define.
	* cgen-utils.c: Don't include cgen-engine.h
	* genmloop.sh (@cpu@_fill_argbuf): New function.
	(@cpu@_fill_argbuf_tp): New function.
	(@cpu@_emit_before,@cpu@_emit_after): New functions.
	(@cpu@_pbb_begin): Prefix cti_sc,insn_count with '_'.
	(SET_CTI_VPC,SET_INSN_COUNT): Update.
	(@cpu@_pbb_before): Check ARGBUF_PROFILE_P before calling
	doing profiling.  Update call to TRACE_INSN_INIT,TRACE_INSN_FINI.
	(@cpu@_pbb_after): Check ARGBUF_PROFILE_P before calling
	doing profiling. Update call to TRACE_INSN_FINI.

	* sim-memopt.c (sim_memory_uninstall): Result type is `void'.

1998-12-03  Frank Ch. Eigler  <fche@cygnus.com>

	* sim-memopt.c (sim_memory_uninstall): Deallocate all memory
 	regions.

1998-12-01  Doug Evans  <devans@casey.cygnus.com>

	* sim-inline.c (SIM_INLINE_P): Fix typo.

1998-11-30  Doug Evans  <devans@casey.cygnus.com>

	* cgen-utils.c (cgen_virtual_opcode_table): Update.

Tue Nov 24 18:40:03 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* gennltvals.sh: Add v850 and d10v. Sort alphabetically.
	* nltvals.def: Re-generate.

Mon Nov 23 13:28:38 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (reverse_n, sim_core_uninstall, sim_core_init,
 	sim_core_map_attach, sim_core_map_detach, next_event_queue,
 	new_sim_core_mapping): Only define when EXTERN_SIM_CORE_P, pacify
 	GCC.
	* sim-events.c (sim_events_uninstall, sim_events_suspend,
 	sim_events_resume, sim_events_zalloc, insert_sim_event): Ditto.

1998-11-22  Doug Evans  <devans@tobor.to.cygnus.com>

	* genmloop.sh (${cpu}_pbb_chain): Watch for Ctrl-C's.
	(${cpu}_pbb_cti_chain): Ditto.

1998-11-18  Doug Evans  <devans@casey.cygnus.com>

	* Make-common.in (cgen-utils.o): Depend on cgen-engine.h.
	* cgen-engine.h (EXTRACT_[ML]SB0_{INT,UINT}): New macros.
	(EXTRACT_INT,EXTRACT_UINT): New macros.
	(SEM_SEM_ARG): New macro.
	(SEM_NEXT_VPC): New arg `pc'.
	* cgen-sim.h (EXTRACT_SIGNED,EXTRACT_UNSIGNED): Delete.
	(sim_disassemble_insn): Update prototype.
	* cgen-trace.c (current_insn,insn_fields): New static locals.
	(trace_insn): Set them.
	* cgen-utils.c: #include cgen-engine.h.
	(sim_disassemble_insn): New arg insn_fields.
	Handle variable length insns.
	* genmloop.sh: Only emit pbb decls if -pbb.
	(${cpu}_scache_lookup): New arg `vpc'.
	(scache support): Fetch pc before entering loop.

	* gennltvals.sh: Add fr30 support.
	* nltvals.def: Rebuild.

Wed Nov 18 10:22:22 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-types.h: Re-do type system so that GCC's attribute and mode
 	are used to specify types.  Handle case of ALPHA.

1998-11-13  Frank Ch. Eigler  <fche@elastic.org>
	
	* aclocal.m4: Add tests for dlopen family.
	* config.in: Regenerated.
	
Wed Nov 11 14:02:25 1998  Doug Evans  <devans@canuck.cygnus.com>

	* sim-hload.c (sim_load): Pass `prog_name' to sim_load_file, not NULL.

Wed Nov  4 23:51:19 1998  Doug Evans  <devans@seba.cygnus.com>

	* genmloop.sh (eng.hin): Rename HAVE_PARALLEL_EXEC to
	HAVE_PARALLEL_INSNS, define as 0 or 1.  Emit decls of fns in mloop.cin.
	* cgen-engine.h: Typedefs of IADDR,CIA,SEM_ARG,SEM_PC moved ...
	* cgen-sim.h: ... to here.

Wed Oct 28 12:00:57 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (enable-build-warnings): Replace
 	enable-sim-warnings. Extend =LIST syntax so that prepend and
 	append of options is possible.  Drop -Werror, add
 	-Wstrict-prototypes for GDB compatibility.
	* Make-common.in (SIM_WARNINGS): Update.

Mon Oct 19 13:56:32 1998  Doug Evans  <devans@seba.cygnus.com>

	* Make-common.in (CGEN_INCLUDE_DEPS): Define.
	(sim-core.o): Delete duplicate dependence on $(SIM_EXTRA_DEPS).
	(sim-cpu.o,sim-endian.o,sim-hw.o): Ditto.
	(cgen-run.o,cgen-scache.o,cgen-trace.o,cgen-utils.o): Delete
	explicit cgen header dependencies, require SIM_EXTRA_DEPS to include
	CGEN_INCLUDE_DEPS.
	* cgen-cpu.h: New file.
	* cgen-engine.h: New file.
	* cgen-scache.h: New file.
	* cgen-sim.h: Delete portions moved to new files.
	* genmloop.sh: Generate two files eng.hin,mloop.cin explicitly,
	rather than sending result to stdout.

Fri Oct  9 14:20:22 1998  Doug Evans  <devans@seba.cygnus.com>

	* Make-common.in (sim-reg.o): New rule.
	(cgen-run.o): New rule.
	* cgen-ops.h: Delete many BI macros.  Change all UBI -> BI.
	* cgen-run.c (prime_cpu): New function.
	* cgen-scache.c: Add pseudo-basic-block (pbb) scaching support.
	(scache_option_handler, case OPTION_PROFILE_SCACHE): Handle explicitly
	mentioned cpu.
	(scache_flush_cpu,scache_lookup,scache_lookup_or_alloc): New fns.
	* cgen-sim.h (CGEN_INSN_VIRTUAL_TYPE): New enum.
	(CGEN_INSN_VIRTUAL_P): New macro.
	(SEM_PC): New typedef.
	(SEMANTIC_FN): Change type of result to SEM_PC.
	(SEM_SET_FULL_CODE,SEM_SET_FAST_CODE,SEM_SET_CODE): New macros.
	(IDESC_CTI_P,IDESC_SKIP_P): New macros.
	(SCACHE_MAP): New typedef.
	(CPU_SCACHE): Add pbb support.
	(scace_lookup,scache_lookup_or_alloc,scache_flush_cpu): Declare.
	(SEM_BRANCH_INIT_EXTRACT,SEM_BRANCH_INIT,SEM_BRANCH_FINI): New macros.
	(CGEN_CPU): New members running_p,insn_count,{fast,full}_engine_fn,
	max_slice_insns.
	(INSN_NAME): Delete.
	(cgen_insn_name): Declare.
	(sim_engine_invalid_insn): Renamed from sim_engine_illegal_insn.
	* cgen-trace.c (trace_buf): Shrink from 1024 to 256 bytes.
	(first_insn_p): Make static.
	(trace_insn): Handle virtual insns specially.
	(cgen_trace_printf): Ensure we haven't overflowed the buffer.
	* cgen-types.h (UBI): Delete.
	(MODE_TYPE): New enum.
	(HOSTINT,HOSTUINT,HOSTPTR): Delete.
	* cgen-utils.c (mode_names): Delete UBI.  Add INT,UINT,PTR.
	(cgen_virtual_opcode_table): New global.
	(cgen_insn_name): New function.
	(sim_disassemble_insn): Ignore virtual insns.
	* genmloop.sh: Delete top level loop generation.  Add pbb support.
	* sim-cpu.h (CPU_INSN_NAME_FN): New typedef.
	(sim_cpu_base): New members max_insns,insn_name,model_data.
	(CPU_PC_GET,CPU_PC_SET): New macros.
	(sim_pc_get,sim_pc_set): Declare.
	* sim-model.c (model_set): Call model init fn.
	* sim-model.h (MODEL_FN): New typedef.
	(INSN_TIMING): New member model_fn.
	(MODEL): New members num,init.
	* sim-profile.c (sim_profile_print_bar): Renamed from print_bar.
	All callers updated.
	(profile_insn_init): New fn.
	(profile_print_insn): Update, INSN_NAME -> CPU_INSN_NAME.
	Exit early if insn profiling not supported.
	(profile_print_memory): Update, MAX_MODES -> MODE_TARGET_MAX.
	(profile_install): Record profile_insn_init as init fn.
	(profile_uninstall): Free PROFILE_INSN_COUNT if non-null.
	* sim-profile.h: Update, MAX_MODES -> MODE_TARGET_MAX.
	(PROFILE_DATA): Delete member exec_time.
	Change insn_count to pointer to array, rather than the array.
	(sim_profile_print_bar): Declare.

Wed Oct  7 16:56:42 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-run.c: New file.
	* sim-reg.c: New file.

Mon Sep 14 10:58:19 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* aclocal.m4: Add checks for -lsocket and -lnsl.

	* dv-sockser.c (dv_sockser_init): Use SO_REUSEADDR to
	allow local port reuse on listening socket.

Tue Sep  1 15:36:52 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* sim-config.h: Remove reference to linux kernel header.

Tue Aug 25 12:45:27 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* dv-sockser.c (sockser_addr): Make variable non-static.

Mon Aug 24 11:47:37 1998  Joyce Janczyn  <janczyn@cygnus.com>

	* sim-hw.{c,h} (sim_hw_parse): Return struct hw pointer.

Tue Aug 11 18:12:19 1998  Doug Evans  <devans@canuck.cygnus.com>

	* sim-events.c (sim_events_elapsed_time): Fix calculation.

Tue Aug  4 20:36:46 1998  Jeff Holcomb  <jeffh@cygnus.com>

	* Make-common.in (install-common): Add $(EXEEXT) when installing
	run.

Mon Aug  3 11:46:01 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-sim.h (cgen_state): New member opcode_table.
	* cgen-utils.c (sim_disassemble_insn): Use it.

Fri Jul 24 10:14:18 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cgen-mem.h (DECLARE_SETT): Fix return type.
	* cgen-sim.h (sim_engine_illegal_insn): Declare.
	* cgen-scache.c: Include stdlib.h.
	* cgen-trace.c (trace_extract): Use %lx for PCADDR.
	* sim-model.c (model_option_handler): Remove unused variable `n'.

Tue Jul 21 16:27:43 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-utils.c: Include bfd.h.
	(sim_disassemble_insn): Update call to CGEN_EXTRACT_FN.

Wed Jul  8 18:24:10 1998  Jeffrey A Law  (law@cygnus.com)

	* sim-bits.h (EXTEND24): Fix typo.

Wed Jul  8 17:41:47 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (ETRACE_P): New macro.
	(struct _sim_event): Add member trace.
	(sim_events_free): Reclaim trace message.

	* sim-events.c, sim-events.h (sim_events_schedule_vtracef,
 	sim_events_schedule_tracef): New functions, include printf trace
 	information in argument list.  If tracing, store asprintf'd trace
 	message in sim_event.

	* hw-events.c, hw-events.h (hw_event_queue_schedule_tracef,
 	hw_event_queue_schedule_vtracef): New functions, mimic
 	sim_event_tracef.

Mon Jul  6 15:51:14 1998  Jeffrey A Law  (law@cygnus.com)

	* sim-bits.h (EXTEND24): Define.

Thu Jul  2 17:13:25 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-sim.h (CPU_SCACHE): Make size unsigned.
	(CPU_SCACHE_HASH_MASK): New macro.
	(SCACHE_HASH_PC): Rewrite.
	* genmloop.sh (engine_resume_{full,fast}): Move some of hash
	computation out of main loop.

Wed Jul  1 16:44:12 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-sim.h (RECORD_IADDR): Delete.
	* cgen-types.h (HOSTINT,HOSTUINT,HOSTPTR): New types.
	* genmloop.sh (engine_resume_{full,fast}): Delete icount.

Wed Jun 17 12:25:08 1998  Mark Alexander  <marka@cygnus.com>

	* gennltvals.def (mn10200): Add entry.
	* nltvals.def: Regenerate with MN10200 additions.

Wed Jun 17 13:18:28 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-inline.h (EXTERN_*): Replace with EXTERN_*_P. Correct
 	documentation on how it works.

	* sim-core.h, sim-core.c (sim_core_install, sim_core_attach,
 	sim_core_detach, sim_core_read_buffer, sim_core_write_buffer,
 	sim_core_set_xor, sim_core_xor_read_buffer,
 	sim_core_xor_write_buffer): Update.

	* sim-events.h, sim-events.c (sim_events_install,
 	sim_events_watch_clock, sim_events_schedule_after_signal,
 	sim_events_schedule, sim_events_watch_sim, sim_events_watch_core,
 	sim_events_deschedule): Update.

	* sim-fpu.h, sim-fpu.c (sim_fpu_zero, sim_fpu_one, sim_fpu_two,
 	sim_fpu_max32, sim_fpu_max64): Update.

Sat Jun 13 07:45:38 1998  Doug Evans  <devans@fallis.cygnus.com>

	* cgen-trace.c (trace_insn_fini): Redo cycle handling.
	* sim-profile.h (PROFILE_DATA): Rename cycle handling members.
	* sim-profile.c (profile_print_model): Update.

Fri Jun 12 18:35:07 1998  Doug Evans  <devans@seba.cygnus.com>

	* gennltvals.def (m32r): Use common syscall.h now.
	(mn10300): Add entry.
	* nltvals.def: Regenerate.

	* sim-engine.c (sim_engine_get_run_state): New function.
	* sim-engine.h (sim_engine_get_run_state): Declare it.

Thu Jun 11 00:50:03 1998  Doug Evans  <devans@seba.cygnus.com>

	* sim-core.h (SIM_CORE_SIGNAL_FN): New typedef.
	* sim-core.c (sim_core_signal): Make extern, always define.

Wed Jun 10 16:02:29 1998  Doug Evans  <devans@seba.cygnus.com>

	* Make-common.in (CGEN_FLAGS_TO_PASS): New variable.
	* cgen-ops.h (ANDIF): New macro.
	(ANDIF[BQHSD]I): Delete.

Thu Jun  4 13:53:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-events.c (create_hw_event, delete_hw_event): Delete.
	(hw_event_queue_schedule, hw_event_queue_deschedule,
 	bounce_hw_event): Fix hw-event memory corruptions found by Joyce
 	Janczyn.

	* hw-alloc.h (HW_NZALLOC): Define.

	* Make-common.in (test-hw-events): Add target for testing the
 	hw-event code.

Mon May 25 21:11:26 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* Make-common.in (SIM_COMMON_HW_OBJS): Add hw-handles.o and
 	hw-instances.o.
	hw-handles.c, hw-instances.c, hw-handles.h, hw-instances.h: New
 	files.
	* hw-main.h: Include hw-handles.h, hw-instances.h.
	* hw-base.h ({create,delete}_hw_{handles,instances}_data): Declare
	* hw-base.c (hw_create, hw_delete): Call same.
	
Mon May 25 18:55:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* dv-core.c: Include hw-main.h and sim-main.h.
	* dv-pal.c: Include hw-main.h and sim-io.h.
	* dv-glue.c: Include hw-main.h.

	* hw-main.h: New file.  Move list of includes to here.
	* hw-base.h: From here.
	* Make-common.in (hw_base_headers): Rename to hw_main_headers.
	(hw-*.o, dv-*.o): Update.
	* hw-tree.c, hw-base.c, hw-properties.c, hw-ports.c, hw-device.c,
 	hw-events.c, hw-alloc.c, sim-hw.c: Include hw-main.h instead of
 	sim-main.h.

	* hw-base.h (do_hw_attach_regs, do_hw_poll_read_method,
 	do_hw_poll_read): Move declarations from here.
	* hw-main.h: To here.
	
	* hw-base.h (struct hw_device_descriptor, hw_finish_callback):
 	Move from here.
	* hw-main.h (struct hw_descriptor, hw_finish_method): To here,
 	rename.
	* Make-common.in (hw-config.h): Update
	* hw-base.c, dv-pal.c, dv-glue.c: Update

	* dv-glue.c, hw-device.h, hw-base.h, hw-ports.c: Rename
 	`*_callback' to `*_method.

Mon May 25 18:41:18 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-base.h (set_*): Move set method macros from here.
	* hw-device.h: To here.

Mon May 25 18:21:38 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-base.h (create_hw_property_data, delete_hw_property_data):
 	Declare.

	* hw-base.c (hw_create, hw_delete): Call
	* hw-properties.c (create_hw_property_data,
 	delete_hw_property_data): Define.
	
Mon May 25 17:40:46 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-device.c, hw-properties.c: Include hw-base.h

	* hw-alloc.h, hw-alloc.c: New files. Move alloc code to here.
	* hw-device.c: From here.
	* hw-base.h: Include "hw-events.h".

	* hw-base.h (create_hw_alloc_data, delete_hw_alloc_data): Declare.
	* hw-base.c (hw_create, hw_delete): Call.
	* hw-alloc.c (create_hw_alloc_data, delete_hw_alloc_data): Define.

	* Make-common.in (SIM_NEW_COMMON_OBJS): Add hw-alloc.o.
	(hw-alloc.o): New target.
	
Mon May 25 17:14:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-events.h, hw-events.c: New files.  Move event code to here.
  	* sim-hw.c: From here.
	* hw-base.h: Include "hw-events.h".
	* Make-common.in (SIM_NEW_COMMON_OBJS): Add hw-events.o.
	(hw-events.o): New target.

	* hw-device.h (struct hw): Add struct hw_event_data events_of_hw.
	* hw-events.h (struct hw_event): Replace typedef hw_event.
	
	* hw-base.h (create_hw_event_data, delete_hw_event_data): Declare.
	* hw-base.c (hw_create, hw_delete): Call.
	* hw-events.c (create_hw_event_data, delete_hw_event_data): Define.

	* dv-pal.c: Update.

Mon May 25 16:55:16 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-base.c (panic_hw_port_event, empty_hw_ports): Move from here.
  	* hw-ports.c: To here.
	
	* hw-base.h, hw-ports.c (create_hw_port_data,
 	delete_hw_port_data): New functions.
	* hw-base.c (hw_delete, hw_create): Call same.
	
	* hw-base.h (set_hw_ports, set_hw_port_event): Move set functions
 	from here.
  	* hw-ports.h: To here.

Mon May 25 16:42:48 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-device.c (hw_ioctl), hw-device.h (hw_ioctl_callback): Drop
 	PROCESSOR and CIA arguments.

Fri May 22 12:16:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (SIM_AC_OPTION_HW): Add enable / disable argument.
  	Move common object files from here.
	* Make-common.in (SIM_COMMON_HW_OBJS): To here.
	
Thu May 21 17:57:16 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-hw.c: Include ctype.h.
	(do_hw_poll_read): Do not assume EAGAIN.

Wed May 20 04:37:57 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-trace.c (first_insn_p): New static local.
	(trace_insn_init): Set it.
	(trace_insn_fini): Use TRACE_PREFIX.
	(trace_insn): Rewrite to use trace_prefix.
	* sim-trace.c (trace_prefix): Don't print filename arg if NULL.
	Adjust width accordingly.

	* sim-profile.h (PROFILE_DATA): New member profile_any_p.
	(PROFILE_ANY_P,PROFILE_INSN_P,PROFILE_MEMORY): New macros.
	(PROFILE_SCACHE_P,PROFILE_PC_P,PROFILE_CORE_P): New macros.
	(PROFILE_COUNT_INSN,PROFILE_COUNT_READ,PROFILE_COUNT_WRITE): Simplify.
	(PROFILE_COUNT_CORE): Simplify.
	* sim-profile.c (profile_option_handler): Compute profile_any_p.

Tue May 19 23:55:30 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-ops.h (ADDCFSI): Fix typo.

Sat May 16 12:44:52 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-sim.h (CGEN_CPU): New members idesc_{read,sem}_init_p.
	* genmloop.sh: Use them rather than static locals.

	* sim-engine.c (sim_engine_set_run_state): New function.
	* sim-engine.h (sim_engine_set_run_state): Declare.
	* genmloop.sh (pending_reason,pending_sigrc): New static locals.
	(@cpu@_engine_stop): New args reason,sigrc.  All callers updated.
	(engine_resume): Reorganize.  Allow synchronous exit from main loop.

Fri May 15 16:06:05 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-trace.c (trace_insn_init): New arg first_p. 
	All callers updated.
	(trace_insn_fini): New arg last_p.  All callers updated.
	* cgen-trace.h (trace_insn_init,trace_insn_fini): Update.
	(TRACE_INSN_INIT,TRACE_INSN_FINI): Update.
	* genmloop.sh (engine_resume): Update.

Fri May 15 15:59:00 1998  Joyce Janczyn  <janczyn@cygnus.com>

	* Make-common.in (install-common): Run ranlib on installed copy of
	libsim.a.

Fri May 15 15:03:00 1998  Joyce Janczyn  <janczyn@cygnus.com>

	* Make-common.in (install-common): Rename and install libsim.a.

Tue May 12 15:23:57 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-io.c (unistd.h): Include.

Wed May  6 16:04:18 1998  Doug Evans  <devans@seba.cygnus.com>

	* Make-common (sim_main_headers): Sort.
	(cgen-*.o): Add cgen-sim.h dependency.

	* cgen-scache.c (scache_init): Only allocate space if scache element
	size is non-zero.
	(scache_flush,scache_print_profile): Check if scache in use first.

	* cgen-sim.h (IDESC): Provide forward declaration.
	(DECODE): Delete.
	(CGEN_CPU): Always define scache member.  New members idesc,opcode.
	(cgen_cpu_max_extra_bytes): Declare.
	* cgen-utils.c (cgen_cpu_max_extra_bytes): New function.

	* sim-cpu.h: New file.  sim_cpu_base moved here.
	Move sim_cpu_lookup decl here.
	* sim-base.h: #include "sim-cpu.h".
	* sim-cpu.c: New file.
	* Make-common (sim_main_headers): Add sim-cpu.h.
	(sim-cpu.o): Add rule for.

	* sim-model.c (set_model): Delete.
	(sim_model_set,model_set): New functions.
	(sim_model_install): Renamed from model_install.
	Don't set default model here.
	(model_option_handler): Rewrite --model processing.
	(sim_model_lookup,sim_mach_lookup): New functions.
	* sim-model.h (MAX_MODELS,MAX_INSNS): Delete.
	(insn_timing): Delete.
	(INSN_TIMING): New member `num'.
	(IMP_PROPERTIES): Always define scache_elm_size member.
	(MACH): New member init_cpu.
	(sim_machs): Renamed from machs.
	(sim_model_install): Renamed from model_install.
	(sim_model_set,sim_model_lookup,sim_mach_lookup): Declare.
	* sim-module.c (modules): Update.

	* sim-profile.c (profile_print_insn): Add cpu arg to INSN_NAME macro.

	* sim-io.c: #include <errno.h>.

Wed May  6 12:39:15 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* dv-pal.c (struct hw_pal_device): Add reader.
 	(hw_pal_finish): Initialize reader.
	(scan_hw_pal): Use reader.

	* hw-base.h, sim-hw.c (do_hw_poll_read): New function.
	(HW_IO_EOF, HW_IO_NOT_READY): Define.
	* dv-pal.c: Use.

	* sim-io.h, sim-io.c (sim_io_poll_read): New function.  Copy from
 	../ppc/main.c sim_io_read_stdin.

Fri May  1 12:11:02 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-tree.h (hw_tree_print): Paramaterize with print and file
 	arguments.
	* hw-tree.c: Update.
	
	* hw-base.h (hw_port_event_callback): Delete CPU/CIA args.
	* hw-device.h (hw_io_read_buffer, hw_io_write_buffer): Delete
 	CPU/CIA args.
	* hw-ports.h (hw_port_event): Ditto.
	* hw-ports.c (hw_port_event): Update.
	* hw-base.c (panic_hw_io_read_buffer, panic_hw_io_write_buffer):
 	Update.
	* dv-pal.c (hw_pal_io_read_buffer, hw_pal_io_write_buffer):
 	Update.
	(hw_pal_io_write_buffer): Call hw_halt not sim_engine_halt.
	(do_counter_event): Update.
	* dv-glue.c (hw_glue_io_read_buffer): Update.
	(hw_glue_port_event): Update.

	* hw-device.h (SIM_DESC): Replace with struct sim_state.
	* hw-base.h (hw_create): Ditto.
	* hw-base.c (hw_create): Ditto.
	
	* hw-device.c (hw_abort, hw_trace, hw_hw_event_queue_schedule,
 	hw_event_queue_deschedule, hw_event_queue_time): Delete, moved
 	from here to.
	* sim-hw.c: Here.
	* hw-device.h (hw_system_cpu): Declare.
	* sim-hw.c (hw_system_cpu): New function.

	* sim-core.c (sim_core_map_attach, sim_core_attach): Call
 	sim_hw_abort not hw_abort.
	(sim-hw.h): Include.
	(sim_core_read_buffer, sim_core_write_buffer): Call
 	sim_hw_io_read_buffer and sim_hw_io_write_buffer. Do not pass CPU
 	argument.
	(sim_core_set_xor): Do not pass CPU when aborting.

	* sim-n-core.h (sim_core_read_aligned_N,
 	sim_core_write_aligned_N): Call sim_hw_abort not hw_abort.
	(sim_core_read_aligned_N, sim_core_write_aligned_N): Call
 	sim_cpu_hw_io_read_buffer and sim_cpu_hw_io_write_buffer. Does not
 	return length.

	* sim-hw.h: Declare sim_hw_io_{read,write}_buffer. Declare
 	sim_hw_print.
	* sim-hw.c (sim_hw_io_read_buffer, sim_hw_io_write_buffer,
 	sim_cpu_hw_io_read_buffer, sim_cpu_hw_io_write_buffer): New
 	functions.
	(sim_hw_print): New function.

	* sim-engine.h (sim_engine_vabort): Declare.
	* sim-engine.c (sim_engine_vabort): New function.

Wed Apr 29 23:58:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.c (print_data): For floating-point numbers trace raw
 	hex value.
	(trace_result_fp2): New function.
	* sim-trace.h (trace_result_fp2): New declaration.
	(TRACE_FP_RESULT2): New macro.

Tue Apr 28 18:28:58 1998  Geoffrey Noer  <noer@cygnus.com>

        * common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
        AM_CYGWIN32 and AM_EXEEXT.
        * common/Make-common.in: set EXEEXT, add missing EXEEXTs
        to run and install-common rules.
        * common/configure: regenerate

Sat Apr 25 17:45:01 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-types.h (cell_word): New type.
	(natural_cell): Delete type.

Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	* config.in: Ditto.

Sun Apr 26 15:25:07 1998  Tom Tromey  <tromey@cygnus.com>

	* acconfig.h (NEED_DECLARATION_PRINTF): Removed.

Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	* config.in: Ditto.

Fri Apr 24 11:38:08 1998  Tom Tromey  <tromey@cygnus.com>

	* acconfig.h: New file.
	* Make-common.in (top_builddir): New macro.
	(INTL_LIB): Removed.
	(INTLLIBS): New macro.
	(INTLDEPS): Likewise.
	(LIBDEPS): Use INTLDEPS.
	(EXTRA_LIBS): Use INTLLIBS.
	* aclocal.m4 (SIM_AC_COMMON): Call CY_GNU_GETTEXT.
	(CY_WITH_NLS, CY_GNU_GETTEXT, AM_PATH_PROG_WITH_TEST,
	AM_LC_MESSAGES): New macros from GNU gettext.

Fri Apr 24 19:57:59 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-config.h: Discard leading _ from macros.
	* sim-types.h: Ditto.

Wed Apr 22 14:14:19 1998  Michael Meissner  <meissner@cygnus.com>

	* Make-common.in (CSEARCH): Add -I to intl directories.
	(INTL_LIB): Point to libintl.a.
	(LIBDEPS): Add $(INTL_LIB).
	(EXTRA_LIBS): Ditto.

Tue Apr 21 12:44:27 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cgen-types.h (GETHIDI,MAKEDI): Tweak.

	* cgen-ops.h (ADDCFSI): Fix.
	(SUBCFSI): Tweak.

Tue Apr 21 13:18:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-types.h (signed_address, unsigned_address): Define.

Mon Apr 20 21:47:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (sim_fpu_2d): Don't return an SNaN, convert it into a
 	QNaN.

Thu Apr 16 10:30:14 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c, sim-fpu.h (sim_fpu_fractionto, sim_fpu_tofraction):
 	New functions, pack / unpack sim_fpu struct using raw values.
	(sim_fpu_is): Differentiate between negative and positive
 	infinity.

Tue Apr 14 18:49:31 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-bits.h (EXTEND4): Define.
	(EXTEND4, EXTEND15, EXTEND11): Ditto.
	
Tue Apr 14 16:31:35 1998  John Metzler  <jmetzler@cygnus.com>

	* sim-memopt.c (parse_addr): Sunos 4.5 does not have strtol
 	declared so we need this cast to prevent long long addresses
	from being misconfigures. Results in access to unmapped memory.

Tue Apr 14 13:19:14 1998  Doug Evans  <devans@canuck.cygnus.com>

	* Make-common.in (RUNTESTFLAGS): Define.
	(check): Pass RUNTESTFLAGS to recursive make.

Tue Apr 14 15:09:19 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-info.c (sim_info): Be verbose when either VERBOSE or
 	STATE_VERBOSE_P.

Sat Apr  4 23:24:17 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (sim-inline): By default, disable sim-inline when
 	cross compiling.

Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (sim-cflags): Add -fomit-frame-pointer to defaults.
	(sim-inline): Update to match sim-inline.[hc]
	* configure: Regenerated to track ../common/aclocal.m4 changes.

	* Make-common.in (sim_main_headers): Add sim-inline.h

	* sim-bits.h (sim-bits.c): Include when H_REVEALS_MODULE_P.
 	selected.
	* sim-endian.h (sim-endian.c): Ditto.
	
	* sim-events.h (_SIM_EVENTS_H_): Replace with SIM_EVENTS_H.
	(sim_events_set_trace): Delete unused prototype.
	
	* sim-core.h (_SIM_CORE_H_): Replace with SIM_CORE_H.
	* sim-core.c (_SIM_CORE_C_): Ditto for SIM_CORE_C.

	* sim-fpu.h (sim-fpu.c): Include when H_REVEALS_MODULE_P.
	(sim_fpu_to232i, sim_fpu_to232u, sim_fpu_i232to, sim_fpu_u232to):
 	Comment out, not yet implemented in sim-fpu.c.
	(sim_fpu_zero, sim_fpu_one, sim_fpu_two, sim_fpu_qnan,
 	sim_fpu_max32, sim_fpu_max64): Mark as EXTERN_SIM_FPU.
	
	* sim-inline.h: Rewrite description.
	(H_REVEALS_MODULE_P, C_REVEALS_MODULE_P): Define.
	(SIM_MAIN_INLINE): Add inline option.
	
	* sim-inline.c (semantics.c, idecode.c, engine.c, ...): Do not
 	include generated files. Handled by generator directly.
	
Sat Apr  4 01:07:06 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.c (set_trace_option_mask): Keep TRACE_ANY_P
	up-to-date.

	* sim-trace.h (TRACE_ANY_P): Define.
	(struct _trace_data): Add trace_any_p.

Mon Mar 30 17:11:55 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* run.c (main): Handle all alternatives of enum sim_stop.
	(main): Delete unused `asection *s'.

Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-tree.h, hw-tree.c (hw_tree_vparse): New function

	* configure: Regenerated to track ../common/aclocal.m4 changes.

	* sim-hw.c: New file.
	* sim-hw.h (sim_hw_parse): Declare function.
	(hw-tree.h): Do not include.
	
	* sim-base.h (STATE_HW): Define.
	(struct sim_state_base): Add member struct *hw.

	* sim-module.c (sim-hw.h): Include.
	(modules): Add sim_hw_install.
	
	* aclocal.m4 (sim_hw_obj): Add sim-hw.o

Fri Mar 27 14:55:06 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-base.h (CPU_INDEX): Define.

	* sim-utils.c (sim_state_alloc): Initialize.
	* sim-module.c (sim_post_argv_init): Ditto.

Thu Mar 26 10:07:57 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>

	* aclocal.m4 (sim_hw_obj):  Fix sed expression to generate
	properly formatted lists.

Thu Mar 26 10:37:22 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was
 	0x2f needs to be 0x3f.

Thu Mar 26 09:10:56 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-tree.c (hw_tree_find_property): Return NULL when device is
 	not found.
	(hw_tree_find_*_property): Clean up error message when property is
 	not found.

	* dv-pal.c (hw_pal_io_read_buffer): Check the smp property is
 	present before looking for it.

Wed Mar 25 16:17:38 1998  Ian Carmichael  <iancarm@cygnus.com>

	* aclocal.m4 (AC_CHECK_HEADERS): Add check for fpu_control.h.  
	(AC_CHECK_FUNCS): Add check for __setfpucw.
	* configure: Regenerated.

Wed Mar 25 09:18:34 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* dv-pal.c (hw_pal_countdown, hw_pal_countdown_value,
 	hw_pal_timer, hw_pal_timer_value): Define.
	(hw_pal_io_read_buffer, hw_pal_io_write_buffer): Add timer support
	(do_counter_event, do_counter_read, do_counter_value,
 	do_counter_write): new functions.

Tue Mar 24 12:24:24 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-tree.c (hw_printf): Send tree dump to stderr, same as other
 	trace output.

	* hw-base.c (hw_create): Stop searching for a device when one is
 	found.

Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Mon Mar 23 10:25:08 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Add second argument,
 	appends extra devices.
	(SIM_AC_OPTION_HARDWARE): Substute sim_hw, a non-duplicate list of
 	the device names.
	
	* Make-common.in (hw-config.h): New target, create hw-config.h
 	file.
	(SIM_HW): Definition from @sim_hw@.
	(hw-base.o): Depend on hw-config.h

Tue Mar 24 17:41:35 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>

	* Make-common.in:  Get SHELL from configure.
	* (stamp-tvals sim-inline.c):  Use $(SHELL) when invoking
	move-if-change.  Fixes NT native build problem.
	* Makefile.in (nltvals.def):   Use $(SHELL) when invoking
	move-if-change.  Fixes NT native build problem.
	* configure:  Regenerate with autoconf 2.12.1 to fix shell issues for
	NT native builds.
	
Sun Mar 22 16:54:40 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-device.h, hw-device.c (hw_strdup): New function.

	* hw-base.c (hw_create): Use hw_strdup when saving a copy of the
 	strings name, family and args.
	(full_name_of_hw): Use hw_strdup when returning the full path.

	* hw-properties.c: Clean up property not found / wrong type error
 	messages.
	
	* hw-tree.c (hw_tree_parse): Finish a devices initialization
 	before attaching any ports.

	* hw-base.c (hw-config.): Include.  Replace hardwired table.

	* dv-glue.c: Copy over ../ppc/hw_glue.c.  Update to new framework.

	* Make-common.in: Add rule for dv-glue.o.

Sun Mar 22 16:45:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-base.c (hw_finish): Move setting of trace level to here.
	(hw_create): From here.

	* hw-base.h, hw-base.c (do_hw_attach_regs): Copy function from
 	../ppc/device_table.c.

	* dv-pal.c (hw_pal_finish): Attach PAL device to parent bus.

	* hw-tree.c (print_properties): Supress path when printing
 	properties of root node.

Sun Mar 22 16:21:15 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-device.h (HW_TRACE): Define.
	(hw_trace): Declare.
	* hw-device.c (hw_trace): Implement function.

	* hw-base.c (hw_create): Set hw trace level from "trace?"
 	property.

	* dv-core.c (dv_core_attach_address_callback): Add trace.

	* dv-pal.c: Replace DTRACE with HW_TRACE.

Sun Mar 22 15:23:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-device.h (HW_ZALLOC, HW_MALLOC): New macros.
	(hw_alloc_data): Delcare.
	(struct hw): Add member alloc_of_hw.
	
	* hw-device.c (hw_zalloc, hw_malloc, hw_free, hw_free_all): New
 	functions. Assocate memory with a device.
	(stdlib.h): Include.
	
	* hw-base.h (set_hw_delete): Define.
	(hw_delete_callback): Declare.
	(hw_delete): Declare.

	* hw-base.c (hw_delete): Implement function.
	(struct hw_base_data): Add member to_delete.
	(ignore_hw_delete): New function, does nothing.
	(hw_create): Set the hw_delete method.
	(hw_create): Allocate the base type using HW_ZALLOC before setting
 	any methods.

	* hw-tree.h, hw-tree.c (hw_tree_delete): New function.
	
	* hw-properties.c: Replace zalloc/zfree with hw_zalloc/hw_free.
	
	* hw-ports.c: Replace zalloc/zfree with hw_zalloc/hw_free.
	(attach_hw_port_edge): Add struct hw argument

	* dv-pal.c (hw_pal_finish): Replace zalloc/zfree with
 	hw_zalloc/hw_free.

Sun Mar 22 15:09:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* hw-device.h (hw_attach_address_callback,
 	hw_detach_address_callback): Attach to a single space not a space
 	mask. Clarify interpretation of SPACE:ADDR parameters.

	* hw-base.c (passthrough_hw_attach_address,
 	passthrough_hw_detach_address): Update.
	* dv-core.c (dv_core_attach_address_callback): Ditto.
	* dv-pal.c (hw_pal_attach_address): Ditto.

Thu Mar 19 00:41:00 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-options.h: Document additional CPU arg to OPTION_HANDLER.

Wed Mar 18 14:13:02 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* Make-common.in (SIM_HW_OBJS, SIM_HW_SRC, SIM_DV_OBJS): Define.
	(hw-base_h, hw-device_h, hw-handles_h, hw-instances_h, hw_ports_h,
 	hw-properties_h, hw-tree_h): Define, point at corresponding
 	header.
	(hw_base_headers): Define list of headers included by hw-base.h
	(hw-base.o, hw-device.o, hw-instances.o, hw-handles.o, hw-ports.o,
 	hw-properties.o, hw-tree.o): Specify dependencies.
	(dv-core.o, dv-pal.o): Ditto.

	* sim-hw.h: New file.

	* hw-device.h, hw-device.c, hw-properties.h, hw-properties.c,
 	hw-ports.h, hw-ports.c: New files. Copied from ../ppc/device.[ch].
	
	* hw-tree.h, hw-tree.c: New files. Copied from ../ppc/tree.[hc].

	* hw-base.h, hw-base.c: new files.  Copied from
 	../ppc/device_table.[hc].

	* dv-core.c, dv-pal.c: New files. Copied from
 	../ppc/hw_{core,pal}.c
	
	* sim-basics.h (struct hw): Declare.
	(enum port_direction, enum object_disposition): Declare.

Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Set sim_hw_obj, sim_dv_obj,
 	sim_dv_src in Makefile. Take list of devices as parameter to m4
 	macro..

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Mon Mar 16 12:37:33 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.h, sim-trace.c (trace_prefix): Pass in sim_cia so that
 	trace_prefix can abort cleanly.

Sat Mar 14 18:36:12 1998  Doug Evans  <devans@seba.cygnus.com>

	* dv-sockser.c, dv-sockser.h: New files.
	* Make-common.in (dv-sockser.o): Add rule for.
	* aclocal.m4: Check for fcntl.h.
	* config.h: Add HAVE_FCNTL_H.

	* sim-break.c (remove_breakpoint): Fix thinko.

	* sim-hload.c (sim_load): Provide default value of SIM_HANDLES_LMA.
	Use SIM_HANDLES_LMA for lma_p arg to sim_load_file.

1998-03-13  Fred Fish  <fnf@cygnus.com>

	* sim-base.h (struct sim_state_base): Add prog_syms and
	define macro STATE_PROG_SYMS.
	* sim-trace.c (trace_prefix): Add variables abfd, symsize,
	symbol_count, and asymbols.  Call bfd_get_symtab_upper_bound
	and bfd_canonicalize_symtab, to get symbol table on first use
	and preserve it via STATE_PROG_SYMS for future calls to
	bfd_find_nearest_line.

Wed Mar 11 14:02:47 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.h, sim-core.c (sim_core_map_to_str): Delete.

	* sim-core.c (sim_core_attach): Handle a generic number of maps -
 	up to nr_maps, not just access_* maps.

	* sim-profile.h (struct PROFILE_DATA): Track nr_maps different
 	maps.

	* sim-profile.c (profile_print_core): Make map unsigned.  Iterate
 	over nr_maps not sim_core_nr_maps.

	* sim-events.h, sim-events.c (sim_events_watch_core): Change
 	core_map argument to unsigned.
	(struct _sim_core): Ditto for struct member core_map.

	* sim-core.h (nr_sim_core_maps, sim_core_*_map): Delete

	* sim-basics.h (access_io, access_*_io): Define.
	(map_read, map_write, map_exec, map_io): Define.

	* sim-core.c, sim-core.h (sim_core_attach): Replace argument
 	attach with more generic mapmask.
	(sim_core_{read,write}_*): Change map argument to unsigned.
	
	* sim-core.c (sim_core_uninstall, sim_core_attach,
 	sim_core_detach): Iterate over nr_maps instead of
 	sim_core_nr_maps.

	* sim-break.c (insert_breakpoint): Write breakpoints to exec_map
 	instead of the write_map.
	(remove_breakpoint): Ditto.

	* genmloop.sh (engine_resume_full): Replace sim_core_*_map
 	with read_map, write_map, exec_map resp.

	* cgen-mem.h (DECLARE_GETMEM, DECLARE_SETMEM, DECLARE_GETIMEM):
 	Ditto.

	* cgen-utils.c (sim_disassemble_insn): Ditto.

	* sim-hrw.c (sim_write, sim_write): Ditto.

	* sim-utils.h, sim-utils.c (access_to_str, map_to_str,
 	transfer_to_str): New functions.

Mon Mar  9 12:50:59 1998  Doug Evans  <devans@seba.cygnus.com>

	* sim-base.h (sim_state_base): New member environment.
	(STATE_ENVIRONMENT): New macro.
	* sim-config.c (current_environment): Delete.
	(sim_config_default): New function.
	(sim_config): Set STATE_ENVIRONMENT, not current_environment.
	* sim-config.h (current_environment,CURRENT_ENVIRONMENT): Delete.
	(sim_config_default): Add prototype.
	* sim-module.c (sim_pre_argv_init): Call sim_config_default.
	* sim-options.c (standard_option_handler, case OPTION_ENVIRONMENT):
	Set STATE_ENVIRONMENT, not current_environment.

Mon Mar  9 11:59:03 1998  Jim Wilson  <wilson@cygnus.com>

	* sim-fpu.c (NR_GUARDS64): Change NR_PAD32 to NR_PAD64.

Tue Mar  3 10:53:05 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-types.h (SIGNED32, SIGNED64): Pacify GCC.

	* sim-alu.h (ALU64_BEGIN): Make alu64_r unsigned.

Mon Mar  2 10:20:06 1998  Doug Evans  <devans@seba.cygnus.com>

	* Make-common.in (TAGS): Make smarter.
	* Makefile.in (TAGS): Ditto.

Fri Feb 27 19:09:57 1998  Doug Evans  <devans@canuck.cygnus.com>

	* sim-module.c (*): Fix typos in assertion tests.

Sat Feb 28 13:54:10 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-module.c (sim_pre_argv_init): String passed to asprintf
 	can't be constant.
  	
	* sim-options.c (sim_parse_args): Ditto.
	(sim_args_command): Return OK, instead of nothing, for an empty
 	command.

Fri Feb 27 13:29:13 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-profile.c (profile_info): Rename from profile_print. Drop
 	misc and misc_cpu callback arguments.  Use
 	PROFILE_INFO_CPU_CALLBACK and STATE_PROFILE_INFO_CALLBACK instead.
	(profile_install): Install profile_info function.

	* sim-profile.h (PROFILE_INFO_CPU_CALLBACK,
 	STATE_PROFILE_INFO_CALLBACK): Define.
	(struct PROFILE_DATA): Add field info_cpu_callback.
	(profile_print): Delete function.

	* sim-base.h (STATE_MODULES): Define.  Replace individual
 	STATE_*_LIST with single struct module_list.

	* sim-module.h (MODULE_INFO_FN, MODULE_INFO_LIST): Declare.
	(struct module_list): Declare.
	
	* sim-module.h, sim-module.c (sim_module_add_info_fn,
 	sim_module_info): New functions.
	(sim_module_install): Clean up module data structures.

	* sim-info.c (sim_info): New file. New function. Call
 	sim_module_info.

	* Make-common.in (sim-info.o): Define rule.
	(SIM_NEW_COMMON_OBJS): Add sim-info.o.


Fri Feb 27 18:26:16 1998  Doug Evans  <devans@canuck.cygnus.com>

	* sim-base.h (sim_cpu_base): New members name, options.
	(sim_cpu_lookup): Add prototype.
	* sim-module.c (sim_pre_argv_init): Provide default names for cpus.
	* sim-options.h (DECLARE_OPTION_HANDLER): New argument `cpu'.
	(sim_add_option_table): Update prototype.
	* sim-options.c (sim_add_option_table): New argument `cpu'.
	(standard_option_handler,standard_install): Update.
	(sim_parse_args): Handle cpu specific options.
	(print_help): New static function.
	(sim_print_help): Call it.  Print cpu specific options.
	(find_match): New static function.
	(sim_args_command): Call it.  Handle cpu specific options.
	* sim-utils.c (sim_cpu_lookup): New function.
	* sim-memopt.c (memory_option_handler): Update.
	(sim_memopt_install): Update.
	* sim-model.c (model_option_handler): Update.
	(model_install): Update.
	* sim-profile.c (profile_option_handler): Update.
	(profile_install): Update.
	* sim-trace.c (trace_option_handler): Update.
	(trace_install): Update.
	* sim-watch.c (watchpoint_option_handler): Update.
	(sim_watchpoint_install): Update.
	* cgen-scache.c (scache_option_handler): Update.
	(scache_install): Update.

Wed Feb 25 11:00:26 1998  Doug Evans  <devans@canuck.cygnus.com>

	* Make-common.in (check): Run `make check' in testsuite dir.

Wed Feb 25 14:40:24 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.c (trace_result0): New function.

	* sim-trace.h (TRACE_FP_*, TRACE_FPU_*): Rename TRACE_FPU_*
 	macro's to TRACE_FP_*. TRACE_FPU_* should be defined and used when
 	tracing sim_fpu variables.
	(TRACE_ALU_RESULT0): Define.
	(TRACE_FP_RESULT_WORD): Define.
	(TRACE_FP_INPUT_WORD1): Define.

	* sim-fpu.c, sim-fpu.h (sim_fpu_max32, sim_fpu_max64, sim_fpu_one,
 	sim_fpu_two): New constants.
	(sim_fpu_op1, sim_fpu_op2): New types.
	(struct _sim_fpu): Delete member result.  Re-order other members.
	(sim_fpu_sign, sim_fpu_exp): New functions.
	(sim_fpu_max, sim_fpu_min): new functions.
	(EXPMAX32, EXPMAX64, NR_PAD32, NR_PAD64, NR_GUARDS32, NR_GUARDS64,
 	NORMAL_EXPMAX32, NORMAL_EXPMAX64): Define.
	
Tue Feb 24 22:45:39 1998  Doug Evans  <devans@seba.cygnus.com>

	* sim-profile.c (profile_print): Delete duplicate test of
	PROFILE_INSN_IDX.
	(profile_print_pc): Exit early if data collection not set up.
	(profile_print_core): Simplify by calling sim_core_map_to_str.
	* sim-core.h (sim_core_map_to_str): Declare.
	* sim-core.c (sim_core_map_to_str): Make non-static.

	* genmloop.sh (engine_resume): Update insn_count before exiting.
	(engine_resume_full): Keep accurate core profile data.

	* cgen-utils.c (sim_disassemble_insn): Don't use
	sim_core_read_aligned_N, it messes up profiling results.

Mon Feb 23 20:45:57 1998  Mark Alexander  <marka@cygnus.com>

	* nltvals.def: Regenerate with MN10300 additions.

Tue Feb 24 13:18:42 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.h (TRACE_ALU_RESULT2): Define.
	
	* sim-trace.h, sim-trace.c (trace_result_word2,
 	trace_input_word4, trace_result_word4): New function.

Mon Feb 23 13:08:35 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cgen-sim.h (SEM_NEXT_PC): New arg `len'.

	* sim-xcat.h: Delete.
	* cgen-mem.h: Delete inclusion of sim-xcat.h.
	* cgen-sim.h: Ditto.
	* sim-alu.h: Replace sim-xcat.h with symcat.h.
	* sim-n-bits.h: Ditto.
	* sim-n-core.h: Ditto.
	* sim-n-endian.h: Ditto.

Mon Feb 23 13:19:58 1998  Michael Meissner  <meissner@cygnus.com>

	* syscall.c (cb_syscall): Handle short reads, and EOF.

Tue Feb 24 00:29:57 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.c (print_data): case trace_fmt_fp missing break.  Use
 	sim_fpu to safely print fp_word values.
	(print_data): Add trace_fmt_bool and trace_fmt_addr.
	(trace_result_bool1, trace_result_addr1): New functions.
	(trace_input_bool1, trace_input_addr1): New functions.

	* sim-trace.h (TRACE_FPU_*): Define.

Mon Feb 23 13:24:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.h (enum sim_fpu_class): Add sim_fpu_class_denorm.
	(sim_fpu_fpto, sim_fpu_tofp): Define.

Fri Feb 20 18:08:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (sim_fpu_cmp): New function.

Wed Feb 18 16:29:21 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cgen-utils.h (sim_disassemble_insn): Use CGEN_INSN_BITSIZE
	instead of abuf->length.
	* sim-trace.c (trace_options): Have -t only trace a few useful things.
	(set_trace_option_mask): Renamed from set_trace_options.
	(set_trace_option): New function.
	(trace_option_handler): Update calls to set_trace_option{,_mask}.
	* sim-trace.h (TRACE_USEFUL_MASK): New macro.

Wed Feb 18 12:42:15 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-basics.h: Declare struct _sim_fpu.

Tue Feb 17 16:27:46 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.h (TRACE_ALU_INPUT*, TRACE_ALU_RESULT): Define.
	(trace_prefix, trace_input*, trace_result*): Declare.
	(trace_one_insn): Change declaration, assume trace_prefix called.
	(trace_generic): Like trace_one_insn.
	(TRACE_ALU_IDX, TRACE_*_IDX): Change #define's to enum.
	(TRACE_alu, TRACE_[a-z]*): Update.
	
	* sim-trace.c (trace_prefix, trace_input*, trace_result*,
 	trace_insn, save_data, trace_idx_to_str, print_data): New
 	functions.
	(trace_one_insn): Rewrite.
	(trace_generic): New function.
	
Tue Feb 17 17:27:30 1998  Doug Evans  <devans@seba.cygnus.com>

	* aclocal.m4 (USE_MAINTAINER_MODE): New variable.

	* cgen-sim.h (SEMANTIC_CACHE_FN): Delete.
	(SEMANTIC_FN): Rewrite declaration.
	(DECODE): Update type of semantic_fast member.
	({EX,SEM}_FN_NAME): Have only one version.
	* sim-base.h (sim_state_base): Delete conditionals surrounding
	member scache_size.

Tue Feb 10 18:31:49 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-load.c (sim_load_file): Print LMA/VMA according to value
 	used.

Tue Feb 10 14:56:23 1998  Ian Carmichael  <iancarm@cygnus.com>

	* sim-core.c: Add missing prototypes for WITH_DEVICES.
	Add missing parameters to device_io calls.
	* sim-core.h: Add missing parameters to device_io calls.

Mon Feb  9 14:48:37 1998  Doug Evans  <devans@canuck.cygnus.com>

	* cgen-sim.h (DECODE): Always use switch for `read' for now.
	(PAREXEC): Renamed from PARALLEL_EXEC.  All uses updated.
	(SEMANTIC{,_CACHE}_FN): Fix return type.
	* genmloop.sh (@cpu@_engine_run): Delete `current_state'.
	(engine_resume): Likewise.  Make `engine' volatile.  Save copy
	of cpu pointer in volatile object.  Initialize read switch if
	-parallel.

Thu Feb  5 13:27:04 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-sim.h (EX_FN_NAME): _exc_ -> _ex_.
	(SEM_INSN): New macro.

Tue Feb  3 16:31:56 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-run.c (sim_engine_run): Assume IMEM is 32 bit.

Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Sun Feb  1 16:16:57 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-types.h (fp_word): New type, define according to
 	WITH_TARGET_FLOATING_POINT_BITSIZE.

	* aclocal.m4 (default_sim_floating_point_bitsize): Add
 	configuration of size of floating point registers.

Sun Feb  1 14:02:31 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-profile.c (profile_print): Only print CPU <N> if other
 	output is going to appear.

Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Sat Jan 31 18:03:55 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-types.h (address_word): Typedef according to
 	WITH_TARGET_ADDRESS_BITSIZE.
	(signed_cell, unsigned_cell, natural_cell): Ditto using
 	WITH_TARGET_CELL_BITSIZE.
	
	* sim-config.h (WITH_TARGET_ADDRESS_BITSIZE): Define.
	(WITH_TARGET_CELL_BITSIZE): Define.
	(WITH_HOST_WORD_BITSIZE): Delete.

	* sim-config.c (print_sim_config): Update.

	* aclocal.m4 (SIM_AC_OPTION_BITSIZE): Add support for
 	configuration of address and OpenFirmware cell sizes.

Fri Jan 30 09:36:33 1998  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-engine.h (sim_engine_run): Add argument nr_cpus.
	* sim-run.c (sim_engine_run): Update.
	
	* sim-engine.h (SIM_ENGINE_HALT_HOOK): Use SET_CPU_CIA instead of
 	CPU_CIA.
  	* sim-run.c (sim_engine_run): Ditto.

	* sim-resume.c (sim_resume): Obtain nr_cpus from sim_engine.
	(sim_resume): Pass nr_cpus to sim_engine_run.

	* sim-engine.h (struct _sim_engine): Add member nr_cpus.
	
	* sim-engine.c (sim_engine_init): Hardwire nr_cpus to
 	MAX_NR_PROCESSORS.
	(sim_engine_nr_cpus) sim-engine.c, sim-engine.h: New function
	
Fri Jan 23 14:20:54 1998  Doug Evans  <devans@seba.cygnus.com>

	* Make-common.in (stamp-tvals): New rule.
	(targ-vals.h,targ-map.c): Depend on it.
	(clean): Remove stamp-tvals.

Tue Jan 20 21:35:13 1998  Michael Meissner  <meissner@cygnus.com>

	* sim-utils.c (sim_state_alloc): #if 0 variable that is only used
	in code also #if 0'ed.

Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	* aclocal.m4: Recognize --enable-maintainer-mode.

Mon Jan 19 12:45:45 1998  Doug Evans  <devans@seba.cygnus.com>

	* cgen-scache.h: Deleted.
	* Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
	* cgen-scache.c: Only compile contents if WITH_SCACHE.
	(scache_init): Use runtime computed size of SCACHE.
	(scache_flush): Likewise.
	* cgen-mem.h (GETIMEMU[QHSD]I): Declare.
	([GS]ETT{QI,UQI,HI,UHI,SI,USI,DI,UDI}): Declare.
	* cgen-sim.h: Scache support moved here.
	(PC): Redo definition.
	(ARGBUF,SCACHE,PARALLEL_EXEC): Provide forward decls.
	(DECODE): Add parallel execution support.
	Only include semantic label members if using switch.
	(SWITCH,CASE,BREAK,DEFAULT,ENDSWITCH): Portable computed goto support.
	(CGEN_CPU): Delete members exec_state, halt_sigrc, halt_jmp_buf.
	(IADDR,CIA,SEM_ARG,EX_FN_NAME,SEM_FN_NAME,RECORD_IADDR,SEM_ARGBUF,
	SEM_NEXT_PC,SEM_BRANCH_VIA_{CACHE,ADDR},SEM_NEW_PC_ADDR): Moved here
	from cgen-types.h.
	(engine_{stop,run,resume,halt,signal}): Delete decls.
	* cgen-types.h (CGEN_{XCAT3,CAT3}): Delete.
	(argbuf,scache): Delete forward decls.
	(STATE): Delete decl.
	* cgen-utils.c: Don't include decode.h, mem-ops.h, sem-ops.h.
	Include cgen-mem.h, cgen-ops.h.
	(engine_halt,engine_signal): Delete.
	({ex,exc,sem,semc}_illegal): Delete.
	(sim_disassemble_insn): Result of extract fn is in bits.
	* genmloop.sh: Rewrite.

	* cgen-trace.c (trace_insn): Set printed_result_p=0 if not tracing
	line numbers.

	* sim-base.h (sim_state_base): Delete member `model'.
	(sim_cpu_base): Add member `model'.
	* sim-model.h (IMP_PROPERTIES): New type.
	(MACH): New members imp_props, models.
	(models): Delete decl.
	* sim-model.c (set_model): Update.
	* sim-profile.c (profile_print_model): Update.

	* sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here.

Fri Jan 16 12:33:09 1998  Nick Clifton  <nickc@cygnus.com>

	* cgen-trace.c (trace_insn): Call CGEN_INSN_MNEMONIC() rather than
	CGEN_INSN_SYNTAX().

Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	* config.in: Ditto.

Mon Dec 15 23:16:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (AR): Check for sigaction.

Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>

	* Make-common.in (sim-core.o): Depend on $(sim_main_headers).

	* sim-config.h (WITH_TREE_PROPERTIES): Define as 0.
	* sim-config.c (sim_config): Replace WITH_DEVICES with
	WITH_TREE_PROPERTIES.

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Wed Dec  3 17:56:02 1997  Doug Evans  <devans@canuck.cygnus.com>

	* Make-common.in (SIM_ENVIRONMENT): New variable.
	(CONFIG_CFLAGS): Add it.
	* aclocal.m4 (SIM_AC_OPTION_ENVIRONMENT): Handle
	--enable-sim-environment option.
	* configure: Regenerated.
	* sim-config.h (environment support): Rewrite.
	* sim-config.c (current_environment): Define as enum, unconditionally.
	(current_alignment): Define unconditionally.
	(config_environment_to_a): Update.
	(config_alignment_to_a): Fix type of argument.  Define unconditionally.
	(sim_config): Handle environment and alignment determination
	unconditionally.  Delete sanity checks of current_environment,
	unnecessary.
	(print_sim_config): Update.
	* sim-options.c (STANDARD_OPTIONS enum): Add OPTION_ENVIRONMENT.
	(standard_options): Add --environment.
	(standard_option_handler): Likewise.

Fri Nov 28 12:21:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-alu.h: Add notes on carry vs borrow for subtraction.
	(ALU{,8,16,32,64}ADD): Redefine ADD macro as add overflowing.
	(ALU{,8,16,32,64}ADDC): Define - add carrying.
	(ALU{,8,16,32,64}SUB): Redefine SUB macro as subtract overflowing.
	(ALU{,8,16,32,64}SUBB): Define - subtract borrowing.
	(ALU{,8,16,32,64}SUBC): Define - tract carrying.
	(ALU{,8,16,32,64}ADD_CA, ALU{,8,16,32,64}ADDC_C): Replace single
 	argument ADD_CA macro with two argument ADDC_C - add carrying with
 	carry in.
	(ALU{,8,16,32,64}SUB_CA, ALU{,8,16,32,64}SUBC_X): Replace single
 	argument SUB_CA macro with two argument SUBC_X - subtract
 	carrying, extended.
	(ALU{,8,16,32,64}SUBB_B): Define - subtract borrowing with
 	borrow-in.
	(ALU{,8,16,32,64}NEGC, ALU{,8,16,32,64}NEGB): Define.

Sun Nov 30 17:40:57 1997  Michael Meissner  <meissner@cygnus.com>

	* sim-io.c (sim_io_{syscalls,getstring}): Delete.  No longer used.
	* sim-io.h (sim_io_syscalls): Delete.

Fri Nov 28 20:10:09 1997  Michael Meissner  <meissner@cygnus.com>

	* syscall.c (cb_syscall): Add missing else, so write to stdout
	isn't doubled.

	* sim-alu.h (ALU{,8,16,32,64}_SET_CARRY): Provide macros to import
	the carry bit from the CPU's psw.

Fri Nov 28 11:15:05 1997  Doug Evans  <devans@canuck.cygnus.com>

	* gennltvals.sh: Redo syscall support.
	* nltvals.def: Regenerated.

Wed Nov 26 16:49:38 1997  Michael Meissner  <meissner@cygnus.com>

	* syscall.c (cb_syscall): If writing to stdout or stderr, flush
	the stream immediately.

Wed Nov 26 12:32:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-io.c (sim_io_getstring): Delete unused len2.
	(sim_io_syscalls): Ditto for sys_errno.

Wed Nov 26 11:18:40 1997  Doug Evans  <devans@canuck.cygnus.com>

	* syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.

	* Make-common.in (run.o): Depend on remote-sim.h.
	(nrun.o,sim-hload.o,sim-hrw.o): Likewise.
	(sim-io.o,sim-reason.o,sim-resume.o): Likewise.

Tue Nov 25 20:12:46 1997  Michael Meissner  <meissner@cygnus.com>

	* sim-io.c (sim_io_syscalls): Disable lseek.

Tue Nov 25 00:12:38 1997  Doug Evans  <devans@seba.cygnus.com>

	* gennltvals.sh: Generate syscall values for d30v.

	* gennltvals.sh: Use libgloss/syscall.h for sparc.
	* nltvals.def: Regenerate.

	* callback.c (os_stat): Make 3rd arg a host struct stat ptr.
	(os_fstat): Likewise.  Validate fd argument.
	(cb_host_to_target_stat): Delete big_p arg.  If HS arg is NULL,
	just compute target stat struct length.
	* syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
	(ENOSYS,ENAMETOOLONG): Provide definitions if missing.
	(get_string): Return host errno values so they can be properly
	translated later.
	(cb_syscall): Likewise.
	(cb_syscall, cases open,unlink): Use get_path instead of get_string.
	(cb_syscall, case read): Use read_stdin for file descriptor 0.
	(cb_syscall, case write): Use write_stderr for file descriptor 2.
	(cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
	(get_path): New function.

Mon Nov 24 18:56:07 1997  Michael Meissner  <meissner@cygnus.com>

	* sim-io.c (sim_io_syscalls): New function to provide system call
	emulation.  Provide exit, open, close, read, write, lseek, and
	unlink.
	(sim_io_getstring): New function to return a string from a
	simulated memory location.

	* sim-io.h (sim_io_syscalls): Add declaration.

Mon Nov 24 12:09:59 1997  Doug Evans  <devans@seba.cygnus.com>

	* sim-core.c (sim_core_signal): Fix spelling error in message.

	* sim-hrw.c (sim_read): Use read map, not write map.

	* Make-common.in (all): Add .gdbinit.
	* gdbinit.in: Add dump command.

	* sim-model.c (model_options): Use '\0' for `shortopt'.

	* sim-trace.c (trace_option_handler): Set state trace file
	for --trace-file in addition to cpu's values.
	(trace_vprintf): If cpu == NULL, try state's trace file.
	(trace_options): Reorganize table, reword some descriptions.

Sun Nov 23 10:57:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (sim_fpu_abs, sim_fpu_neg, sim_fpu_inv), sim-fpu.h:
 	New functions.

Sat Nov 22 19:16:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-reason.c (sim_stop_reason): For sim_signalled, return the
 	signal untranslated, document problem with this.

	* nrun.c (main): Check for a prog name of `*step'.  If present,
 	step the simulator instead of allowing it to run free.

	* sim-signal.c (SIGQUIT): Define on _MSC_VER hosts.

	* Make-common.in (sim_main_headers): Add sim-signal.h.

Fri Nov 21 09:32:32 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-signal.c (sim_signal_to_host): Return 0 for SIM_SIGNONE.

Thu Nov 20 20:35:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-signal.h: Start simulator signals at 64 so that host signal
 	numbers can be detected and reported.

	* sim-signal.h (SIM_SIGFPE), sim-signal.h: Add signal.

Wed Nov 19 12:02:41 1997  Doug Evans  <devans@seba.cygnus.com>

	* callback.c (cb_host_to_target_stat): Fix return values.

	* cgen-sim.h (enum_signal_type): Delete.
	(engine_signal): Update prototype.
	* cgen-utils.c: Don't include <signal.h>.
	(sim_signal_to_host): Delete, lives in sim-signal.c now.
	(engine_signal): Update.

	* sim-utils.c (sim_state_alloc): Call SIM_STATE_ALLOC if defined.
	(sim_state_free): Call SIM_STATE_FREE if defined.

	* sim-module.c (sim_module_install): Don't leave any modules
	installed if one fails to install.

Wed Nov 19 13:25:48 1997  Michael Meissner  <meissner@cygnus.com>

	* sim-options.c: Don't include ../libiberty/alloca-conf.h any
	more, since alloca is not used in this file.

	* sim-alu.h (ALU{32,64}_*): Rewrite 32 and 64 bit ALU support to
	correctly set the carry and overflow bits for those types.
	(ALU{8,16,32,64}_{ADD,SUB}_CA): Take VAL argument to add along
	with carry, so carry is correct after doing both adds.
	(ALU*): Space out '\' to make it easier to read.

Tue Nov 18 15:53:45 1997  Doug Evans  <devans@canuck.cygnus.com>

	* sim-core.c (sim_core_signal): Use sim_stopped instead of
	sim_signalled.

	* sim-signal.c, sim-signal.h: New files.
	* Make-common.in (sim-signal.o): Add rule for.
	(SIM_NEW_COMMON_OBJS): Add sim-signal.o.
	* sim-abort.c: Don't include <signal.h>.
	* sim-basics.h: #include "sim-signal.h".
	* sim-break.c: Don't include <signal.h>.
	(sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
	* sim-core.c: Don't include <signal.h>.
	(SIGBUS): Delete definition.
	(sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
	* sim-engine.c: Don't include <signal.h>.
	(sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
	* sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
	* sim-resume.c: Don't include <signal.h>.
	(SIGTRAP): Delete definition.
	(has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
	* sim-stop.c: Don't include <signal.h>.
	(control_c_simulation): Replace SIGINT with SIM_SIGINT.
	* sim-watch.c: Don't include <signal.h>.
	(handle_watchpoint): Replace SIGINT with SIM_SIGINT.

	* Make-common.in (SIM_NEW_COMMON_OBJS): New variable.

	* sim-base.h (CIA_ADDR): Provide default definition.
	* sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
	* sim-break.c (sim_handle_breakpoint): Likewise.

Mon Nov 17 14:15:31 1997  Doug Evans  <devans@seba.cygnus.com>

	* Make-common.in (srccom): New variable.

	* Make-common.in (DEP, COMMON_DEP_CFLAGS): Define.
	(LIB_OBJS): Add syscall.o.
	(gentmap): Pass $(NL_TARGET) to $(CC).
	(syscall.o): Add rule for.
	(sim_main_headers): Add $(SIM_EXTRA_DEPS).
	(sim-bits.o): Depend on $(sim-n-bits_h).
	(sim-load.o): Depend on callback.h.

	* Make-common.in (cgen-*.o): Update dependencies, mem-ops.h renamed to
	cgen-mem.h, sem-ops.h renamed to cgen-ops.h.
	* cgen-mem.h, cgen-ops.h: New files.

	* aclocal.m4 (--enable-sim-scache): Pass -DWITH_SCACHE=0 for "=no".

	* Makefile.in (nltvals.def): Depend on gennltvals.sh.
	Rewrite build rule.
	* callback.c: #include string.h or strings.h.
	#include sys/types.h and sys/stat.h.
	(cb_init_syscall_map,cb_init_errno_map,cb_init_open_map): Declare.
	(os_get_errno,os_open): Update.
	(os_stat,os_fstat): New functions.
	(os_init): Initialize syscall_map, errno_map, open_map.
	(default_callback): Add entries for os_stat, os_fstat, syscall_map,
	errno_map, open_map, signal_map, stat_map.
	(cb_read_target_syscall_maps): New function.
	(cb_target_to_host_syscall): New function.
	(cb_host_to_target_errno): Renamed from host_to_target_errno.
	(cb_target_to_host_open): Renamed from target_to_host_open.
	(store): New function.
	(cb_host_to_target_stat): New function.
	* syscall.c: New file.
	* gentmap.c (sys_tdefs): New global.
	(gen_targ_vals_h): Output target syscall numbers.
	(gen_targ_map_c): Update.  Output target syscall translation map.
	* gentvals.sh: New first argument `target'.  Preface table with
	#ifdef NL_TARGET_$target if non-null target passed.
	* gennltvals.sh: New file.
	* nltvals.def: Regenerated.

Fri Nov 14 11:33:34 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-n-core.h (sim_core_read_unaligned_N): Return static
 	sim_core_dummy_M.
	(sim_core_dummy_M): Declare.
	
Wed Nov 12 18:16:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (sim_core_signal): Print the address of the
 	instruction.

Thu Nov 13 11:49:41 1997  Doug Evans  <devans@seba.cygnus.com>

	* sim-base.h (sim_state_base): Move `magic' to end of struct.

	* sim-base.h (sim_state_base): Add member trace_data.
	(STATE_TRACE_DATA): New macro.
	* sim-trace.h (TRACE_DEBUG_IDX,TRACE_debug): New macros.
	({WITH_,}TRACE_DEBUG_P): New macros.
	(STATE_TRACE_FLAGS,STRACE_P,STRACE_DEBUG_P): New macros.
	(_sim_cpu): Delete forward reference.
	(debug_printf): Update.
	* sim-trace.c (OPTION_TRACE_DEBUG): Define.
	(trace_options): Add --trace-debug.
	(set_trace_options): Handle it.
	(trace_option_handler): Likewise.
	(trace_install): Init state trace_data struct.
	(trace_uninstall): Close state trace file.
	* sim-events.c (ETRACE): Only print source file and line number if
	--trace-debug.
	* sim-n-core.h (sim_core_trace_M): Likewise.

	* sim-core.c (sim_core_signal): Add missing "\n" in message.

1997-11-13  Felix Lee  <flee@cygnus.com>

	* sim-n-core.h (sim_core_read_unaligned_N): illegal empty
	initializer.
	* sim-types.h (unsigned128,signed128): fix typo for MSVC.

Wed Nov 12 12:18:08 1997  Doug Evans  <devans@canuck.cygnus.com>

	* aclocal.m4 (SIM_AC_OPTION_SCACHE): Fix typo.

	* Make-common.in (BUILT_SRC_FROM_COMMON): Remove files no longer
	built this way.
	(sim-config.o): Remove non-existent $(sim-nconfig_h) dependency.
	(clean): Don't delete $(BUILT_SRC_FROM_COMMON) if building in
	source tree.

Tue Nov 11 13:28:02 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (sim_events_process): Re-compute the time -
 	update_time_from_event - as each event is processed. Reverses
 	previous change.

Fri Nov  7 00:37:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* callback.c (os_poll_quit): Replace _WIN32 with _MSC_VER.

Fri Nov  7 00:37:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (sim_events_process): Delete redundant call to
 	update_time_from_event.
	(sim_events_slip): Always decrement time_from_event.
	(sim_events_tick, sim_events_deschedule, update_time_from_event):
 	Delete assertion that time_from_event >=0 when work in queue, no
 	longer applicable.

Thu Nov  6 12:06:46 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-options.c (STANDARD_OPTIONS): Change OPTION_* to an enum.
	(standard_option_handler): Update.

	* sim-options.h: Clarify documentation.
 	(OPTION_LONG_ONLY_P): Delete definition.
	(OPTION_VALID_P): Define.
	
	* sim-options.c (sim_print_help): Allow short only options.
	(sim_parse_args): Ditto.
	(sim_args_command): Skip short only options.
	(sim_parse_args): Allocate space for NUM_OPTS not just 256. Make
 	separate entries for short and long options in the HANDLERS and
 	ORIG_VAL tables.
	(sim_parse_args): Disable argument permutation.

Wed Nov  5 13:40:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.h (DECLARE_SIM_CORE_WRITE_N. DECLARE_SIM_CORE_READ_N):
 	Add argument M, size of data type.
	(sim_core_read_misaligned_3, sim_core_write_misaligned_3):
 	Declare, ditto for 5, 6 & 7 byte transfers.
	(sim_core_write_unaligned_1, sim_core_write_unaligned_1): Define
 	as aligned variant.
	
	* sim-n-core.h (sim_core_trace_M): Rename from
 	sim_core_trace_N. Add nr_bytes argument. Replace transfer argument
 	with transfer type. Print transfer direction.  Handle 1 and 2 byte
 	transfers.
	(sim_core_read_unaligned_N, sim_core_write_unaligned_N): Trace
 	unaligned accesses.
	(unsigned_M, T2H_M, H2T_M): Rename from unsigned_N, T2H_N, H2T_N.
  	Update all functions.

	* sim-core.c: Generate functions starting with 16 not 1.
	(sim_core_read_unaligned_3): Generate. Ditto for 3 byte write and
 	all 5, 6 & 7 byte transfers.

	* sim-n-core.h (sim_core_read_misaligned_N,
 	sim_core_write_misaligned_N): Implement.

Mon Nov  3 15:03:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-endian.h (U16_8): Implement

	* sim-endian.c (sim_endian_split_16, sim_endian_join_16): New functions

	* sim-endian.h (VL8_16, VH8_16): Implement.

	* sim-memopt.c (memory_option_handler): Typecast 64bit value to
 	long in printf.
	(memory_option_handler): Only zalloc modulo bytes when non-zero.
	(memory_option_handler): Skip comma in alias address list

Fri Oct 31 13:03:33 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-memopt.c (do_memopt_add, do_memopt_delete): Add level and
 	space params.
	(parse_size, parse_addr): New functions
	(memory_option_handler, memory_options): Parse address & size
 	using new functions. Pass level, space, modulo to do_memopt_add &
 	do_memopt_del.

	* sim-memopt.h (struct _sim_memopt): Add level & space fields.

	* sim-core.h (sim_core_arrach, sim_core_detach): Replace
 	`attach_type attach' argument with `unsigned level' argument.
  	Document.

	* sim-core.c (new_sim_core_mapping, sim_core_map_attach,
 	sim_core_attach): Replace argument attach with level.  Update
 	verification of arguments.
	(sim_core_map_detach, sim_core_detach): Replace argument attach
 	with level.

	* sim-basics.h (enum _attach_type): Delete.

Thu Oct 30 13:45:00 1997  Doug Evans  <devans@seba.cygnus.com>

	* sim-core.h (sim_core_write_8): Define.

Tue Oct 28 12:29:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-bits.h: Document ROTn macro.

	* sim-endian.h (H2T): Handle 16 byte variables.

	* sim-n-core.h (sim_core_read_unaligned_N): Return a dummy when an
 	error.

	* sim-core.c: Do not generate sim_core_*_word.

	* sim-n-core.h (sim_core_trace_N): Add line_nr argument.
	(sim_core_write_aligned_N, sim_core_read_aligned_N): Update.

	* sim-core.h (sim_core_read_unaligned_word,
 	sim_core_read_aligned_word, sim_core_read_word,
 	sim_core_write_unaligned_word, sim_core_write_aligned_word,
 	sim_core_write_word): Change to macros that map onto sim_core_*_N.

Mon Oct 27 11:25:10 1997  Doug Evans  <devans@canuck.cygnus.com>

	* sim-n-endian.h: Add TAGS entrys for 16 byte versions.

	* sim-endian.h: Disable 16 byte support.

Mon Oct 27 12:00:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-endian.c (_SWAP_16): Define.  Generate 126 bit swap code.

	* sim-n-core.h (sim_core_trace_N): New function.
	(sim_core_read_aligned_N, sim_core_write_aligned_N): Use,
	(sim_core_read_unaligned_N): Do not retyrn bogus value wden error.

	* sim-endian.h:  Add 128 bit variant.

	* sim-core.h, sim-core.c: Add 128 bit variant.

	* sim-types.h: Add signed128 and unsigned128 types using a struct.

Fri Oct 24 11:33:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (sim_events_process): Clear events->work_pending.
	(sim_events_tickn, sim_events_tick): Accumulate, instead of
 	setting, nr_ticks_to_process.
	(sim_events_preprocess): Allow nr_ticks_to_process to be non-zero
 	when the event queue isn't next.

	* sim-events.h, sim-events.c (sim_events_slip): New function.

Wed Oct 22 14:18:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-hload.c (sim_load): Pass lma_p==0 and do_load=sim_load.

	* sim-utils.h, sim-load.c (sim_load_file): Add lma_p and do_load
 	arguments.

Tue Oct 21 18:37:57 1997  Doug Evans  <devans@canuck.cygnus.com>

	* nrun.c (main): Remove useless test of name != NULL.
	Exit if bfd_openr fails.  Call bfd_check_format after bfd_openr.

Tue Oct 21 10:42:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (EXPMAX): Type is unsigned.
	(MIN_INT, MAX_INT): Type is signed64.
	(i2fpu): Type of val is signed64.

Tue Oct 21 10:42:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-profile.h (PROFILE_PC_BUCKET_SIZE): Treat a shift of zero as
 	a bucket size of zero.

	* sim-profile.c (OPTION_PROFILE_PC_GRANULARITY,
 	OPTION_PROFILE_PC): Define.
	(profile_option_handler): Add support for --profile-pc and
 	--profile-pc-granularity options.
	(profile_pc_init): When possible, compute nr buckets from bucket
 	size.

	* sim-profile.c (profile_pc_init): Align the profile-pc end
 	address with the profile-pc bucket size.

	* sim-profile.h (PROFILE_PC_NR_BUCKETS): Rename PROFILE_PC_SIZE to
 	something less ambiguous.
	(PROFILE_PC_BUCKET_SIZE): Ditto for PROFILE_PC_SAMPLE_SIZE.

	* sim-profile.c (profile_pc_cleanup): New function. Move
 	profile_pc_uninstall code to here.
	(profile_pc_uninstall): Call.
	(profile_pc_init): Call.

Mon Oct 20 17:23:58 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-profile.c (profile_print_pc): Dump pc profile to dmon.out
 	file using BSD gprof format.

	* sim-bits.h (LSBIT, MSBIT, BIT): Force result to type
 	unsigned_word.
	(LSBIT8, LSBIT16, LSBIT32, LSBIT64, MSBIT8, MSBIT16, MSBIT32,
 	MSBIT64): Force result to unsignedN.

Thu Oct 16 11:38:56 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-alu.h (ALU16_BEGIN, ALU32_BEGIN, ALU64_BEGIN): Drop opening
 	brace from macro.
	(ALU8_BEGIN, ALU8_SET, ALU8_ADD, ALU8_SUB, ALU8_NEGATE): Define.
	(ALU16_ADD, ALU16_SUB, ALU16_NEGATE): Simplify arrithmetic.
	(ALU32_ADD, ALU32_SUB, ALU32_NEGATE): Simplify arrithmetic.
	(ALU64_ADD, ALU64_SUB, ALU64_NEGATE): Simplify arrithmetic.

Wed Oct 15 09:24:19 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.h (struct _sim_core_mapping): Change free_buffer to
 	type void*.

	* sim-core.c (sim_core_uninstall, new_sim_core_mapping,
 	sim_core_map_attach, sim_core_map_detach): Change free_buffer to
 	type void*.
	(sim_core_attach): Rename buffer_freed to free_buffer, type
 	void*. Ensure that allocated buffer is alligned according to
 	region's address.

Mon Oct 13 11:34:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-alu.h (ALU64_HAD_OVERFLOW): Define.
	(ALU64_SUB): Define.

	* Make-common.in (all): Build SIM_EXTRA_ALL first.
	(.gdbinit): Remove dependencies, generate once per build.

Tue Oct 14 19:20:09 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-n-core.h (sim_core_read_aligned_N,
 	sim_core_write_aligned_N): Make xaddr param type address_word not
 	unsigned_word.

Fri Oct  3 09:49:18 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.h, sim-fpu.c: Rewrite.  Change sim_fpu object to an
 	unpacked floating point struct.  Pass sim_fpu object by reference.
	Add preliminary support for rounding modes.
	
Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Thu Oct  2 19:43:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (sim-bitsize): Fix typo, WITH_TARGET_WORD_BITSIZE not
 	WITH_TARGET_BITSIZE.

Thu Sep 25 23:20:20 1997  Felix Lee  <flee@yin.cygnus.com>

        * sim-profile.c (profile_print_core): label needs empty statement.

Thu Sep 25 11:20:47 1997  Stu Grossman  <grossman@babylon-5.cygnus.com>

	* sim-break.c (sim_set_breakpoint sim_clear_breakpoint):  Use ZALLOC
	and zfree instead of xmalloc and free.  Prevents warnings.

Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Wed Sep 24 17:23:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* Make-common.in (SIM_BITSIZE): Assign from configured value.
	(CONFIG_CFLAGS): Add SIM_BITSIZE.

	* aclocal.m4 (--enable-sim-bitsize): Developer option for
 	controling the bitsize/msb of the target.

Wed Sep 24 17:41:40 1997  Stu Grossman  <grossman@babylon-5.cygnus.com>

	* Make-common.in:  New files sim-break.c, sim-break.h.
	* sim-base.h:  Add point to breakpoint list to sim_state_base.
	* sim-break.c sim-break.h:  New modules that implement intrinsic
	breakpoint support.
	* sim-module.c:  Add breakpoint module.
	
Tue Sep 23 00:26:39 1997  Felix Lee  <flee@yin.cygnus.com>

	* sim-events.c (SIM_EVENTS_POLL_RATE): poll more often than once
 	an hour.
	* sim-n-core.h (WITH_XOR_ENDIAN): MSVC barfs on
	if (0) { 1 % 0; }
	* sim-core.c (sim_core_xor_write_buffer): WITH_XOR_ENDIAN + 1.
	(SIGBUS) define for Windows.
	* sim-trace.c (trace_printf,debug_printf): added ALMOST_STDC.
	* sim-resume.c: define SIGTRAP for windows.
	* sim-xcat.h: use token pasting if ALMOST_STDC.

Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* Make-common.in (SIM_SCACHE, SIM_DEFAULT_MODEL): Assign
 	configured values.
 	(CONFIG_CFLAGS): Add same.
	
Mon Sep 22 17:20:27 1997  Felix Lee  <flee@cygnus.com>

	* sim-types.h (SIGNED64): ##i64 when _MSC_VER, not _WIN32.
	(SIGNED32): use ##i32.

Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Tue Sep 23 10:07:47 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (sim-endian): Simplify logic determining [default]
 	endian of target.

	* Make-common.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN,
 	SIM_HOSTENDIAN, SIM_RESERVED_BITS, SIM_ASSERT, SIM_FLOAT,
 	SIM_HARDWARE, SIM_INLINE, SIM_PACKAGES, SIM_REGPARM, SIM_SMP,
 	SIM_STDCALL, SIM_XOR_ENDIAN): Assign configured values.
	(CONFIG_CFLAGS): Add same.

	* aclocal.m4: Perform AC_SUBST on optional options.

Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-config.h (WITH_DEFAULT_ALIGNMENT): Don't hardwire any alignment.

	* sim-options.c (standard_option_handler): Typo in warning message.

	* sim-base.h (STATE_MODEL): Make conditional on SIM_HAVE_MODEL.

	* sim-profile.c (profile_print_insn): Check 0 .. MAX_INSN for any
 	insn count.  Make count conditional on there being a valid
 	INSN_NAME.
	(profile_pc_init): Make default PC profile frequency an arbitrary
 	256.

	* sim-base.h: Ditto.

	* sim-profile.h (WITH_PROFILE_MODEL_P): Only enable modeling when
 	SIM_HAVE_MODEL.

	* sim-model.h (struct MACH): Depreciate, to be replaced by bfd
	archure struct.

Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Mon Sep 22 11:45:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (sim_alignment): Simplify logic for selecting the
 	configured alignment.

Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Fri Sep 19 17:26:14 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-config.c (sim_config): Check for default alignment.

	* sim-options.c (standard_option_handler): Add alignment option.

	* aclocal.m4 (sim_alignment): Allow configuration of hardwired and
 	default alignment requirements on memory accesses.
	
Fri Sep 19 11:51:35 1997  Jeffrey A Law  (law@cygnus.com)

	* sim-load.c (sim_load_file): Return failure if the executable
	had no loadable sections.

Wed Sep 17 13:33:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (ETRACE): Use trace_printf not sim_io_printf for
 	trace output.

	* sim-core.c (sim_core_signal): When bad access halt simulator
 	SIGSEGV / SIGBUS instead of aborting.
	(signal.h): Include.
	
	* sim-watch.c (sim_watchpoint_install): Handler for watchpoint
 	options was missing.

	* sim-bits.h (MOVED): Define

Wed Sep 17 10:33:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-alu.h (ALU32_HAD_OVERFLOW): Pacify GCC, Use MSBIT instead of
 	BIT.

	* sim-bits.h (LSBIT, MSBIT): Check for overflow of shift value.

	* sim-bits.c: Add 8 bit versions of bit macros.

	* sim-bits.h: Ditto.

Tue Sep 16 16:15:16 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-bits.c (LSSEXT, MSSEXT): Replace SEXT.
	(LSINSERTED, MSINSERTED): Ditto for INSERTED.
	
	* sim-n-bits.h (MSSEXTn, LSSEXTn): Replace SEXTn.
	(LSINSERTDn, MSINSERTEDN): Ditto for INSERTEDn.
	
	* sim-bits.h (SEXT*): Define as MSEXT/LSEXT.
	(INSERTED*): Ditto for LSINSERTED/MSINSERTED.
	
Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (SIM_AC_COMMON): Add optional config.h file argument.
	configure.in: Output to cconfig.h instead of config.h.

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Mon Sep 15 15:39:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-utils.c (sim_analyze_program): Set STATE_ARCHITECTURE from
 	BFD if known.

Tue Sep  9 21:46:46 1997  Felix Lee  <flee@cygnus.com>

	* callback.c (os_write): divert stdout and stderr to their
 	respective hooks.

Thu Sep 11 10:08:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-profile.c (profile_print_speed): Call
 	sim_events_elapsed_time instead of PROFILE_EXEC_TIME for moment.

	* sim-events.c (sim_events_elapsed_time): New function return nr
 	host MS consumed by the simulator.
	(sim_watch_valid): Use.

	* sim-module.c (modules): Install sim_events very very early.

	* sim-profile.c (profile_print): Call profile_print_pc.
	(print_bar):
	(profile_pc_init): New function, set up processor for PC
 	profiling.
	(profile_print_pc): New function, print a PC profile.
	(profile_pc_event): New function, sample PC.

	* sim-profile.h (PROFILE_PC_COUNT, PROFILE_PC_START,
 	PROFILE_PC_END, PROFILE_PC_SHIFT, PROFILE_PC_SAMPLE_SIZE): Add to
 	profile struct.

	* sim-options.c (sim_print_help): Pacify GCC.

	* sim-n-core.h (sim_core_read_aligned_N,
 	sim_core_write_aligned_N): Add un-conditional profile call.
	(sim_core_read_unaligned_N, sim_core_write_unaligned_N): Add
 	profile call when aligned read/write isn't used.

	* sim-base.h: Include sim-profile, sim-model after sim-core &
 	sim-events allow sim-core to define useful values.

	* sim-profile.c (OPTION_PROFILE_CORE): Define.
	(profile_option_handler, profile_options): Add support for
 	--profile-core option.
	(print_bar): Include when core profiling.
	(profile_print_core): New function, print core profile.

	* sim-config.c (print_sim_config): Print profile status.

	* sim-profile.h (PROFILE_NEXT_IDX, PROFILE_core,
 	WITH_PROFILE_PC_P): Define.
	(PROFILE_CORE_COUNT): Count each core-map/size separatly.
	(PROFILE_COUNT_CORE): Define.

Thu Sep 11 08:44:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-watch.c (handle_watchpoint): Pass a char** index into the
 	interrupt_names array as the data.
	(sim-watch.h): Document.

Wed Sep 10 16:15:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-options.c (sim_print_help): When the doc string is to long
 	word wrap it.

	* sim-watch.c (sim_watchpoint_install): Use option.doc_name so
 	that only the first few the watch options are listed.  Generate
 	meanginful usage messages.

	* sim-options.h (struct OPTION): Clarify use of doc_name field
	
Wed Sep 10 13:23:24 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-options.c (OPTION_ARCHITECTURE_INFO): New option.
	(standard_option_handler): Handle --architecture-info.

Tue Sep  9 21:46:46 1997  Felix Lee  <flee@cygnus.com>

	* sim-core.h (sim_cpu_core): [WITH_XOR_ENDIAN + 1], to avoid
	illegal zero-sized array.
	* sim-core.c (sim_core_xor_read_buffer): same.

Tue Sep  9 11:20:35 1997  Doug Evans  <dje@canuck.cygnus.com>

	* nltvals.def: Regenerate.

Tue Sep  9 02:10:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (DP_FRACHIGH2): Define LL using SIGNED64.

Mon Sep  8 12:22:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-bits.c (MASKED): Delete.
	(EXTRACTED): Delete.
	(LSEXTRACTED, MSEXTRACTED): New functions.

	* sim-n-bits.h (MASKEDn): Delete, define as MSMASKED or LSMASKED.
	(MSMASKEDn, LSMASKEDn): Add last argument.
	(MSMASK*): Ditto.
	
	* sim-bits.h (EXTEND8, EXTEND16): Define.
	(EXTRACTED64): Define as 64 bit extract, not 32 bit.

	* sim-run.c (sim_engine_run): Use CPU_CIA macro.

	* sim-engine.h (SIM_ENGINE_HALT_HOOK): Use CPU_CIA to get at
 	current instruction address.

	* sim-inline.h (*_ENGINE): Define.

Fri Sep  5 08:39:02 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (sim_core_attach): Fix checks of modulo/mask.

	* sim-watch.c (delete_watchpoint): Delete by ident and type.
	(watch_option_handler): Call delete_watchpoint with ident or type.
	(sim_watchpoint_install): Create interrupt specific watchpoint
 	commands on the fly.
	(do_watchpoint_create): New function, create a watch point using
 	type/int-nr info encoded in the option nr.
	(do_watchpoint_info): New function.  List active watchpoints.

	* sim-watch.h: Change data structure to a list.

	* sim-memopt.c (memory_option_handler): Require explicit "all"
 	before deleting all memory regions.

	* sim-utils.c (sim_do_commandf): New function, printf version of
 	sim_do_command.

	* sim-basics.h (asprintf, vasprintf): Hack, define for CYGWIN32. 
	
	* sim-alu.h (ALU64_ADD): Use explicit MSEXTRACTED64, do not assume
 	bit endianness.
	(SIGNED64, UNSIGNED64): Delete.
	(ALU64_ADD): Don't rely on bit endianness.
	(ALU64_BEGIN): Define.

	* sim-n-bits.h (MSEXTRACTEDn, LSEXTRACTED): New functions.
	(EXTRACTEDn): Delete, define as either LSEXTRACTED or MSEXTRACTED.

	* sim-types.h (SIGNED64, UNSIGNED64): New macros, attach relevant
 	suffix - u64, LL - to 64 bit constants.

Thu Sep  4 09:27:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-config.c (sim_config): Add assert for SIM_MAGIC_NUMBER.

	* sim-utils.h (NZALLOC): Define - zalloc * N.

	* sim-hrw.c (sim_read, sim_write): New file.  Provide generic
 	implementation of read/write functions.

	* Make-common.in (sim-hrw.o): New target.

	* sim-base.h (STATE_MEMOPT_P): Delete, simulators _always_ add
 	memory.

	* sim-memopt.c (memory_option_handler): Implement memory-size
 	command. Implement memory-alias command.  Let memory-delete delete
 	all memory regions.
	(add_memopt): New function.  Add a memory region.
	(do_memopt_delete): New function. Delete a memory region.

	* sim-utils.c (sim_elapsed_time_get): Never return zero.

	* sim-core.c (sim_core_detach): New function.
	(sim_core_map_detach): New function. Perform the actual detach.
	(sim_core_init): Move initialization code from here.
	(sim_core_install): To here.
	(sim_core_uninstall): And here.

	* sim-module.c: Add memopt module.

	* sim-base.h (STATE_MEMOPT, STATE_MEMOPT_P): Add memopt to
 	simulator base type.

	* Make-common.in (sim_main_headers): Add sim-memopt.h
	(sim-memopt.o): New target.

	* sim-core.c (sim_core_install): Add core_options to the option
 	table.

	* sim-watch.c (watch_options): Make --delete-watch a synonym for
 	--watch-delete.

	* sim-config.h (WITH_MODULO_MEMORY): Define as 0.  Update
 	comments.

	* sim-core.h (struct _sim_core_mapping): Change nr_bytes to type
 	address_word, add mask member.
	
	* sim-core.h, sim-core.c (sim_core_attach): Make nr_bytes of type
 	address_word, allow for 64bit targets in 32bit host. Add modulo
 	argument.
	(sim_core_map_attach): Ditto.
	(new_sim_core_mapping): Ditto.
	(sim_core_translate): Mask address when modulo memory.

Wed Sep  3 17:32:54 1997  Doug Evans  <dje@seba.cygnus.com>

	* sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.

	* gdbinit.in: New file.
	* aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
	* Make-common.in (distclean): Delete .gdbinit.
	(.gdbinit): Add rule for.
	* configure: Regenerated to track ../common/aclocal.m4 changes.

	* Make-common.in (cgen-run.o): Add rule for.

Wed Sep  3 10:08:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-resume.c (sim_resume): Suspend/resume the simulator.

	* sim-events.c (sim_watch_valid): Compute total elapsed time from
 	both resumed and previous elapsed time.
	(sim_events_init): Set initial_wallclock and current_wallclock to
 	zero.
	(sim_events_install): Install sim_events_suspend and
 	sim_events_resume.
	(sim_events_watch_clock): Allow for suspended simulator when
 	computing the time of the clock event.

	* sim-events.h (struct _sim_event): Add resume_wallclock, rename
 	initial_wallclock to elapsed_wallclock, set both to zero.
	(sim_events_init, sim_events_uninstall): Delete prototypes.

	* sim-module.h (MODULE_SUSPEND_FN, MODULE_RESUME_FN): Define types.
	
	* sim-module.c(sim_module_resume, sim_module_suspend): New
 	functions.

Wed Sep  3 10:08:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (sim_core_map_attach): Clarify memory overlap error
 	message.

Tue Sep  2 14:57:06 1997  Doug Evans  <dje@canuck.cygnus.com>

	* Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
	* Make-common.in (TAGS): Likewise.
	* sim-n-bits.h: Add TAGS comments for all functions.
	* sim-n-core.h: Likewise.
	* sim-n-endian.h: Likewise.

Mon Sep  1 10:50:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-utils.c (sim_state_alloc): Set CPU backlinks, callback and
 	kind.
  	
	* sim-base.h (sim_state_alloc): Add callback and kind arguments.
	
	* sim-base.h (INVALID_INSTRUCTION_ADDRESS): Add default
 	definition.

Sat Aug 30 09:47:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (DP_GARDMSB, ...): Make unsigned.
	(DP_FRACHIGH, DP_FRACHIGH2, ..): Use MSMASK to avoid LL.

Fri Aug 29 13:37:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (sim_core_map_attach): Cast attach enum to int.
	(sim_core_xor_read_buffer, sim_core_xor_write_buffer): Make
 	nr_transfered and nr_this_transfer unsigned.

	* sim-events.c (sim_events_tickn): N is signed, as limited to
 	MAXINT.

	* sim-n-endian.h (offset_N): Change size to unsigned.

	* callback.c (os_poll_quit): Add prototypes for kbhit and getkey.

Fri Aug 29 10:10:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-utils.c (sim_copy_argv): Delete, replaced by dupargv.

	* sim-options.c (sim_parse_args): Use dupargv.

Thu Aug 28 10:36:34 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-options.c (standard_option_handler): Use xstrdup, not strdup.

Thu Aug 28 12:09:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-base.h (STATE_ARCHITECTURE, STATE_TARGET): Add to simulator
 	base type.

	* sim-options.c (standard_options): Add --architecture=MACHINE and
 	--target=TARGET options.
	(OPTION_ARCHITECTURE, OPTION_TARGET): Define.
	(standard_option_handler): Handle architecture and target options.
	(bfd.h): Include.
	
	* sim-utils.c (sim_analyze_program): Pass STATE_TARGET to
 	bfd_openr.
	(sim_analyze_program): Set prog_bfd architecture from
 	STATE_ARCHITECTURE if known.

Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	* config.in: Ditto.

Wed Aug 27 18:11:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (enable-sim-warnings): Remove comment stating
 	that option does not apply to certain files.

Wed Aug 27 15:13:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-bits.h (LSBIT8, LSBIT16, LSBIT32, LSBIT64, LSBIT, MSBIT8,
 	MSBIT16, MSBIT32, MSBIT64, MSBIT): New macros - single bit as
 	offset from MSB/LSB.

	* sim-endian.h (A1_8, A2_8, A4_8, A1_4, A2_4, A1_2): New macro,
 	access address of sub word quantity of a hosts 16, 32, 64 bit word
 	type.
	(V1_2, V1_4, V2_4, V1_8, V2_8, V4_8): Ditto for values.
	(U8_1, U8_2, U8_4, U4_1, U4_2, U2_1): Ditto for set of values.
	(V2_H1, V2_L1, V4_H2, V4_L2, V8_L4, V8_H4): Given N byte argument,
 	return N*2 byte value with argument in Hi/Lo word.  Renamed from
 	V1_H2, V1_L2, V2_H4, V2_L4, V4_H8, V4_L8.
 	
	* sim-alu.h (ALU32_HAD_OVERFLOW): Use 64 bit mask not 32bit.
	(ALU16_HAD_CARRY, ALU32_HAD_CARRY, ALU16_HAD_OVERFLOW): Use MSBIT
 	so that bit offset is explicit.

Wed Aug 27 11:55:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-utils.c (sim_analyze_program): Add prog_name argument.
  	Update STATE_PROG_BFD when needed with a dup'd copy of the
 	program.

	* sim-config.c (sim_config): Delete ABFD argument, use
 	STATE_PROG_BFD directly.

Tue Aug 26 12:55:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* run.c (main): Pass the open ABFD to sim_create_inferior.
	
	* nrun.c (main): Determine prog_bfd.  Pass to sim_create_inferior
 	and sim_load.
	(bfd.h): Include.
	
	* sim-hload.c (sim_load): New file. Implement generic sim_load for
 	hardware only simulator targets.

	* Make-common.in (sim-hload.o): Add rule.

Wed Aug 27 09:51:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-utils.c (sim_copy_argv): Rewrite to match malloc strategy
 	used by copyargv and freeargv.

	* sim-options.c (sim_parse_args): Save a copy of PROG-ARGS in
 	STATE_PROG_ARGV, not just a pointer.

Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	* config.in: Ditto.

Mon Aug 25 12:11:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* aclocal.m4 (sim-endian): Add second argument to
 	SIM_AC_OPTION_ENDIAN.  First is hardwired endian, second is
 	default endian when not hardwired.

	* sim-config.h (WITH_DEFAULT_TARGET_BYTE_ORDER): New macro, if all
 	else failes value for target byte order.

	* sim-config.c (sim_config): Add abfd arguments. Set
 	STATE_PROG_BFD accordingly.  Determine prefered_target_byte_order
 	from same.
	(sim_config): Return SIM_RC, don't abort.
	(bfd.h): Include.
	
	* run.c (main): Update call to sim_open - add ABFD argument.
  	* nrun.c (main): Add NULL ABFD argument.

Thu Aug 14 12:48:57 1997  Doug Evans  <dje@canuck.cygnus.com>

	* callback.c (os_poll_quit): Make static.
	Call sim_cb_eprintf, not p->eprintf.
	(sim_cb_printf, sim_cb_eprintf): New functions.
	* sim-utils.h (sim_cb_printf, sim_cb_eprintf): Declare.

	* sim-basics.h (zalloc,zfree,sim_add_commas,SIM_ELAPSED_TIME,
	sim_elapsed_time_get,sim_elapsed_time_since): Move decls to
	sim-utils.h. #include sim-utils.h.
	* sim-utils.h: Above decls moved here.
	(sim_analyze_program,sim_load_file): Use `struct _bfd', not `bfd'.

	* sim-watch.c (action_watchpoint): Fix thinkos.

Thu Jul 24 08:48:05 1997  Stu Grossman  (grossman@critters.cygnus.com)

	* sim-types.h:  Fix defs of 64 bit data types for MSVC.

Tue Jul 22 10:35:37 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-n-core.h (sim_core_write_unaligned_N): Add missing break
	to FORCED_ALIGNMENT case.

Thu Jun  5 13:48:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* callback.c (target_to_host_open): Handle hosts with O_BINARY.

Thu Jun  5 08:47:10 1997  Jeffrey A Law  (law@cygnus.com)

	* Make-common.in (libsim.a): Fix typo.

Thu Jun  5 13:48:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* nrun.c (main): Verify the structure returned before using it.

Wed Jun  4 11:44:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-config.h (WITH_ENGINE): Enable the sim-engine module by
 	default.

	* sim-engine.c (sim_engine_install): New function.  Install the
 	engine init functions.
	(sim_engine_init): [Re]initialize the simulator engine.
	
	* sim-module.c: Add sim_engine to list of modules that always
 	install.

Tue Jun  3 04:52:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-watch.c (schedule_watchpoint): Use sim_unschedule_watchpoint
 	to remove the old watchpoint, not delete_watchpoint.
	(watch_option_handler): Action the correct watchpoint, not just
 	cycles.

Wed May 28 14:47:41 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-n-core.h (sim_core_write_aligned_N): For 8byte reads, output
 	both low and high word.
	(sim_core_write_aligned_N): Ditto.
	
	* sim-trace.c (set_trace_options): Delete code explicitly setting
 	core->trace.

	* sim-options.c (sim_print_help): Call the list commands if not a
 	standalone simulator.
	(sim_print_help): Advise that some options may not be applicable.
	
	* sim-trace.c (set_trace_options): Assume core present.

	* sim-events.c (sim_events_schedule_after_signal): Overflow signal
 	buffer when full not almost full.

Tue May 27 14:32:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (sim_events_process): Don't blat the event queue
 	when processing watchpoints.

	* sim-watch.h: Make arg unsigned long - stop sign extension.

	* sim-events.c (sim_watch_valid): rewrite so debugable.

	* sim-config.h (WITH_XOR_ENDIAN): Default to zero.

	* sim-watch.c (schedule_watchpoint): Add is_within option so that
 	inequality test is possible.
	(handle_watchpoint): Re-pass is_within arg.
	(watch_option_handler): When `!' prefix to pc-watchpoint arg pass
 	0 to schedule_watchpoint's is_within arg.
	(sim_watchpoint_init): Re-pass is_within arg.

	* sim-options.c (sim_print_help): Add is_command argument.  Don't
 	include -- prefix when called from the command line interpreter.

	* sim-watch.c (schedule_watchpoint): Pass true is_within argument.

	* sim-events.c (sim_events_watch_sim): Add is_within argument,
 	zero indicates that the test should be reversed.
	(sim_events_watch_core): Ditto.
	(WATCH_CORE): Compare range against is_within.
	(WATCH_SIM): Ditto.

Tue May 27 12:48:03 1997  Andrew Cagney  <cagney@b2.cygnus.com>

	* sim-events.c (WATCH_CORE): Pass NULL cpu argument to
 	sim_core_read_buffer.  Check nr-bytes transfered.

	* sim-core.h (sim_core_common): Define a new struct that contains
 	the common data.  to sd and cpu structures.
	* sim-core.c (sim_core_attach): Update.
	(sim_core_init): Update. Remember to copy initialized data to each
 	cpu.
	(sim_core_find_mapping): Ditto.

	* sim-core.c (sim_core_read_buffer): Add cpu argument.
	(sim_core_write_buffer): Ditto.

	* sim-n-core.h (sim_core_read_unaligned_N): When mis-aligned
 	transfer use xor version of read buffer.
	(sim_core_write_unaligned_N): Ditto for write.
	
	* sim-core.c (sim_core_xor_read_buffer): New function implement
 	xor-endian data read breaking transfer up into xor-endian sized
 	blocks.
	(sim_core_xor_write_buffer): Ditto for write.
	(reverse_n): Reverse order of arbitrary number of bytes in buffer
 	- needed for xor-endian transfers.

Fri May 23 14:24:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-inline.h: Review description.
	
	* sim-core.h, sim-core.c: Reduce number of functions being inlined
 	to just those involved in data transfers and configuration.
	
	* sim-xcat.h (XSTRING): New macro, map macro definition onto
 	string.
	* sim-n-core.h (sim_core_read_aligned_N): Use.
	(sim_core_read_unaligned_N): Ditto.
	(sim_core_read_unaligned_N): Ditto..
	(sim_core_write_unaligned_N): Ditto.
	
	* sim-core.h: Add xor endian bitmap to main structure.  *
	
 	sim-n-core.h (sim_core_write_aligned_N): Add suport for xor
 	endian.
	(sim_core_read_aligned_N): Ditto.

	* sim-core.c (sim_core_set_xor_endian): New function.
	(sim_core_attach): Don't overwrite the per-cpu xor map when
 	cloning the global core.

Fri May 23 10:53:13 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-engine.h: Update below so that it is using an enumerated
 	type.

Thu May 22 09:12:16 1997  Gavin Koch  <gavin@cygnus.com>

	* sim-engine.c (sim_engine_restart): 
	* sim-resume.c (sim_resume): Change longjmp param/setjmp 
 	return value used for simulator restart from 0 to 2.

Wed May 21 08:47:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* cgen-scache.c (scache_option_handler): Add is_command arg.

	* sim-model.c (model_option_handler): Add is_command argument.

	* sim-profile.c (profile_option_handler): Add is_command arg.

	* sim-events.c (sim_watch_valid): Use ub64, lb64 when 64bit value
 	involved.

	* sim-module.c (sim_module_add_init_fn): Call init fn in the same
 	order that they are registered.

	* sim-options.h (OPTION_HANDLER): Add argument to differentiate
 	between option and command line processing.

	* sim-options.c: Include stdlib.h, ctype.h.

	* Make-common.in (sim-watch.o): Add rule.
	(sim_main_headers): Assume sim-assert.h included.
	(sim-*.o): Simplify make rule.
	
	* sim-module.c: Add sim_watch_install to module list.

Tue May 20 14:15:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-base.h (STATE_LOADED_P): New predicate. Set once everything
 	has been loaded.

	* sim-trace.c (trace_install): Check magic. Include sim-assert.h.
	* sim-events.c (sim_events_install): Ditto.
	* sim-core.c (sim_core_install): Ditto.
	* sim-model.c (model_install): Ditto.
	* sim-options.c (standard_install): Ditto.
	* sim-profile.c (profile_install): Ditto.
	* sim-reason.c (sim_stop_reason): Ditto.
	* sim-run.c (sim_engine_run): Ditto.
	* sim-utils.c (sim_analyze_program): Ditto.

	* sim-module.c (modules): Make profile_install and trace_install
 	optional.

	* sim-base.h (STATE_MEM_BASE): Define for flat memory systems.

	* sim-options.c (standard_option_handler): Set the byte order.

	* sim-events.c (sim_events_process): Allow multi tick processing.
	(sim_events_tickn): New function - multi cycle tick.
	
	* sim-events.h (sim_events_tickn, sim_events_timewarp): Add
 	prototypes.  Under development.
	(sim_events): Replace processing with nr_ticks_to_process.

Tue May 20 09:39:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* nrun.c (main): Pass callbacks to sim_open instead of using
 	sim_set_callbacks.

	* run.c (main): Ditto.

Mon May 19 12:07:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (sim_events_zalloc): Signal save memory allocator -
 	stop tk interrupting malloc calls.
	(sim_events_zalloc): Converse.

	* Make-common.in (sim_main_headers): Add sim-events.h.

	* sim-events.c (sim_events_schedule_after_signal): Change return
 	type to void - signal events are strictly internal.
	(sim_events_init): Allocate a finite buffer for signal events.
	(sim_events_schedule_after_signal): Enter signal events into the
 	signal buffer.

	* sim-engine.c (sim_engine_halt): Check SIM_DESC magic.
	(sim_engine_restart): Ditto.
	(sim_engine_abort): Ditto.
	* sim-stop.c (sim_stop): Ditto.
	(control_c_simulation): Ditto.
	* sim-resume.c (sim_resume): Ditto.
	(has_stepped): Ditto.
	* sim-abort.c (sim_engine_abort): Ditto.

	* sim-basics.h (transfer_type): New type.

	* sim-core.c (sim_core_signal): New function. Print core signal
 	information.
	(sim_core_find_mapping): Add transfer argument.

	* sim-n-core.h (sim_core_{write,write}_unaligned_N): Call
 	SIM_CORE_SIGNAL if a recoverable abort.
	* sim-core.c (sim_core_find_mapping): Ditto.

Fri May 16 15:13:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (sim_core_find_mapping): Replace calls to
 	sim_io_error to more resiliant sim_engine_abort.

	* sim-n-core.h (sim_core_read_unaligned_N): Ditto.
	(sim_core_write_unaligned_N): Ditto.

Tue May 13 13:50:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-module.c: Add sim_events_install to list.
	
	* sim-events.c (sim_events_install, sim_events_uninstall): Clonse
 	from sim_core_*.
	(sim_events_init): Now returns SIG_RC.

	* sim-run.c: New file. Generic sim_engine_run.
	* sim-reason.c: New file. Generic sim_stop_reason.
	* sim-stop.c: New file. Generic sim_stop.
	* sim-resume.c: New file. Generic sim_resume.
	
	* Make-common.in (sim-engine.o): Add rule.
	(sim-run.o, sim-reason.o, sim-stop.o, sim-resume.o): Ditto.
	
	* sim-engine.h, sim-engine.c: New file. Provide generic
 	implementation of sim_engine_halt, sim_engine_error. et.al.

	* sim-base.h (sim_state_base): Add member halt.
	(sim-engine.h): Include.

	* sim-events.h (sim_event_handler): Always pass SIM_DESC to event
 	handlers.
	* sim-events.c (sim_events_poll): Update event handler.

Tue May 13 09:57:49 1997  Andrew Cagney  <cagney@b2.cygnus.com>

	* sim-events.h, sim-events.c (sim_events_watch_clock): New
 	function.
	(sim_events_watch_sim): New function.
	(sim_events_watch_core): New function.
	(sim_watch_valid): New function.
	(sim_events_preprocess): New function.
	(sim_events_process): Process the watchpoints as well as the timer
 	queue.
	(sim_events_tick): Check WORK_PENDING instead of the hold queue.
	(sim_events_deschedule): Check all the queues when removing an
 	event.
	(sim_events_init): Ditto for cleaning.

Mon May 19 12:07:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (is_ufpu_number): Comment out - currently unused.

Mon May 19 11:23:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* callback.c (os_open): Type of arg flags is int.

Fri May 16 22:26:43 1997  Michael Meissner  <meissner@cygnus.com>

	* sim-fpu.c (sim_fpu_is_{eq,ne,lt,le,gt,ge}): Compare Infinities
	just like normal numbers as per IEEE rules.

Wed May 14 21:20:38 1997  Bob Manson  <manson@charmed.cygnus.com>

	* callback.c (os_close): Mark the descriptor as being
	available if the close succeeded.
	(os_open): Pass 0644 as the mode of the file being created.

Thu May 15 10:58:52 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-fpu.c (pack_fpu, unpack_fpu): New functions - decode a
 	float.

	* sim-inline.c (SIM_INLINE_C): Rename from _SIM_INLINE_C_.
	* sim-lnline.h: Update.

	* sim-fpu.h, sim-fpu.c (sim_fpu_[iu]{32,64}to): New int2fp
 	conversion functions.
	(sim_fpu_to{32,64}[iu]): New fp2int functions.
	
	* sim-fpu.h, sim-fpu.c (sim_fpu_is_{lt,le,eq,ne,ge,gt}): New fp
 	compare functions.  Replacing.
	(sim_fpu_cmp): This. Delete.
	
Mon May 12 14:49:05 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (sim_core_find_mapping): Call engine_error not
 	sim_io_error when possible.

Mon May 12 08:55:07 1997  Andrew Cagney  <cagney@b2.cygnus.com>

	* sim-endian.h (V1_H2): Add macro's to insert a word into a
 	high/low double word.

	* sim-trace.h: Remove definition of attribute - defined in
 	sim_basics.h.

Mon May 12 08:55:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-options.h (struct OPTION): Add doc_opt as the documenting
 	name of the option - or family of options.

	* sim-options.c (sim_args_command): Match command `a-b c' with
 	option `--a-b-c' from option table.

Thu May  8 12:40:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-options.c (sim_print_help): For optional arguments, wrap
 	them in [].

	* sim-trace.c (set_trace_options): New function, handle optional
 	argument and multiple assignment.
	(trace_option_handler): Update.

	* sim-trace.c (trace_option_handler): Trace branch and not fpu
 	when branch tracing selected.

Wed May  7 15:19:58 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.c (trace_one_insn): Make a va-args function.

	* sim-trace.c (trace_vprintf): New function, va-arg version of
 	trace_printf.

Tue May  6 16:38:16 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-trace.c (trace_uninstall): Don't close a file twice.
	* sim-profile.c (profile_uninstall): Likewise.

Tue May  6 06:14:01 1997  Mike Meissner  <meissner@cygnus.com>

	* sim-trace.c (toplevel): Include bfd.h.
	(trace_options): Note that --trace-linenum also turns on
	--trace-insn.  Add --trace-{branch,semantics}.
	(trace_option_handler): If --trace-linenum, also turn on
	--trace-insn.  Add --trace-branch support.  If --trace-semantics,
	turn on ALU, FPU, branch, and memory tracing.
	(trace_one_insn): New function to trace an instruction.  Support
	--trace-linenum.
	(OPTION_TRACE_*): Use an enum, rather than lots of defines.

	* sim-trace.h (TRACE_{SEMANTICS,BRANCH}_IDX): Add new macros.
	(MAX_TRACE_VALUES): Use 32, not 12 by default.
	(TRACE_branch): Add new mask.
	(TRACE_*_P): Define all possible trace_p macros.
	(trace_one_insn): Declare function.

Mon May  5 14:08:34 1997  Mike Meissner  <meissner@cygnus.com>

	* sim-trace.h (__attribute__): Define as nothing if not GNU C or
	GNU C doesn't support __attributes__.
	({trace,debug}_printf): Add attribute's so -Wformat can check the
	format strings.

Mon May  5 11:16:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-config.h (FORCED_ALIGNMENT): New alignment option -
 	addresses are masked forcing them to be correctly aligned.
	(WITH_ALIGNMENT): Make NONSTRICT_ALIGNMENT the default.
	* sim-config.c (config_alignment_to_a): Update.

	* sim-core.h (sim_cpu_core): New data type contains cpu specific
 	core data.
	* sim-base.h (CPU_CORE): Add cpu specific core data to cpu base
 	type.
	* sim-core.c (sim_core_attach): Add CPU argument.  Ready for
 	processor specific core maps.
	(sim_core_map_attach): Copy the core map data to each of the
 	processor specific core data structures.
	* sim-core.c (sim_core_find_mapping): Update.

	* sim-n-core.h (sim_core_read_N, sim_core_write_N): Rename.
	(sim_core_write_aligned_N, sim_core_write_aligned_N): New names.
	(sim_core_write_unaligned_N, sim_core_write_unaligned_N): New
 	alternatives that handle unaligned addresses.
	(sim_core_{read,write}_{,un}aligned_N): Drop SIM_DESC arg, replace
 	with just CPU arg.
	* cgen-utils.c (sim_disassemble_insn): Update.

Mon May  5 13:19:16 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-trace.h (TRACE_FPU_IDX): Add Floating-point specific
 	tracing.

	* sim-fpu.h, sim-fpu.c: New files - prototype for generic target
 	fpu support.

	* sim-inline.h, sim-inline.c: Add support for SIM_FPU.

Fri May  2 17:59:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-core.c (sim_core_map_to_str): New function ascii equivalent
 	to map type.
	
	* sim-n-core.h (sim_core_read_N, sim_core_write_N): Use in trace
 	statement.

Fri May  2 17:28:02 1997  Andrew Cagney  <cagney@b2.cygnus.com>

	* cgen-trace.c: Prepend additional trace_printf argument.

	* cgen-utils.c (sim_disassemble_insn): Add additional core
 	arguments.

Fri May  2 11:40:23 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* nrun.c (main): Catch/report errorenous simulator states.

	* sim-module.c: #include "libiberty.h" so that xmalloc is defined.
  	* sim-trace.c: #include string.h/strings.h so that memset is
 	defined.
	* sim-utils.c: Ditto.
	* sim-profile.c: Ditto. And stdlib.h.
	(print_bar): Only define when used by instruction or memory profiler.

	* sim-options.c (standard_option_handler): Make ul more local.
	
	* sim-load.c (sim_load_file): Make the name constant.
	(sim_load_file): Passify gcc.

	* sim-utils.h: New file, pre-declare utilites in corresponding .c
 	file.
	* sim-utils.c, sim-load.c: Include sim-utils.h.
	
	* sim-base.h (sim_cpu): Pre define here so available to all.

	* sim-core.h (DECLARE_SIM_CORE_WRITE_N, DECLARE_SIM_CORE_READ_N):
 	Restore the sim_cpu and instruction_address arguments so that full
 	information is available to the abort function.
	* sim-core.c (sim_core_find_mapping, sim_core_write_buffer): Ditto.
	* sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.

	* sim-trace.h, sim-trace.c (trace_option_handler): Add interim
 	tracing support for sim-events and sim-core.
	(trace_option_handler): Convert #if to if where possible so always
 	compiled/checked by C compiler.
	* sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
	
	* sim-base.h: Adjust comment documenting how to define the cpu
 	structure.
	(sim_state_base): Add sim_core and sim_events to simulator base
 	object.

	* sim-trace.h, sim-trace.c (trace_printf): Add SIM_DESC argument.
	* sim-core.c (sim_core_init, sim_core_attach,
 	sim_core_find_mapping): Update.
	* sim-events.c (ETRACE, sim_events_init, sim_events_time,
 	update_time_from_event, insert_sim_event,
 	sim_events_schedule_after_signal, sim_events_deschedule,
 	sim_events_tick): Ditto.
	
	* sim-basics.h (sim-module.h, sim-trace.h, sim-profile.h,
 	sim-model.h): Move #includes from here.
	* sim-base.h: To here.
	(sim-core.h, sim-events.h, sim-io.h): Include also
	
Wed Apr 30 15:37:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* callback.c (default_callback): Missing initialisers.

Thu May  1 10:40:47 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-utils.c (sim_add_commas): New function.
	* sim-basics.h (sim_add_commas): Add prototype.
	* cgen-scache.c (scache_print_profile): Print commas in numbers.
	* sim-profile.c (COMMAS): New macro.
	(print_*): Use it to print commas in numbers.

	* configure: Regenerated.

	* cgen-sim.h (sim_signal_type): Add SIM_SIGINT.
	(cgen_state): New member run_fast_p.
	(cgen_init): Add prototype.
	(sim_disassemble_insn): New arg `cpu'.
	* cgen-trace.c (trace_insn): Update call to sim_disassemble_insn.
	* cgen-utils.c (cgen_init): New function.
	(sim_disassemble_insn): New arg `cpu'.  Rewrite fetching of insn.
	* genmloop.sh: Call engine_halt if loop exits.

	* Makefile.in (sim-options_h): Define.
	(sim-{module,options,trace,profile,utils}.o): Clean up dependencies.
	(sim-model.o): Add new rule.
	(cgen-{scache,trace,utils}.o): Add new rules.
	* aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add.
	* cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'.
	Indent output by 2 spaces.
	* cgen-scache.h (scache_print_profile): Update.
	* cgen-trace.c (trace_insn_fini): Indent output by 2 spaces.
	Use trace_printf, not fprintf.
	(trace_extract): Use trace_printf, not cgen_trace_printf.
	* genmloop.sh (!FAST case): Increment `insn_count'.
	* sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE.
	(sim_cpu_base): Rename member `sd' to `state' to be consistent with
	access macro's name.
	* sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it.
	Change return type to SIM_RC.
	(sim_core_{install,uninstall}): New functions.
	* sim-core.h (sim_core_{install,uninstall}): Declare.
	(sim_core_init): Use EXTERN_SIM_CORE to define it.
	Change return type to SIM_RC.
	* sim-model.h (models,machs,model_install): Declare.
	* sim-module.c (modules): Add scache_install, model_install.
	(sim_post_argv_init): Set cpu->state backlinks.
	* sim-options.c (standard_options): Delete --simcache-size,--max-insns.
	(standard_option_handler): Likewise.
	* sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to
	sim-profile.h.
	(*): Assume ANSI C.
	(profile_options): Delete --profile-simcache.
	(profile_option_handler): Likewise.
	(profile_print_insn): Change `sd' arg to `cpu'.  Indent output 2
	spaces.
	(profile_print_{memory,model}): Likewise.
	(profile_print_simcache): Delete.
	(profile_print_speed): New function.
	(profile_print): Rewrite.
	* sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache.
	(WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P.
	(PROFILE_DATA): Delete members simcache_{hits,misses}.
	(PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete.
	(PROFILE_{CALLBACK,CPU_CALLBACK}): New types.
	(profile_print): Update prototype.

Wed Apr 30 11:34:14 1997  Doug Evans  <dje@canuck.cygnus.com>

	* cgen-scache.[ch], cgen-sim.h: New files.
	* cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files.
	* sim-model.c: New file.

	* Make-common.in (clean targets): Undo patch of Apr. 22.

Fri Apr 25 15:28:32 1997  Mike Meissner  <meissner@cygnus.com>

	* sim-n-bits.h (signed): If we have a standard compiler, undef
	signed, so that signedN is defined correctly.

Thu Apr 24 00:00:07 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-module.h, sim-model.h, sim-profile.h: New files.
	* sim-module.c, sim-profile.c: New files.
	* Make-common.in (SIM_PROFILE): Define
	(CONFIG_CFLAGS): Add $(SIM_PROFILE).
	(sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h.
	(sim_module.o,sim-profile.o): Add rules for.
	* aclocal.m4 (--enable-sim-trace): Allow symbolic arguments.
	(--enable-sim-profile): Add.
	* configure: Regenerated.
	* sim-base.h (sim_state_base): New members init_list, uninstall_list,
	model.  Move trace and profile support to sim-{trace,profile}.h.
 	New members trace_data, profile_data.
	* sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h.
	* sim-config.h: Provide default definition of WITH_PROFILE.
	(WITH_TRACE): Change default to -1.
	(MAX_NR_PROCESSORS): Always define.
	* sim-options.c: Move trace and profile support to
	sim-{trace,profile}.h.
	(sim_pre_argv_init): Moved to sim-model.c.
	(standard_install): New function.
	* sim-options.h (sim_pre_argv_init): Move decl to sim-model.c.
	(standard_install): Declare.
	* sim-trace.c: Tracing option handling moved here from sim-options.c.
	(trace_install, trace_uninstall): New functions.
	(trace_printf): Update reference to TRACE_FILE.
	* sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h.
	(TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace.
	(WITH_TRACE_FOO_P): Define.
	(trace_install): Declare.
	(TRACE_DATA): New struct.

Wed Apr 23 17:23:15 1997  Doug Evans  <dje@canuck.cygnus.com>

	* run.c: Undo last exec_bfd patch.
	(main): Only pass -E ifdef SIM_HAVE_BIENDIAN.

Wed Apr 23 17:54:27 1997  Mike Meissner  <meissner@cygnus.com>

	* run.c (exec_bfd): Add back in.
	(main): Set exec_bfd.

Tue Apr 22 14:43:46 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-load.c (sim_load_file): #include <stdio.h> for NULL.

Wed Apr 23 02:55:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-events.c (insert_sim_event): Call sim_io_error instead of
 	less well defined engine_error.
	* sim-core.c: Ditto.

Tue Apr 22 08:48:16 1997  Stu Grossman  (grossman@critters.cygnus.com)

	* Make-common.in:  Change clean targets to use :: so that other
	Makefiles can have their own clean targets.
	* sim-load.c (xprintf eprintf):  Use ANSI_PROTOTYPES instead of
	__STDC__ to control use of stdarg vs. varargs syntax.  Some
	systems can't use __STDC__, but require stdarg.

Fri Apr 18 11:14:43 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-options.c (standard_options): Add --endian.
	(standard_option_handler): Likewise.

	* nrun.c: #include <signal.h>.
 	(main, cntrl_c): Wrap calls to sim_resume in a SIGINT
 	handler that calls sim_stop ().

Fri Apr 18 13:11:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* run.c (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
 	handler that calls sim_stop ().  Simulators may still be
 	establishing their own handler.

	* sim-events.c (sim_events_poll): Rename from
 	sim_events_at_large_int.  Poll IO.

	* sim-io.c (sim_io_poll_quit): New function - pass on a polling
 	request.

	* callback.c (os_poll_quit): New function poll for quit signal
	where needed.
	(default_callback): Include magic number.

Thu Apr 17 02:25:11 1997  Doug Evans  <dje@canuck.cygnus.com>

	* aclocal.m4: Check for headers time.h, sys/time.h, sys/resource.h.
	Check for functions getrusage, time.
	* sim-basics.h (SIM_ELAPSED_TIME): New typedef.
	(sim_elapsed_time_get, sim_elapsed_time_since): Add prototypes.
	* sim-utils.c: #include time.h, sys/time.h, sys/resource.h if able.
	(sim_elapsed_time_get, sim_elapsed_time_since): New functions.

	* sim-utils.c (sim_copy_argv, sim_analyze_program): New functions.

	* sim-options.c, sim-options.h: New files.
	* sim-config.h (WITH_DEBUG): Provide default value of zero.
	* Make-common.in (nrun.o): Add rules for.
	* nrun.c: New file.

	* run.c (main): Check return value of sim_open.

	* Make-common.in (sim-options.o, sim-load.o, sim-trace.o): Add rules.
	(sim_main_headers): Add sim-trace.h.
	* run.c (exec_bfd, target_byte_order): Delete.
	(main): Pass -E <endian> to sim_open.  Delete code to load sections,
	call sim_load instead.  Check return code of sim_create_inferior.
	* sim-base.h (CURRENT_STATE): Define.
	(sim_state_base): Make typedef.  New members options, prog_argv,
	prog_bfd, text_{section,start,end}, start_addr, simcache_size,
	mem_size, memory [+ corresponding access macros].
	(sim_cpu_base): New typedef.
	* sim-trace.h: New file.
	* sim-trace.c: New file.
	* sim-basics.h: #include it.
	* sim-load.c: New file.

Tue Apr 15 15:10:13 1997  Ian Lance Taylor  <ian@cygnus.com>

	* Make-common.in (INSTALL): Set to @INSTALL@.
	(INSTALL_XFORM, INSTALL_XFORM1): Remove.
	(install-common): Depend upon installdirs.  Use
	$(program_transform_name) directly, rather than using
	$(INSTALL_XFORM).
	(installdirs): New target.
	* Makefile.in (INSTALL): Set to @INSTALL@.
	(INSTALL_XFORM, INSTALL_XFORM1): Remove.
	(install-man): Depend upon installdirs.  Use
	$(program_transform_name) directly, rather than using
	$(INSTALL_XFORM).
	(installdirs): New target.

Tue Apr 15 15:08:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* sim-assert.h (SIM_ASSERT, ASSERT): Allow these macros to
	be overriden.

Wed Apr  9 16:06:44 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-basics.h: Only bring in config.h and tconfig.h if
 	HAVE_CONFIG_H.

Mon Apr  7 11:39:45 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-config.h (WITH_TARGET_WORD_MSB): New Macro. Define the bit
 	numbering convention of the target.
	* sim-config.c (print_sim_config): Print WITH_TARGET_WORD_BITSIZE
 	and WITH_TARGET_WORD_MSB.
	(sim_config): When possible, check for consistency with bitsize
 	and msb.

	* sim-bits.h: Allow MSB to be other than zero.
	* sim-bits.c: Ditto.
	* sim-n-bits.h: Ditto.
	
	* sim-bits.h (MSMASK*): New macros - converce to LSMASK*.
	* sim-n-bits.h (MSMASKEDn): Ditto.

Mon Apr 14 16:29:21 1997  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (INSTALL): Change install.sh to install-sh.

Mon Apr  7 10:46:38 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-base.h (sim_state_base): Move `magic' to end of struct.

Mon Apr  7 15:53:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* run.c (main): Check that a program to run was specified.

Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* aclocal.m4 (AC_TYPE_SIGNAL): Add check.

	* configure: Regenerated to track ../common/aclocal.m4 changes.
	* config.in: Ditto.

Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sim-endian.h: Move host {LITTLE,BIG}_ENDIAN support from here,
	* sim-config.h: To here.

	* Make-common.in (SIM_EXTRA_DEPS): New config var.
	(sim_main_headers): Define.
	(sim-*.o): Depend on $(SIM_EXTRA_DEPS).
	(BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in.
	(clean): Use it.
	(sim-utils.o): Add rule for.
	* sim-utils.o: New file.
	* sim-basics.h: #include sim-base.h.
	(zalloc): Make argument unsigned long.
	* sim-base.h: New file.
	* sim-inline.h (SIM_IO support): Delete.
	* sim-io.h: Delete inline support.
	* sim-io.c: Likewise.  sim-state.h renamed to sim-main.h.
	* sim-config.c: sim-state.h renamed to sim-main.h.
	* sim-core.c: Likewise.
	* sim-events.c: Likewise.

	* run.c (main): Pass SIM_OPEN_STANDALONE to sim_open.

	* aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h.
	(sim-debug): Allow arguments.  Define WITH_DEBUG in addition to
	-DDEBUG.
	* configure: Regenerated to track ../common/aclocal.m4 changes.

Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>

	* configure: Regenerated to track ../common/aclocal.m4 changes.

Wed Apr  2 11:08:11 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-config.h (WITH_ALIGNMENT, WITH_FLOATING_POINT,
 	WITH_XOR_ENDIAN, WITH_SMP, WITH_RESERVED_BITS): Assume that these
 	are defined by the configure.

	* aclocal.m4 (sim-stdio): Add option stdio from ../ppc configure.
	
	* aclocal.m4 (floating-point, xor-endian, alignment, smp,
 	reserved-bits): Always define.
	
	* sim-config.h, sim-config.c (sim_config): New function - and new
 	file - co-ordinate the setting/checking of the common simulator
 	configuration options.

	* Make-common.in (sim-config.o): Add rule.

Fri Mar 28 15:32:00 1997  Mike Meissner  <meissner@cygnus.com>

	* callback.c (os_{,e}vprintf_filtered): Change stdarg type to
	va_list from void *, since va_list might not be a pointer type.

Mon Mar 24 15:27:12 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-n-endian.h (offset_N): Correct assertion - word and sub word
 	in wrong order.
	(offset_N): Correct computation of LE offset.

	* sim-io.c (sim_io_error): Include a new line when reporting
 	errors.

	* sim-assert.h (SIM_FILTER_PATH): Out by one when locating last
 	`/'.

Thu Mar 20 22:31:06 1997  Jeffrey A Law  (law@cygnus.com)

	* run.c: Include alloca-conf.h.

	* callback.c (os_evprintf_filtered): Fix typo.

Fri Mar 21 13:36:20 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* run.c (string.h, strings.h, stdlib.h): Include.

	* sim-events.c (sim_events_tick): Recent cleanup failed to return
 	0 when nothing pending.

	* run.c (sim_size, sim_trace): Plicate GCC - these two functions
 	will soon be going away.
	(getopt): Plicate GCC.

	* sim-endian.c (sim-io.h): Plicate GCC.
	* sim-bits.c (sim-io.h): Ditto.
	* sim-n-bits.h (ROTn): Ditto.

	* sim-io.c (sim_io_error): Correct check for NULL.

	* sim-assert.h (SIM_FILTER_PATH): Separate out the code filtering
 	the __FILE__.
	* sim-events.c: Use SIM_FILTER_PATH to filter out the filename
 	path.

Wed Mar 19 01:12:06 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* aclocal.m4 (SIM_AC_OPTION_*: Move so that they are outside of
 	SIM_AC_COMMON - SIM_AC_COMMON was gobling arguments.

Tue Mar 18 20:48:12 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-alu.h: Include sim-xcat.h.
	
Tue Mar 18 13:58:18 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* Make-common.in (sim-bits.c, sim-core.c, sim-endian.c,
 	sim-events.c, sim-inline.c, sim-io.c): Define rules for building
 	these.

	* sim-events.c (sim_events_at_large_int): New function.  Just
 	schedules an event every large-int ticks.
	(sim_events_init): Call.
	(sim_events_tick, sim_events_process): Move async handing to
 	sim_events_process.  Move timer decrement so that it occures after
 	events have been processed.
	
	* sim-basics.h (struct _engine): Remove declaration.

	* sim-events.h, sim-events.c: Rename type to sim_events.  Prefix
 	everything with same.  Rename global struct to SIM_DESC.
	* sim-core.h, sim-core.c, sim-n-core.c: Ditto for sim_core.
	* sim-io.h, sim-io.c: Ditto.
	
	* sim-assert.h: New file. Optional assertion checking macros.
	* sim-io.c (sim_io_error): Make just this function tolerant to
 	null pointers.
	
	* sim-xcat.h: New file. Define concatenate macros.
	* sim-basics.h (XCONCAT*): Move to sim-xcat.h.
	* sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Explicitly include
 	concat macros.
	

Tue Mar 18 12:44:55 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-bits.h (LSMASK): New macro. Create mask of LS bits.

Mon Mar 17 18:10:05 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-inline.h: Add definitions for sim-types.
	(ALL_BY_MODULE): New macro, encapsulate full inlining by the
 	module.

Mon Mar 17 15:38:27 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
	
	* sim-events.h: Remove defunct reference to callback struct.

Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* configure: Re-generate.

Mon Mar 17 15:04:47 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* Make-common.in (CSEARCH): Do not include the gdb directory in
 	the search path.

Mon Mar 17 13:16:26 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
 	SIM_WARNING): Drop, requiring the simulator specific Makefile.in
 	to explicitly incorporate these.

	* aclocal.m4 (--enable-sim-alignment); New option. Strongly
 	specify the alignment restrictions of the target architecture -
 	without this option all alignment restrictions are accomodated.
 	(--enable-sim-assert): New option.  Conditionally compile in
 	assertion statements.
	(--enable-sim-float): New option. Strongly specify the target's
 	floating point support.
	(--enable-sim-hardware): New option.  Specify the hardware devices
 	included in the simulation.
	(--enable-sim-packages): New option.  Specify the hardware
 	packages included in the simulation.
	(--enable-sim-regparm): New option.  Specify that parameters be
 	passed in registers instead of on the stack.
	(--enable-sim-reserved-bits): New option. Specify that reserved
 	bits within an instruction are are correctly set.
	(--enable-sim-smp): New option. Specify the level of SMP support
 	to be included in the simulator.
	(--enable-sim-stdcall): New option.  Specify an alternative
 	function call convention.
	(--enable-sim-xor-endian): New option.  Configure xor-endian
 	support used by some targets to implement bi-endian support.
	
Fri Mar 14 19:51:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* aclocal.m4 (--enable-sim-hostendian): New option.  Allow the
 	host endianness to be overridden.
	(--enable-sim-endian): Allow the target platform's byte order
	to be overridden.
	(--enable-sim-inline): Control the inlining of common components.
	(--enable-sim-bswap): For compatibility, also define WITH_BSWAP.
	(--enable-sim-warnings): Enable additional GCC compiler checks.
	* Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
	SIM_WARNINGS): Add.
	
	* sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Rename from
 	sim-*-n.h so that the names are uniq on dos machines
	* sim-core.c, sim-bits.c, sim-endian.c: Update.
	
Thu Mar 13 12:32:42 1997  Doug Evans  <dje@canuck.cygnus.com>

	* run.c: #include "libiberty.h".
	(main): New locals sd,no_args,sim_argv.
	Run buildargv on -a option.  Pass argv to sim_open, argv[0]
	is program name.  Update call to sim_set_callbacks.
	Record result of sim_open, pass to other sim_foo routines.

Thu Mar 13 10:24:05 1997  Michael Meissner  <meissner@cygnus.com>

	* callback.c (os_printf_filtered): Do not call exit(1) or print a
	final newline.

Thu Mar  6 15:50:28 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* callback.c: Add os_flush_stdout and vprintf_filtered callbacks.
  	Route stdout through buffered IO.

	* callback.c: Add os_flush_stderr, os_write_stderr,
 	os_evprintf_filtered functions to route error output through
 	stderr.
	
	* sim-io.h, sim-io.c (sim_io_flush_stderr, sim_io_flush_stdout):
 	Correct return type - should be void.

Fri Mar  7 20:14:37 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-basics.h: Clean up.  Many macro's moved to sim-inline.h.

	* sim-config.h: Ditto.  For some options - eg WITH_DEVICES - do
 	not provide a default value as undefined indicates disable code.

Thu Mar  6 15:50:28 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-core.h, sim-core-n.h, sim-core.c: Borrow code from ppc
 	directory.
	* sim-events.h, sim-events.c: Ditto.
	* sim-io.h, sim-io.c: Ditto.
	
Tue Mar  4 09:35:56 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
	
	* sim-alu.h (ALU_SUB_CA, ALU*_SUB_CA): New alu operation.

	* sim-bits.h, sim-bits-n.h, sim-bits.c (LSMASKED*): New macro's
 	extract the tail or least signifiant bits from an integer of the
 	specified size.
	
	* sim-bits.h, sim-bits.c: Clean up conditionally compiled #if
 	WITH_TARGET_BITSIZE so that the compilation will fail when an
 	unsupported bitsize value is defined.

	(INSERTED*): Convert to functions.
	(EXTRACTED*): Ditto.
	
	(SIGN_EXTEND, SEXT): Change to more terse name.
	
Tue Mar  4 09:35:56 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-inline.h: Allow explicit control over which .c files will be
 	included by their header.

	* sim-inline.h: Allow explicit control over which .c files use the
 	alternative - REGPARM - parameter passing mechanism.
	
	* sim-inline.h, sim-inline.c: Don't attempt to include any of
 	icache.c, idecode.c, semantics.c or support.c.  Those names are
 	not generally applicable.
	
Thu Feb 27 10:17:23 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-bits.c, sim-bits-n.h (new): Split sim-bits.c into two parts
 	in a fashion similar to sim-endian-n.

	* sim-endian.h: (H_word, L_word, AL_*, VL_*): Extend to include
 	both value and address macro's.

Tue Feb 25 18:51:57 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>

	* sim-alu.h (ALU16_BEGIN, ALU16_SET, ...): Fill in.

	* sim-endian.h (L_word, H_word): Replace MS2W_4, LS2W_4 with more
 	generic L_word, H_word macro's.

Thu Feb 20 18:36:55 1997  Andrew Cagney  <cagney@critters.cygnus.com>

	* sim-basics.h: Borrow code from ppc directory.
	* sim-bits.c: Ditto.
	* sim-bits.h: Ditto.
	* sim-config.h: Ditto.
	* sim-endian-n.h: Ditto.
	* sim-endian.c: Ditto.
	* sim-endian.h: Ditto.
	* sim-inline.c: Ditto.
	* sim-inline.h: Ditto.
	* sim-types.h: Ditto.

Wed Feb 19 12:40:50 1997  Andrew Cagney  <cagney@critters.cygnus.com>

	* sim-alu.h (ALU_SET16, ALU_SET32, ALU_SET64, etc): Make available
 	all the ALU size alternatives and then auto-configure a default.
	
	* sim-alu.h: Copy ppc/idecode_expression.h.

Mon Feb 17 10:44:18 1997  Andrew Cagney  <cagney@critters.cygnus.com>

	* bits.h, bits.c (SIGN_EXTEND32, SIGN_EXTEND64): New functions,
 	sign extend a bit within a value.

	* sim-endian.h, sim-endian-n.h (offset_N): New functions - return
 	a pointer into the middle of a host word.
	* sim-endian.h (MS2W_4, LS2W_4): Use this function.
	
Tue Feb 11 13:46:49 1997  Michael Meissner  <meissner@tiktok.cygnus.com>

	* callback.c: If HAVE_CONFIG_H is defined, include config.h from
	autoconf.  If HAVE_UNISTD_H is defined, include unistd.h to get
	appropriate definitions of read, write, etc.  Add prototype for
	system.

Tue Feb  4 13:24:44 1997  Doug Evans  <dje@canuck.cygnus.com>

	* Makefile.in (libcommon.a): Delete.
	(callback.o,targ-map.o): Delete, moved to Make-common.in.
	(gentmap,targ-vals.h,targ-map.c): Likewise.
	(run-autoconf): Delete.
	* aclocal.m4 (SIM_AC_OUTPUT): Redo creation of Makefile.
	(common makefile fragment): Moved back into ...
	* Make-common.in: Resurrect.
	* configure.in (AC_LINK_FILES): Delete, unnecessary now.
	* configure: Regenerated.

Fri Jan 31 07:16:49 1997  Doug Evans  <dje@canuck.cygnus.com>

	* aclocal.m4 (SIM_AC_COMMON): Move COMMON_MAKEFILE_FRAG from here.
	(SIM_AC_OUTPUT): To here.

Fri Jan 24 10:37:17 1997  Stu Grossman  (grossman@critters.cygnus.com)

	* aclocal.m4 (COMMON_MAKEFILE_FRAG):  Quote a couple of $'s in
	comments and single quotes.  Fixes a problem found on hpux.

Thu Jan 23 13:35:03 1997  Stu Grossman  (grossman@critters.cygnus.com)

	* aclocal.m4:  Remove Make-common.in from dependencies.
	* (distclean):  Remove targ-vals.def.

	* aclocal.m4 (SIM_AC_COMMON):  Move contents of Make-common.in
	into here.  Makes insertion into makefiles easier.  Also, change
	the way that callback.o, gentmap, targ-vals.h, targ-map.c,
	targ-map.o, and run are built.  They are now built in the
	individual simulator directories, taking sources from ../common as
	necessary.  This replaces the merging of libcommon.a into
	linsim.a, which was problematic for the WinGDB build process.
	* run.c:  Include config.h from . instead of ../common.
	* Make-common.in:  Remove.  It's no longer necessary.

Mon Dec 16 15:02:33 1996  Ian Lance Taylor  <ian@cygnus.com>

	* Make-common.in (ALL_CLAGS): Put CFLAGS at the end.
	(.c.o): Put $(ALL_CFLAGS) before the file being compiled.

Wed Dec 11 11:30:58 1996  Jim Wilson  <wilson@cygnus.com>

	* run.c (main): Set target_byte_order before call to sim_open.

Sun Dec  8 18:22:06 1996  Doug Evans  <dje@canuck.cygnus.com>

	* callback.c: #include <stdlib.h>
	(os_error): New function.
	(default_callback): Add os_error.

Mon Nov 25 19:44:35 1996  Doug Evans  <dje@canuck.cygnus.com>

	* Make-common.in (Makefile): Set CONFIG_HEADERS="".
	* aclocal.m4: Mark the fact that --enable-sim-bswap isn't host
	specific.
	(SIM_AC_OUTPUT): Don't build Makefile if CONFIG_FILES="".

Wed Nov 20 01:11:04 1996  Doug Evans  <dje@canuck.cygnus.com>

	* run.c: #include ../common/config.h, tconfig.h.
	(myname): New static global.
	(main): Recognize new options -a, -c.  Also recognize -h if h8/300.
	Only process -c ifdef SIM_HAVE_SIMCACHE.
	Only process -p/-s ifdef SIM_HAVE_PROFILE.
	Parse program name from argv[0] and use in error messages.
	Pass sim_args to sim_open.  Pass prog_args to sim_create_inferior.
	Add support for incomplete h8/300 termination indicators.
	(usage): Make more verbose.
	* aclocal.m4,config.in,tconfig.in,configure.in,configure: New files.
	* Makefile.in,Make-common.in,callback.c: New files.
	* nltvals.def,gentmap.c,gentvals.sh: New files.

Tue Nov 12 13:34:00 1996  Dawn Perchik  <dawn@cygnus.com>   

	* run.c: Include stdarg.h if __STDC__.

Tue Oct 15 11:16:31 1996  Jeffrey A Law  (law@cygnus.com)

	* run.c (main): Don't print out anything if the signal
	number is zero (ie no signal).

Tue Oct 15 11:20:44 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* run.c (main): Print out if the program raised a signal.

Wed Sep 18 09:52:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* run.c (exec_bfd): Rename from sim_bfd, to use the gdb name.
	(main): Ditto.

Tue Sep 17 11:04:50 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* run.c (main): Explicitly cast malloc() parameter.

Thu Sep 12 11:27:21 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* run.c (sim_bfd): New global to hold the bfd pointer for the
	executable.
	(main): Initialize sim_bfd.

Fri Dec 15 16:27:49 1995  Ian Lance Taylor  <ian@cygnus.com>

	* run.c (main): Use new bfd_big_endian macro.

Wed Nov  8 15:49:49 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>

	* run.c (main): Removed SH specific comments, so source is
 	generic. Also updated to only load relevant sections. Moved
 	sim_open() to after callback attach (to match GDB).

  	* run.1: Removed SH specific comments.

Sat Oct 21 12:31:01 1995  Jim Wilson  <wilson@chestnut.cygnus.com>

	* run.c (main): Always return sigrc at end.

Tue Oct 10 12:03:13 1995  J.T. Conklin  <jtc@rtl.cygnus.com>

	* run.c (main): Print error diagnostic and exit if bfd_openr() or
	bfd_check_format() fails.

Thu Sep 28 15:40:36 1995  steve chamberlain  <sac@slash.cygnus.com>

	* run.c, run.1: From sh directory.
