2013-09-23  Alan Modra  <amodra@gmail.com>

	* configure.in (AC_CONFIG_AUX_DIR): Specify top dir.
	* Makefile.am (ACLOCAL_AMFLAGS): Add -I top dir.
	* Makefile.in, aclocal.m4, sidconfutil.in, configure: Regenerate.

2008-06-17  Dave Brolley  <brolley@redhat.com>

	* sidmiscutil.h (change_log): New utility class.
	* sidcpuutil.h (basic_cpu): Now inherits from reversible_component.
	(step_pin_handler): Parameter now named 'tick'. Save the current
	tick. Handle exec_direction == "backward". Initialize change logging,
	if reversible. Finish change logging, if reversible.
	(step_backward): New method of basic_cpu.
	(reset_pin_handler): Terminte the current change log, if any.
	Set exec_direction to "forward".
	(change_log,change_log_begin,change_log_end,change_log_boundaries)
	(change_string,exec_direction,sim_sched,current_tick,last_tick): New
	members of basic_cpu.
	(init_change_logging,finish_change_logging,log_change)
	(restore_state_to_time): New virtual methods of basic_cpu.
	(basic_cpu): Initialize change_log, change_log_begin,
	change_log_end, change_log_boundaries, last_tick, exec_direction,
	and sim_sched. Add the exec-direction and sim-sched attributes.
	* sidattrutil.h (reversible_component): New mix-in class.

2007-02-19  Dave Brolley  <brolley@redhat.com>

	* sidblockingutil.h (sidutil::blocking_component): Remove
	child_resume_mutex, child_stopped_mutex, chiuld_resume_condition and
	child_stopped_condition. Use a single mutex/condition pair:
	child_sync_mutex and child_sync_condition. Handle spontaneous returns
	from pthread_cond_wait.
	(control_status): Now volatile.

2007-01-17  Dave Brolley  <brolley@redhat.com>

	* sidbusutil.h (value_control_register::ValueType): Now
	protected.

2007-01-16  Dave Brolley  <brolley@redhat.com>

	* sidattrutil.h: Remove throw() specifiers from all virtual
	destructors.
	* sidblockingutil.h: Likewise.
	* sidbusutil.h: Likewise.
	* sidcomp.h: Likewise.
	* sidcomputil.h: Likewise.
	* sidcpuutil.h: Likewise.
	* sidmiscutil.h: Likewise.
	* sidpinutil.h: Likewise.

2006-09-27  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu::configure): Set gprof_prev_cycle to
	total_insn_count when gprof 'cycles' not specified.

2006-06-26  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (gprof_pc_pin,gprof_pc_hi_pin): New members of
	basic_cpu.
	(sample_gprof): Drive gprof_pc_pin and gprof_pc_hi_pin.
	(get_pc,get_pc_hi): New methods of basic_cpu.
	(read_watchpoint_memory): Use get_pc.
	(basic_cpu): Add gprof-pc and gprof-pc-hi pins.

2006-06-20  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu): Remove gprof_prev_latency. Add
	gprof_prev_cycle, gprof_unconfigured_p.
	(sample_gprof): Now takes bool argument. Compute number of samples
	based on total_insn_count + current_step_insn_count + total_latency.
	(unconfigure_gprof): Set gprof_unconfigured_p.
	(configure_gprof): Only reset gprof_pref_cycle if gprof_unconfigured_p
	is true.
	(configure): When configuring --insn-count reset gprof_prev_cycle.

2006-06-14  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu::sample_gprof_pin): New pin.
	(sample_gprof): New method of basic_cpu.
	(step_pin_handler): Don't reset current_step_insn_count.
	Call sample_gprof, if requested and save latency.
	(stop_after_insns_p): Likewise.
	(unconfigure_gprof): Now takes no arguments. Remove unused code.
	Disconnect the sample_gprof_pin.
	(configure_gprof): Now takes configuration string. Connect the
	sample_gprof_pin. Determine the sampling mode.
	(gprof_cycles,gprof_counter,gprof_prev_latency): New members of
	basic_cpu.
	(configure): Initialize gprof_counter.
	(basic_cpu): Add sample-gprof pin.

2006-05-11  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (cg_profile): Now virtual.
	(cg_profile_jump): Now virtual.
	(dynamic_config): New vritual override.

2006-03-27  Frank Ch. Eigler  <fche@elastic.org>

	* sidcpuutil.h (basic_cpu::{read,write}_watchpoint_memory): Remove
	extra class qualification.
	* sidattrutil.h (configurable_component::nothing): Ditto.

2005-11-14  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu::pin_factory): Parse, recognize and add
	watchable register and virtual pin for names representing hardware
	watchpoints.
	(read_data_memory_*): Make accessible as virtual methods from basic_cpu.
	(read_watchpoint_memory): New method of basic_cpu.

2005-08-23  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (step_pin_handler): Don't call configure_gprof here.
	(unconfigure_gprof): Check gprof_configured_p.
	(configure_gprof): Check gprof_configured_p.
	(configure_gprof_p): Removed.
	(gprof_spec): Removed.
	(configure): Call configure_gprof here.

2005-08-19  Dave Brolley  <brolley@redhat.com>

	* Contribute the following changes:

	2005-07-13  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (num_cycles): New member of basic_cpu.
	(step_pin_handler): Call configure_gprof.
	(cg_profile): Call last_caller and last_callee.
	(cg_profile_jump): Call last_caller and last_callee.
	(configure_gprof): New method of basic_cpu.
	(unconfigure_gprof): New method of basic_cpu.
	(gprof_configured_p,configure_gprof_p,last_caller,last_callee)
	(pprof_spec): New members of basic_cpu.
	(configure): Call configure_gprof.
	(basic_cpu): Initialize gprof_configured_p, configure_gprof_p,
	last_caller and last_callee.
	* sidattrutil.h (configurable_component): Moved here ...
	* sidcomputil.h (configurable_component): ... from here.
	* sidbusutil.h (bus_arbitrator): Inherit from no_relation_component.

	2005-06-24  Dave Brolley  <brolley@redhat.com>

	* sidattrutil.h (fixed_attribute_map_with_logging_component):
	Initialize buffer_output to false.

	2005-06-21  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu::configure): Call update_final_insn_count_p
	after processing "final-insn-count".

	2005-06-06  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (print_final_insn_count_p): New member of basic_cpu.
	(print_insn_summary): Check print_final_insn_count_p.
	(update_final_insn_count_p): New method of basic_cpu.
	(core_probe,main); New members of basic_cpu.
	(basic_cpu::configure): Handle insn-count, verbose, trace-core,
	trace-counter, trace-extract, trace-semantics and final-insn-count.
	(stream_state): Stream print_final_insn_count_p.
	(destream_state): Destream print_final_insn_count_p.
	(basic_cpu): Initialize core_probe and main. Initialize
	print_final_insn_count_p. Add final-insn-count? using
	add_attribute_notify. Add relations core-probe and main.
	* sidcomputil.h (configurable_component::configure_pin_handler): Now
	virtual.

	2005-05-29  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu): New inherits from configurable_component.
	(cg_jump_pin,cg_return_pin): New members of basic_cpu.
	(cg_profile_jump): New method of basic_cpu.
	(configure): New virtual override on basic_cpu.
	(basic_cpu): Initialize gprof. Add cg-return and cg-jump pins. Add
	gprof relation.
	* sidcomputil.h (configurable_component): New mix-in class for components.
	* sidattrutil.h (sidcomputil.h): #include it.
	(fixed_attribute_map_with_logging_component): Inherit from
	configurable_component.
	(configure): New virtual override in
	fixed_attribute_map_with_logging_component.

2005-08-02  Dave Brolley  <brolley@redhat.com>

	* sidbusutil.h (bus_arbitrator): Remove passthrough_pin.
	(check_passthrough): Now takes 'upstream' argument. Correct all calls.
	Don't check passthrough_pin here.
	(access_latency): New virtual method of bus_arbitrator.
	* sidblockingutil.h (blocking_component): Initialize still_blockable
	and control_status. Add blockable? using add_attribute_notify.
	(wait_for_child_thread): Assert that control_status != ctl_child_start.
	Return control_status.
	(child_completed): Set blockable to still_blockable.
	(set_blockable): New method of blocking_component.
	(still_blockable): New member of blocking_component.

2005-06-03  Jim Blandy  <jimb@redhat.com>

	* configure.in: Remove call to AC_ARG_PROGRAM, to avoid autoconf
	warnings about multiple uses.
	* configure: Regenerated with autoconf 2.59.

	* aclocal.m4, Makefile.in: Regenerated with Automake 1.9.5.

2005-05-10  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (read_insn_memory): Only call
	record_insn_memory_read_latency if --trace-counter or
	--final-insn-count are specified.
	(write_insn_memory): Ditto.
	(read_data_memory): Ditto.
	(write_data_memory): Ditto.

2005-05-10  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (record_insn_memory_read_latency): New virtual method.
	(record_insn_memory_write_latency): New virtual method.
	(record_data_memory_read_latency): New virtual method.
	(record_data_memory_write_latency): New virtual method.
	(read_insn_memory): Call record_insn_memory_read_latency.
	(write_insn_memory): Call record_insn_memory_write_latency.
	(read_data_memory): Call record_data_memory_read_latency.
	(write_data_memory): Call record_data_memory_write_latency.
	* sidattrutil.h (fixed_attribute_map_with_logging_component::check_level):
	now protected and returns bool.
	* sidblockingutil.h: Rework ulog levels.
	* sidbusutil.h (bus_arbitrator): Rework ulog levels. Return the result
	of busy_status instead of bus::busy. New methods: busy_status and
	access_latency.
	(perform_read): Only call set_route_busy is status is bus::ok.
	(perform_write): Only call set_route_busy is status is bus::ok.

2005-05-10  Dave Brolley  <brolley@redhat.com>

	* sidbusutil.h (bus_arbitrator::input_interface): New class.
	(bus_arbitrator::reschedule): Reschedule after the given number of
	cycles.
	(bus_arbitrator::arbitrate_read): New method.
	(bus_arbitrator::arbitrate_write): New method.
	(bus_arbitrator::prioritize_request): New virtual method.
	(bus_arbitrator::perform_read): Propogate the lock from the upstream
	interface to the downstream interface.
	(bus_arbitrator::perform_write): Ditto.
	(bus_arbitrator::lock_downstream): New virtual method.

2005-05-10  Dave Brolley  <brolley@redhat.com>

	* sidblockingutil.h (blocking_component): Reimplement using mutexes
	for synchronization.

2005-05-10  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu): Inherit virtually from all base classes.
	(basic_cpu::step_pin_handler): Now virtual.
	(basic_cpu::{read,write}_{insn,data}_memory): No longer const. Call
	handle_{insn,data}_memory_{read,write}_error for bus errors.
	(basic_big_endian_cpu::{read,write_{insn,data}_memory*): No longer
	const.
	(basic_little_endian_cpu): Ditto.
	* sidcomp.h (bus::status_t): Add 'busy'.
	* sidattrutil.h: Remove unused code.
	* sidblockingutil.h: New header.

2005-01-26  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>

	* sidtypes.h (HOST_BIG_ENDIAN): Add support for both MIPS
	endiannesses.

2004-12-16  Jim Blandy  <jimb@redhat.com>

	* sidtypes.h: (bytereverse (host_int_2)): The x86-64 has an
	xchgb instruction, too.
	(bytereverse (host_int_4)): The x86-64 has a bswap instruction, too.
	(bytereverse (host_int_8)): Use bswap on the x86-64.

2004-12-09  Jim Blandy  <jimb@redhat.com>

	* sidtypes.h: Recognize AMD64 (x86-64) as a little-endian machine.

2004-06-29  Stan Cox  <scox@redhat.com>

	* sidcpuutil.h (basic_cpu): Add eflags_set_pin, set_eflags.

2004-03-22  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (trace_pin): New member of basic_cpu.
	(trace_pin_handler): New method of basic_cpu.
	(basic_cpu): Add and initialize trace_pin.

2003-12-17  Dave Brolley  <brolley@redhat.com>

	* sidmiscutil.h (delete_saved_messages): Use 'clear' method.

2003-10-07  Dave Brolley  <brolley@redhat.com>

	* sidbusutil.h (passthrough_bus::target): Now 'protected'.

2003-10-07  Dave Brolley  <brolley@redhat.com>

	For Stan Cox  <scox@redhat.com>
	* sidmiscutil.h (logger): New class.
	* sidattrutil.h (fixed_attribute_map_with_logging_component): Convert
	to use logger.

2003-10-07  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (set_total_latency): New method of basic_cpu.

2003-10-07  Dave Brolley  <brolley@redhat.com>

	* sidattrutil.h (SID_LOG_PERSISTENT_BUFFER): New macro.
	(SID_LOG_TRANSIENT_MALLOC_BUFFER): New macro.
	(buffer_output): New member of
	fixed_attribute_map_with_logging_component.
	(fixed_attribute_with_logging_component): Add buffer-output attribute.
	Use SID_LOG_PERSISTENT_BUFFER.
	(~fixed_attribute_with_logging_component): Use
	SID_LOG_PERSISTENT_BUFFER.
	(log): Buffer output based on buffer_output. Use
	SID_LOG_TRANSIENT_MALLOC_BUFFER.
	* sidcpuutil.h (get_total_latency): New method of basic_cpu.

2003-10-07  Dave Brolley  <brolley@redhat.com>

	* sidattrutil.h (log): Don't use STDCTYPE for vsnprint or vasprintf.

2003-10-07  Dave Brolley  <brolley@redhat.com>

	For Stan Cox  <scox@redhat.com>
	* sidmiscutil.h (bijection::find): Add typename.
	* sidbusutil.h (ro_value_control_register): New ValueType typedef.
	(control_register_bus::word_write, control_register_bus::word_read):
	Add typename

2003-10-07  Dave Brolley  <brolley@redhat.com>

	* sidattrutil.h (iostream): #include it.
	(log): Use std::cerr and std::endl.

2003-10-07  Dave Brolley  <brolley@redhat.com>

	* sidattrutil.h (fixed_attribute_map_with_logging_component):
	Initialize saved_messages and saved_levels.
	(~fixed_attribute_map_with_logging_component): Output saved messages.
	Delete buffer if necessary.
	(log): Save message for later if output pin not connected. Otherwise
	output saved messages before the new message. Use vsnprintf or
	vasprintf if possible.
	(check_level): New member of fixed_attribute_map_with_logging_component.
	(output_saved_messages): Ditto.

2003-08-21  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (end_line): New method of basic_cpu::cpu_trace_stream.
	(operator<<): Use static_cast instead of dynamic_cast.

2003-06-20  Frank Ch. Eigler  <fche@redhat.com>

	* sidattrutil.h (fixed_attribute_map_with_logging_component):
	Add throw() decoration to dtor.

2003-06-10  Dave Brolley  <brolley@redhat.com>

	* sidattrutil.h (sidpinutil.h): #include it.
	(iostream): Ditto.
	(stdio.h): Ditto.
	(stdarg.h): Ditto.
	(fixed_attribute_map_with_logging_component): New class.

2003-04-16  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (final_insn_count_p): New member of basic_cpu.
	(update_total_latency): New method of basic_cpu.
	(stream_state): Output final_insn_count_p.
	(destream_state): Input final_insn_count_p.
	(basic_cpu): Add attribute final-insn-count.

2003-02-06  Frank Ch. Eigler  <fche@redhat.com>

	* sidbusutil.h (control_register_bus word_read,write): C++ cleanup.

2003-01-15  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (sidutil): Add total_insn_count when computing
	simulated cycles.

2002-11-29  Ben Elliston  <bje@redhat.com>

	* sidcpuutil.h (basic_cpu::print_insn_summary_pin): New pin.
	(basic_cpu::print_insn_summary): New virtual method.
	(basic_cpu::basic_cpu): Construct print_insn_summary_pin and
	instantiate it with add_pin().

2002-11-22  Frank Ch. Eigler  <fche@redhat.com>

	* sidattrutil.h: Give up on hash tables - too many incompatible
	libstdc++'s out there.
	* configure.in: Don't bother looking for hash stuff.
	* configure, sidconfutil.in: Regenerated.
	* sidmiscutil.h: Add some "typename" qualifiers.
	* sidcpuutil.h (cpu_trace_stream): Trade publicness for friendliness
	regarding cout_p.

2002-11-11  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (cpu_trace_stream): Add some std:: qualifiers.

2002-10-03  Dave Brolley  <brolley@redhat.com>
	    From Ben Elliston  <bje@redhat.com>

	* sidcpuutil.h (basic_cpu::disassembler_bus): New accessor.
	(basic_cpu::basic_cpu): Initialise; register "disassembler-memory".

2002-09-09  Ben Elliston  <bje@redhat.com>

	* sidmiscutil.h (sid_file_search_path): More ISO C++ conformance.

2002-04-23  Ben Elliston  <bje@redhat.com>

	* sidcpuutil.h (basic_cpu::update_trace_destination): Open trace
	file in append mode.  Prefix trace session data with "start of
	trace" text.

2002-03-14  Ben Elliston  <bje@redhat.com>

	* sidcpuutil.h (class basic_cpu): Add trace_filename member and a
	new cpu_trace_stream inner class, derived from an ofstream.
	(basic_cpu::trace_stream): Use a cpu_trace_stream.
	(basic_cpu::update_trace_destination): New method.
	(basic_cpu ctor): Initialise trace_stream and trace_filename. Add
	attribute "trace-filename" that notifies update_trace_destination.
	(operator <<): Add global function for cpu_trace_stream insertion.

2002-03-01  Benjamin Kosnik  <bkoz@redhat.com>

	* sidbusutil.h: Make typename usage explicit.

2002-02-12  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (basic_cpu ctor): Add full gdb-register-pc attribute.
	(basic_cpu add_watchable_register): Associate watchable with raw
	Value*, not attribute string.

2001-12-27  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (basic_cpu): Add scheduler_time_query member.
	Add flush_icache(PC) virtual function.

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

	* sidbusutil.h (ro_value_control_register::operator=): Bug
	fix. Use parent's set() method.

2001-11-30  Ben Elliston  <bje@redhat.com>

	* sidbusutil.h (class ro_value_control_register): New class.
	(value_control_register::shift_amount): Make protected.

2001-11-08  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (basic_cpu): Add cg caller/callee pins, trace_stream
	fields.
	(basic_cpu ctor): Initialize them.
	(cg_profile): New function.

2001-10-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* sidcpuutil.h (sidutil): Clarified expedited_regno_list comment.

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

	* sidcpuutil.h (basic_cpu ctor): Initialize those tracing flags.

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

	* sidcpuutil.h (update_trace_result_p): New function.
	({get,set}_trace_{sem,disasm,count,result}): Removed functions.
	(basic_cpu ctor): Use plain attributes or notify-attributes,
	not general virtual ones for the various tracing flags.

2001-09-20  Frank Ch. Eigler  <fche@redhat.com>

	* sidbusutil.h (mux_passthrough_bus): Rework to clean up and
	avoid NULL pointer dereference.

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

	* sidbusutil.h (class fixed_control_register): Add a new
	convenience constructor which creates a register which is
	readable, writable and initialised to 0.

2001-08-03  matthew green  <mrg@redhat.com>

	* sidbusutil.h (~control_register_bank): Add missing prototype.
	* sidcpuutil.h (basic_cpu::new, basic_cpu::delete): Fix namespace
	issues.

2001-07-12  matthew green  <mrg@redhat.com>

	* sidattrutil.h (attribute_coder_base, attribute_coder_virtual,
	attribute_coder_alias, attribute_coder_virtual_parameterized,
	attribute_coder, attribute_coder_ro, attribute_coder_ro_value,
	attribute_coder_bus_rw, attribute_coder_bus_wo,
	fixed_attribute_map_component): Add missing throw() specifiers
	to these dtors.
	* sidbusutil.h (word_bus, passthrough_bus, mux_passthrough_bus,
	passthrough_word_bus, harvard_bus, byte_bus, callback_byte_bus,
	fixed_accessor_map_component, fixed_bus_map_component): Likewise.
	* sidcomputil.h (fixed_relation_map_component): Likewise.
	* sidpinutil.h (list_output, output_pin): Likewise
	(fixed_pin_map_component): Likewise
	* sidcpuutil.h (basic_cpu, basic_big_endian_cpu,
	basic_little_endian_cpu, basic_bi_endian_cpu): Likewise.
	(basic_cpu::read_insn_memory, basic_cpu::write_insn_memory,
	basic_cpu::read_data_memory, basic_cpu::write_data_memory): Rework
	to avoid GCC 2.95.3 errors.

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

	* sidcpuutil.h: Use std::string for C++ conformance.

2001-06-26  Frank Ch. Eigler  <fche@redhat.com>

	* Makefile.am (ACLOCAL_AMFLAGS): Refer to $srcdir.
	* Makefile.in: Regenerated.

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

	* sidcomp.h (bus::status::code): Change type to host_int_1.
	(bus::status constructors): Cast status_t to host_int_1.
	(API_MINOR_VERSION): Bump it.

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

	* sidcpuutil.h (basic_cpu::total_latency): New member.
	(basic_cpu constructor): Initialise it.
	(basic_cpu::step_pin_handler): Include latency in cycle counts.
	(basic_cpu::latency_to_cycles): New virtual method.
	(basic_cpu::read_insn_memory): Add bus latency to total_latency.
	(basic_cpu::write_insn_memory): Ditto.
	(basic_cpu::read_data_memory): Ditto.
	(basic_cpu::write_data_memory): Ditto.
	(basic_cpu::stream_state): Add total_latency to state snapshot.
	(basic_cpu::destream_state): Likewise.

2001-06-22  Frank Ch. Eigler  <fche@redhat.com>

	* sidcomp.h (API_MAJOR_VERSION, API_MINOR_VERSION): Relabel
	previous change impact to 3/1 from 4/0.

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

	* sidcomp.h (API_MAJOR_VERSION): Bump to 4.
	(bus::status_t): Remove "delayed" enumerator.

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

	* sidcomp.h (API_MAJOR_VERSION): Bump to 3.
	(API_MINOR_VERSION): Zero.
	(bus::status_t): New name for enum status.
	(bus::status): New struct.

2001-05-30  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (step_pin_handler): Check for triggerpoints due right
	now, before instruction evaluation loop.

2001-05-29  matthew green  <mrg@redhat.com>

	* sidcpuutil.h (trace_disass_p, trace_semantics_p, trace_counter_p):
	New bools controlling disassembly tracing, semantic tracing (what
	was trace_result_p), and counter tracing, respectively.
	(set_trace_sem, get_trace_sem, set_trace_disasm, get_trace_disasm,
	set_trace_count, get_trace_count, get_trace_result): New methods,
	mostly for compatibility with old CPU components that use
	trace_result_p for what is now trace_semantics_p.  Remove later.
	(stream_state, destream_state): Handle trace_disass_p,
	trace_semantics_p and trace_counter_p.
	(basic_cpu ctor): New virtual attributes `trace-semantics?',
	`trace-disassemble?', `trace-counter?'. `trace-result?' is now
	virtual, and acts as if `trace-semantics?' was set.
	Much of the above can be undone when all CPU ports are converted to
	use trace_result_p in the new method.

2001-05-25  Will Cohen  <wcohen@redhat.com>

	* sidmiscutil.h: Added #include <sys/cygwin.h> for cygwin builds.

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

	* sidcpuutil.h (basic_cpu::create_gdb_register_attrs): Document
	the meaning of the expedited_regno_list argument.

2001-04-14  Harri Porten  <porten@kde.org>

	* sidmiscutil.h (sidutil): added std:: prefixes for C++ ISO compliance.

2001-03-28  Dave Brolley  <brolley@redhat.com>

	* sidbusutil.h (mux_passthrough_bus::select_bus): New function.

2001-03-26  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (basic_cpu::stepped): Make it virtual and public so
	it can be overridden.

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

	* sidmiscutil.h (sid_file_search_path): New function for returning
	a canonical file search path based on SID_LIBRARY_PATH and
	SID_EXEC_PREFIX.
	(find_sid_data_file): New function to use the above to locate sid
	data files.
	* configure.in (SID_EXEC_PREFIX): AC_DEFINE.
	* configure, sidconfutil.h: Regenerated.

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

	* Makefile.in: Regenerate.

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

	On advice from Momchil Velikov <velco@fadata.bg>:
	* configure.in: Test for compiler support of __builtin_expect.
	* sidconfig.h: Define LIKELY/UNLIKEY depending on this test.
	* configure, sidconfutil.in: Regenerated.

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

	* sidconfig.h (LIKELY, UNLIKELY): New conditional cover macros
	for gcc's __builtin_expect branch probability hinting function.
	* sidbusutil.h (passthrough_bus, mux_password_bus, harvard_bus):
	Add some branch probability hints.
	* sidcpuutil.h (step_pin_handler, stop_after_insns_p,
	{read,write}_{insn,data}_memory): Ditto.
	* sidpinutil.h (callback_pin::driven): Remove unnecessary assert
	from critical path.
	(callback_pin ctor, set_callback): Put them here instead.

2001-11-17  Jeff Johnston <jjohnstn@redhat.com>

	* sidbusutil.h (passthrough_word_bus): Changed do_direct_passthrough
	to use reference parameter so address can be modified by routine.

2001-01-12  Jeff Johnston  <jjohnstn@redhat.com>

	* sidbusutil.h (mux_passthrough_bus): New bus allowing one
	input bus tied to one of two accessors with dynamic switching.

2001-01-10  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (basic_cpu): Inherit from fixed_relation_map_component.
	Define a operator new/delete pair to poison new memory.

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

	* sidattrutil.h (attribute_coder_alias): New coder for attribute
	aliases.
	(fixed_attribute_map_component::add_attribute_alias): New functions.

2000-10-13  Jeff Johnston <jjohnstn@redhat.com>

	* sidbusutil.h (passthrough_word_bus): Made target protected.
	* sidcpuutil.h (add_watchable_register): Overloaded to allow
	specifying using a virtual attribute and a parameterized virtual
	attribute.
	(add_watchable_ro_register): New method to specify a read-only
	watchable register.

2000-09-22  Frank Ch. Eigler  <fche@redhat.com>

	* Makefile.in: Regenerated.

2000-09-13  Jeff Johnston  <jjohnstn@redhat.com>

	* sidbusutil.h (passthrough_word_bus): Made word_write and
	word_read methods abstract virtual.
	(harvard_bus): Changed map_addr_to_bus to accept a pointer to
	address so address can be modified once segment information is
	used.  Address subtracts first appropriate segment.  GB_READ
	and GB_WRITE macros changed appropriately to pass pointer to
	address.

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

	* sidbusutil.h (harvard_bus): Switch "unsigned int" -> "host_int_4"
	throughout.
	* sidcpuutil.h (basic_cpu ctor): Reorder initializers.

2000-08-30  Jeff Johnston  <jjohnstn@redhat.com>

	* sidbusutil.h (passthrough_word_bus): Changed SID_GB_READ and
	SID_GB_WRITE macros to properly access bus pointer.
	(harvard_bus): Changed protected and private members to be
	public and protected, respectively.
	* sidcpuutil.h (basic_cpu): Made data_bus and insn_bus protected
	members instead of private.  Also changed read_insn_memory template
	to add address parameter in addition to pc.  Added write_insn_memory
	template.  Changed read_insn_memory_1, read_insn_memory_2,
	read_insn_memory_4, and read_insn_memory_8 to use extra parameter
	to get storage and to use pc when reporting memory fault.
	Added write_insn_memory_1, write_insn_memory_2, write_insn_memory_4,
	and write_insn_memory_8.
	(basic_big_endian_cpu, basic_little_endian_cpu, basic_bi_endian_cpu):
	Changed all read_insn_memory_x routines to have extra address
	parameter.  Added write_insn_memory_x routines.
	* Makefile.in: Regenerated.

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

	* sidbusutil.h (passthrough_word_bus): Correct pointer usage error.

2000-06-22  Jeff Johnston <jjohnstn@redhat.com>

	* sidbusutil.h (harvard_bus): New class to provide mapping
	between single virtual address space and harvard architecture.
	(passthrough_word_bus): New class that combines passthrough_bus
	and word_bus, plus allows short circuiting of accesses to the
	underlying bus.
	(fixed_bus_map_component): Added disconnect_bus member function which
	corresponds to class fixed_accessor_map_component member function:
	disconnect_accessor.

2000-05-26  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h, sidmiscutil.h, sidpinutil.h: Use std:: more.

	* configure.in: Test std:: prefix for ctype functions.
	* sidattrutil.h: Use result.
	* configure, sidconfutil.in: Regenerated.

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

	* Makefile.in: Regenerate.

2000-04-05  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (create_gdb_register_attrs): Make this a template
	function to allow 64-bit PC type.

2000-03-16  matthew green  <mrg@redhat.com>

	* sidtypes.h: Add complete NetBSD support via <machine/endian.h>.
	Fix alpha (was big endian).

2000-03-14  Frank Ch. Eigler  <fche@redhat.com>

	* sidcpuutil.h (cpu_trap_type, cpu_trap_disposition): Rearranged.
	(cpu_exception*): New exception types.
	(basic_cpu): New component type for common features of cpu models.
	(basic_*_endian_cpu): New derived classes for various-endian models.

2000-03-15  matthew green  <mrg@redhat.com>

	* sidbusutil.h: Add several `throw()' specifiers to functions whose
	virtual declaration included the throw. New GCC checks this more
	completely.
	* sidpinutil.h: Likewise.

2000-02-29  Frank Ch. Eigler  <fche@redhat.com>

	* sidwatchutil.h (test_range): New predicate for watchables.
	(state_watcher_range): New watcher class.
	(create_virtual_pin): Parse "range" triggerpoint type.

2000-02-03  Frank Ch. Eigler  <fche@redhat.com>

	* sidbusutil.h (word_bus::readAny): Correct mask calculation.

2000-01-25  Frank Ch. Eigler  <fche@redhat.com>

	* sidbusutil.h (callback_word_bus): New template class.

2000-01-18  Frank Ch. Eigler  <fche@cygnus.com>

	* sidmiscutil.h (ok): New member function in recursion_limited,
	recursion_record.
	(recursion_limited): Print supplied label and counts in error
	message in case of recursion overflow.  Do not abort().

2000-01-10  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (add_attribute_virtual_parameterized): New functions.
	* sidtypes.h (*): Simplified comments, mildly reformatted.
	(any_int<>::size_N_type): New utility typedefs.

2000-01-05  Frank Ch. Eigler  <fche@cygnus.com>

	* sidmiscutil.h (string2stream op <<): Use %-encoding on more
	semiprintable characters.
	* sidpinutil.h (input_pin op <<,>>): New functions.
	(output_pin op <<,>>): Ditto.
	(inputoutput_pin op <<,>>): Ditto.

1999-12-29  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (make_attribute): Make these static, non-inline
	functions.
	(parse_attribute, make_numeric_attribute): Ditto.
	(parse_unsigned_numeric_attribute): Ditto.

1999-12-06  Frank Ch. Eigler  <fche@cygnus.com>

	* sidbusutil.h (byte_bus): Return sid::bus::unmapped for all
	non-byte-sized accesses.

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

	* sidbusutil.h (connect_accessor): Reject duplicate operand.
	(disconnect_accessor): Reject mismatching operand.

1999-12-02  Frank Ch. Eigler  <fche@cygnus.com>

	* sidwatchutil (checking_any_p): New function.

1999-11-30  Ben Elliston  <bje@cygnus.com>

	* sidtypes.h: Specify endianness for Alpha hosts.

1999-11-29  Ben Elliston  <bje@cygnus.com>

	* sidcomp.h (API_MINOR_VERSION): Bump it.
	(sid::component::disconnect_accessor): New method.
	* sidbusutil.h
	(fix_accessor_map_component::disconnect_accessor): New method.
	* sidcomputil.h
	(no_accessor_component::disconnect_accessor): Likewise.

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

	* sidwatchutil.h (map_watchable_name): Export as standalone function.

1999-11-23  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h: (API_MAJOR,MINOR_VERSION): Bump to 2/1.
	(*): Unverbosify comments throughout.
	(sid::pin::driven): Remove (void) variety.
	(sid::component::*): Make all members non-const.
	(relationship_names): New, replaces relationships().
	(set_related_components): Gone, replaced by:
	(relate, unrelate): New functions.

	* sidattrutil.h (make_numeric_attribute): Really set incoming flags.
	(parse_unsigned_numeric_attribute): Reject empty strings.

	(fixed_attribute_map_component): Make
	inherited members non-const.
	* sidbusutil.h (fixed_accessor_map_component): Ditto.
	(fixed_bus_map_component): Ditto.
	* sidcomputil.h (no_bus_component, no_accessor_component): Ditto.
	(no_pin_component, no_attribute_component): Ditto.
	(no_relationship_component): Ditto.  Update for new API functions.
	(fixed_relationship_map_component): Rewrite.
	(sid_breakpoint): Remove this debugging hook.
	* sidpinattrutil.h (*): Remove support for (void) pin values.
	* sidpinutil.h (*): Ditto.
	(callback_pin): Simplified.
	* sidschedutil (scheduler_event_subscription): Simplify.
	(event_handler): New callthrough function.
	(now): Drive output pin with sentinel value.
	* sidwatchutil.h (check_and_inform): Ditto.

1999-11-19  Frank Ch. Eigler  <fche@cygnus.com>

	* sidpinutil.h (output_pin): Rewrite.  No longer is-a sid::pin.
	(inputoutput_pin): New class.
	(add_pin): Overload for classes separately.
	(find_pin): Search only input_pin list.
	(connect_pin): Return error code from output_pin::connect.
	Defend better against null pointers.
	(disconnect_pin): Ditto.

	* sidpinattrutil.h (make_attribute, parse_attribute): Rewrote
	functions.  Replaced attribute_coder<> templates.

1999-11-12  Ben Elliston  <bje@cygnus.com>

	* sidattrutil.h (attribute_coder_virtual_parameterized): Rename
	from the misspelled addtribute_coder_virtual_parametrized.

1999-11-08  Frank Ch. Eigler  <fche@cygnus.com>

	* sidmiscutil.h (tokenize): Handle the case of a separator terminating
	the input string.

1999-11-02  Frank Ch. Eigler  <fche@cygnus.com>

	* sidwatchutil.h (state_watchable_base): Add new members for
	multiple-watcher tracking.
	(one_more_watcher, one_less_watcher): New functions.
	(test_change_value): New function: renamed from test_change().
	(test_change): New function.  Replay return value from
	test_change_value multiple times, once for each watcher.
	(state_watcher_base): Register self with target watchable during
	ctor/dtor.

1999-10-19  Frank Ch. Eigler  <fche@cygnus.com>

	* Makefile.in: Regenerated.
	* configure: Regenerated.

1999-10-10  Faisal Khoja  <fkhoja@cygnus.com>

	* sidattrutil.h (class attribute_coder_base): Introduced virtual
	destr.
	(class attribute_coder_virtual): Introduced destructor
	(class attribute_coder_virtual_parametrized): Likewise
	(class attribute_coder): Likewise
	(class attribute_coder_ro): Likewise
	(class attribute_coder_ro_value): Likewise
	(class attribute_coder_bus_rw): Likewise
	(class attribute_coder_bus_wo): Likewise
	* sidtypes.h (operator <<): Introduced return.

1999-10-08  Faisal Khoja  <fkhoja@cygnus.com>

	* sidattrutil.h (parse_unsigned_numeric_attribute): changed type of var
	c from char to unsigned char.

1999-10-08  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (bus, pin): Take integers as values, not const-refs.
	(API_MINOR_VERSION): Bump it.
	* sidtypes.h (any_int ctor, operator =): Take values, not const-refs.
	Use constructor initializers when possible.
	* sidso.h (COMPONENT_LIBRARY_MAGIC): Declare as host_int_4.
	* sidbusutil.h (*): Corresponding changes.
	* sidpinutil.h (*): Corresponding changes.

1999-10-07  Faisal Khoja  <fkhoja@cygnus.com>

	* sidattrutil.h: Removed try and catch. Did some indenting
	* sidbusutil.h: Likewise
	* sidcomputil.h: Likewise
	* sidcomp.h: Likewise
	* sidpinutil.h: Likewise

1999-10-04  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h: Don't depend on installed sidconfig.h.
	* sidso.h: Ditto.
	* sidtypes.h: Ditto.  Determine host endianness via platform #ifdefs.
	* sidconfutil.in: New file; replace old
	* sidconf.in: Deleted.
	* sidconfig.h: Adapt to renaming.
	* configure.in: Adapt to renaming.  Don't check for host endianness.
	* configure: Regenerated.
	* Makefile.am: Don't install sidconfutil and friends.
	* Makefile.in: Regenerated.

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

	* sidwatchutil.h (create_virtual_pin): Use ":" as name separator for
	triggerpoint watcher pins.  Accept "watch:WATCHABLE:value:VALUE" to
	imply all-ones mask.

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

	* sidattrutil.h (parse_unsigned_numeric_attribute): Renamed
	from parse_numeric_attribute.  All callers changed.
	Template parameter Value renamed to unsignedValue.
	(make_attribute): Add versions for signed numbers.
	(parse_attribute): Add versiosn for signed numbers.

	* sidcpuutil.h (cpu_trap_type): New values cpu_trap_breakpoint,
	cpu_trap_syscall.  Renumber values.

1999-09-23  Frank Ch. Eigler  <fche@cygnus.com>

	* sidtypes.h (operator <<,>>): Remove stream flag changing.
	* sidcomp.h (API_MINOR_VERSION): Bump it.

	* sidattrutil.h: Revamped make_attribute & parse_attribute family
	for bool and numeric types.
	(parse_numeric_attribute, make_numeric_attribute): New functions.

	* sidstringutil.h: Deleted.
	* Makefile.am: Forget about it.
	* Makefile.in: Regenerated.

1999-09-22  Ben Elliston  <bje@cygnus.com>

	* sidattrutil.h: Reformat for clarity and consistency.
	* sidbusutil.h: Likewise.
	* sidcomp.h: Likewise.
	* sidcomputil.h: Likewise.
	* sidconfig.h: Likewise.
	* sidcpuutil.h: Likewise.
	* sidmiscutil.h: Likewise.
	* sidpinattrutil.h: Likewise.
	* sidpinutil.h: Likewise.
	* sidschedutil.h: Likewise.
	* sidso.h: Likewise.
	* sidstringutil.h: Likewise.
	* sidtypes.h: Likewise.
	* sidwatchutil.h: Likewise.

1999-09-16  Frank Ch. Eigler  <fche@cygnus.com>

	* Makefile.am (ACLOCAL_AMFLAGS): Define.
	* Makefile.in: Regenerated.

1999-09-13  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (API_MINOR_VERSION): Bump it.
	* sidtypes.h: Remove compiler_int_X type.  Replace with host_int_X.
	(bytereverse - 8): Use divide-and-conquer unconditionally.
	* sidattrutil.h (*): Use host_int_X, not compiler_int_X.
	* sidbusutil.h, sidschedutil.h, sidstringutil.h: Ditto.

1999-09-10  Frank Ch. Eigler  <fche@cygnus.com>

	* sidwatchutil.h (map_watchable_name): New function.
	(add_watchable): Call it to preprocess arbitrary watchable name.

	(destroy_virtual_pin): Unregister about-to-be orphaned pin.

1999-08-31  Frank Ch. Eigler  <fche@cygnus.com>

	* Makefile.am (noinst_HEADERS): Add new file.
	* Makefile.in: Regenerated.
	* sidstringutil.h (hex_string): Use freeze(0) instead of freeze().
	(*): Minor cleanup.

1999-08-31  Ian Carmichael  <iancarm@cygnus.com>

	* sidstringutil.h: New file.

1999-08-31  Ben Elliston  <bje@cygnus.com>

	* sidattrutil.h (sidutil::make_attribute): Free ostrstream buffer
	on destruction. Fix for CR 101044.
	(sidutil::MAKE_UNSIGNED_ATTRIBUTE): Likewise.

1999-08-24  Frank Ch. Eigler  <fche@cygnus.com>

	* sidmiscutil.h (std_error_string): New function.
	* configure.in: Look for strerror.
	* configure: Regenerated.
	* sidconf.in: Regenerated.

1999-08-20  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h: Amputate component::supervisory().
	(API_MINOR_VERSION): Bump it.
	* supervisory.h: Removed file.
	* sidcomputil.h (no_attribute_component): Remove supervisory() stub.
	* sidtypes.h (endian): Remove endian enum from here.
	* sidcpuutil.h (endian): Move endian enum here.
	(operator <<,>>): New streaming ops for sidutil::endian.
	* sidattrutil.h: Cleaned up comments.
	(attribute_coder_virtual_parametrized): New template class.
	(fixed_attribute_map_component): Remove supervisory() stub.
	(parse_attribute): Check for stream errors more ANSI-abidingly.
	* sidbusutil.h (passthrough_bus): New class.
	* sidmiscutil.h (operator >>): Use ANSI setstate() instead of setf().

1999-08-16  Ian Carmichael  <iancarm@cygnus.com>

	* sidbusutil.h: readByte and writeByte members renamed.
	* sidtypes.h: readByte and writeByte members renamed.

1999-08-16  Ian Carmichael  <iancarm@cygnus.com>

	* sidattrutil.h: sid::component members renamed.
	* sidbusutil.h: sid::component members renamed.
	* sidcomp.h: sid::component members renamed.
	* sidcomputil.h: sid::component members renamed.
	* sidpinattrutil.h: sid::component members renamed.
	* sidpinutil.h: sid::component members renamed.
	* sidso.h: sid::component members renamed.
	* sidtypes.h: sid::component members renamed.
	* sidwatchutil.h: sid::component members renamed.

1999-08-11  Ian Carmichael  <iancarm@cygnus.com>

	* sidtypes.h: (*): Change big_int_N and little_int_N so that
	the default operations all use their integer values.
	* sidattrutil.h, sidbusutil.h: (*): Ditto.

	* sidattrutil.h: (make_attribute_*, parse_attribute_*): All
	attributes now in HEX format.  TODO: Change these to 0xHEX
	and/or DECIMAL.

1999-08-02  Ben Elliston  <bje@cygnus.com>

	* sidso.h: Reformat and document.

1999-07-30  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (parse_attribute): Add better error reporting.

1999-07-27  Ben Elliston  <bje@cygnus.com>

	* Makefile.am (noinst_HEADERS): Remove Scheduler.h.
	* Makefile.in: Regenerate.
	* Scheduler.h: Remove deprecated file.

1999-07-27  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcpuutil.h (sid_cpu_stepped): New enum.

1999-07-26  Faisal Khoja  <fkhoja@cygnus.com>

	* sidbusutil.h (class byte_bus): Removed exception handling from
	macros defined in byte_bus to avoid compiler bug.

1999-07-25  Faisal Khoja  <fkhoja@cygnus.com>

	* sidcomp.h: Formatting.
	* sidattrutil.h: Introduced exception handlings.
	* sidbusutil.h: Likewise.
	* sidpinutil.h: Likewise.
	* sidcomputil.h: Exception handlers and documentation.

1999-07-21  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (pin::status): Revert extension: remove type.
	(component): Simplify some comments.
	* sidpinutil (disconnect): Change return type to
	sid::component::status.

1999-07-21  Faisal Khoja  <fkhoja@cygnus.com>

	* sidtypes.h: Document.
	* sidcomp.h: Likewise.
	* sidbusutil.h: Likewise.
	* sidattrutil.h: Likewise.
	* sidpinutil.h: Likewise.
	* sidcomputil.h: Likewise.
	* sidcomp.h: Introduced enum in sid::pin class.
	* sidpinutil.h (disconnect): Change return type from void to
	sid::pin::status.

1999-07-17  Ron Unrau  <runrau@cygnus.com>

	* supervisory.h: Add SUP_REG_NUM to get number of registers.

1999-07-16  Frank Ch. Eigler  <fche@cygnus.com>

	* sidwatchutil.h (create_virtual_pin): Return not_found if request
	not for a watch pin.

	* sidmiscutil.h (recursion_limited ctor): Use a default recursion
	limit of 1000.

1999-07-16  Frank Ch. Eigler  <fche@cygnus.com>

	* sidbusutil.h (fixed_accessor_map_component::listAccessorNames):
	Remove debugging output to cerr.
	(*): Change idiom "(*iterator).field" => "iterator->field".

1999-07-15  Frank Ch. Eigler  <fche@cygnus.com>

	* sidwatchutil.h (*): Comment out debugging output.
	(add_watchable_value): Reverse argument order.

1999-07-06  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (attribute_coder_bus_rw): New class.
	(attribute_coder_bus_ro): Ditto.
	(attribute_coder_bus_wo): Ditto.

	* sidbusutil.h (word_bus::post_access_hook): New virtual function.
	(readAny, writeAny): Call it after access.
	(byte_bus::read): Reorganize.

	* sidmiscutil.h (tokenize): New function.

	* sidpinattrutil.h <binary_output_pin attribute_coder>: Use sid::
	namespace prefix consistently.

	* sidpinutil.h (output_pin): Slightly reorganize
	inline member functions.
	(fixed_pin_map_component::pin_factory): New virtual function.
	(connectPin): Call it if needed output pin does not exist.
	(fixed_pin_map_component::pin_junkyard): New virtual function.
	(disconnectPin): Call it if an output pin has become orphaned.

	* sidwatchutil.h: New class.  Triggerpoint implementation classes.

1999-07-05  Frank Ch. Eigler  <fche@cygnus.com>

	* sidbusutil.h (control_register_bank): Move all member functions
	out-of-line.

1999-07-05  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h: Remove unnecessary #include <memory> that arouses
	a conflict with source tree directory ../component/memory.

1999-06-23  Frank Ch. Eigler  <fche@cygnus.com>

	* sidconfig.h: Remove ineffectual macro collision prevention.

1999-06-22  Frank Ch. Eigler  <fche@cygnus.com>

	* sidmiscutil.h (recursion_limited): Change order of member init
	to allay compiler warning.

1999-06-22  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (attribute_coder_ro_value): New class.
	(add_attribute_ro_value): New function to use new coder class.

1999-06-16  Frank Ch. Eigler  <fche@cygnus.com>

	* sidschedutil.h (generic_scheduler_interface): Dropped class.
	(scheduler_event_subscription): Smaller & faster utility class for
	event control.
	(scheduler_time_query): Small utility class for "time" query.

	* sidtypes.h (HOST_BIG_ENDIAN): New t/f macro for host endianness.
	(any_int::host_int_type): Use it.
	(operator =): Fork into two operand endianness varieties.
	(operator +=, /=, ++): New functions for host_int_X.  May the barrage
	begin.
	(operator <<,>>): Print any_int number in natural digit order by
	converting to/from host-endian.

1999-06-16  Faisal Khoja  <fkhoja@cygnus.com>

	* sidtypes.h (operator<<, operator>>): Removed the seperate
	copies of the function for boolean value true and boolean value
	false. Operator overloading is back to its original format.

1999-06-16  Faisal Khoja  <fkhoja@cygnus.com>

	* sidtypes.h  (any_int(copyconstructor)): made two copies of copy
	constructor one with bool true and other with bool false to compile on
	NT.
	(operator<<, operator>>): seperate copies for bool equals true & bool
	equals false.

1999-06-15  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (bus::read, bus::write): Remove 8-byte address
	variants.  Replace host_int_X data with little_* and big_*
	variants.
	(API_MINOR_VERSION): Bump it.

	* sidbusutil.h (word_bus): Remove AddrType template parameter.
	Use host_int_4 address type throughout.
	(writeAny, readAny): Clean up data endianness handling.
	(byte_bus): Match sid::bus API changes.
	(control_register_bank): Replace AddrType with host_int_4 througout.
	(control_register_bus): Ditto.

	* sidtypes.h (any_int): Add host_int_type derived typedef.
	Designate all members inline.

1999-06-14  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (fixed_attribute_map_component): Use simpler
	vector<string> pair for tracking attribute/category settings.
	(categorize): Use new members.
	(uncategorize): Ditto.
	(listAttrNames): Ditto.

1999-06-14  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (listAttrNames): New overloaded function in
	sid::component.  Return attribute names of a category.
	(API_MINOR_VERSION): Bump it.
	* sidcomputil.h (no_attribute_component): Implement stub function.
	* sidattrutil.h (fixed_attribute_map_component): Implement
	new function by interpointing string->set<string> maps.
	(categorize, uncategorize): New functions to manage maps.
	(add_attribute*): New overloaded functions with category arguments.
	(remove_attribute): Uncategorize dying attribute.

	(attribute_coder_virtual ctor): Allow getter/setter arguments to
	come in transposed.

	(listExtraAttrNames): Removed unneeded function.  Adjust callers.
	(getExtraAttrValue): Ditto.
	(setExtraAttrValue): Ditto.

1999-06-11  Ron Unrau  <runrau@cygnus.com>

	* sidbusutil.h: byte_bus, callback_byte_bus: New Classes.

1999-06-11  Frank Ch. Eigler  <fche@cygnus.com>

	* sidmiscutil.h (string2stream): New class for safely streaming
	strings.
	(stream2string): Ditto.

1999-06-09  Frank Ch. Eigler  <fche@cygnus.com>

	* sidso.h (component_library): Add "deleteComponent" member.
	* sidcomp.h (API_MINOR_VERSION): Bump up number to account for
	component_library ABI change.

1999-06-08  Frank Ch. Eigler  <fche@cygnus.com>

	* sidmiscutil.h (recursion_limited): New class.
	(recursion_record): New class.

1999-06-08  Ron Unrau  <runrau@cygnus.com>

	* sidpinattrutil.h: new file
	* sidpinutil.h: (callback_pin::driven): make public

1999-06-07  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (component): Reincarnate listAccessorNames, listPinNames,
	listBusNames into component API.
	* sidcomputil.h: Ditto.
	* sidbusutil.h: Ditto.
	* sidpinutil.h: Ditto.

1999-06-06  Ron Unrau  <runrau@cygnus.com>

	* sidcpuutil.h: add cpu_trap_reissue for handling breakpoints that
	  are based on SWIs instead of invalid insns.

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

	* sidattrutil.h (fixed_attribute_map_component::setAttrValue): Pass
	back status value from parse_attribute().

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

	* sidmiscutil.h: New file.
	* Makefile.am: Know of it, but don't install it.
	* Makefile.in: Regenerated.

1999-05-21  Frank Ch. Eigler  <fche@cygnus.com>

	* configure.in: Add "--disable-assert" option.  Stop building
	useless libtool here.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.
	* sidconf.in: Regenerated.

1999-05-19  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (parse_attribute): Return sid::component::status.
	(attribute_coder*): Ditto for all parse_attribute callbacks.
	(add_attribute_virtual): Change setter callback signature.

1999-05-18  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (setRelatedComponents): Return component::status.
	* sidcomputil.h (no_relationship_map_component): Return "not_found"
	to setRelatedComponents.
	(fixed_relationship_map_component): Return appropariate status
	to setRelatedComponents.

	(sid_breakpoint): #ifdef for !__CYGWIN__.

1999-05-13  Frank Ch. Eigler  <fche@cygnus.com>

	* configure.in: Correct use of AC_CONFIG_AUX_DIR.
	* configure: Regenerated.
	* aclocal.m4: Regenerated.

1999-05-13  Ron Unrau  <runrau@cygnus.com>

	* sidcomp.h: add supervisory call
	* supervisory.h: new file - opcodes for supervisory call
	* sidcomputil.h, sidattrutil.h: add skeleton for supervisory call

1999-05-11  Frank Ch. Eigler  <fche@cygnus.com>

	* sidbusutil.h (value_control_register): Provide more proper
	streaming operators.
	* sidcpuutil.h: Fix typo in comment.

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

	* sidtypes.h (endian): New enum.

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

	* sidtypes.h (sid::signed_compiler_int[1248]): New types.

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

	* sidcpuutil.h: New file.

1999-05-04  Frank Ch. Eigler  <fche@cygnus.com>

	* sidso.h: Define DLLEXPORT/DLLIMPORT for CYGWIN.

	* sidbusutil.h: Revert last two sets of changes temporarily.

	* Makefile.in: Regenerated for new libtool.
	* aclocal.m4: Ditto.
	* configure: Ditto.

1999-05-01  Ron Unrau  <runrau@cygnus.com>

	* sidbusutil.h (word_bus::readAny): fix thinko on shift defs

1999-05-01  Ron Unrau  <runrau@cygnus.com>

	* sidbusutil.h (word_bus::readAny/writeAny): some progress towards
	  getting masks right.

1999-04-27  Frank Ch. Eigler  <fche@cygnus.com>

	* configure.in: Look for hash_map and ext/hash_map headers.
	* sidattrutil.h (HAVE_HASHING): Define if either of above headers
	is available.
	(attribute_map_t): If !HAVE_HASHING, use plain map<>, not hash_map<>.
	* configure: Regenerated.
	* sidconf.in: Regenerated.

	* sidattrutil.h (make_attribute): Correct ostringstream usage typo.

1999-04-21  Frank Ch. Eigler  <fche@cygnus.com>

	* sidbusutil.h (control_register*): Language police cleanup in
	ctors of classes derived from class templates.
	* sidattrutil.h (attribute_coder*): Ditto.

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

	* sidpinutil.h (callback_pin): New method set_callback.

1999-04-18  Frank Ch. Eigler  <fche@cygnus.com>

	* Scheduler.h: Mark as depracated.
	* Makefile.am: Don't install Scheduler.h any more.
	* Makefile.in: Regenerated.

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

	* sidcomputil.h (sid_breakpoint): Declare.

1999-04-15  Frank Ch. Eigler  <fche@cygnus.com>

	* sidtypes.h: (any_int): Rewrite, templatize further, simplify.
	(host_int*, big_int*, little_int*): Replace classes with typedefs.

1999-04-14  Frank Ch. Eigler  <fche@cygnus.com>

	* sidtypes.h (operator <<): Correct infinite recursion bug for
	printing big_int_X and little_int_X.

1999-04-09  Frank Ch. Eigler  <fche@cygnus.com>

	* sidschedutil.h: New file for new class generic_scheduler_interface,
	a functional interface to an external scheduler component.
	* Makefile.am: Include it in noinst_HEADERS.
	* Makefile.in: Regenerated.

1999-04-06  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (component::status): Renamed enum from connect_status.
	Renamed "bad_arg"->"bad_value".
	* sidbusutil.h (*): Ditto.
	* sidcomputil.h (*): Ditto.
	* sidpinutil.h (*): Ditto.
	* sidattrutil.h (*): Ditto.
	(fixed_attribute_map_component): Use hash_map instead of map for
	attribute map.
	(attribute_coder_virtual): New attribute coder class for attribute
	make/parse callbacks.
	(add_attribute_virtual): New function to use this coder.
	(attribute_coder_ro): New attribute coder class for read-only
	attributes.
	(add_attribute_ro): New function to use this coder.
	(attribute_coder_notify): Rename from attribute_coder_callback.
	(add_attribute_notify): New function to use this coder.
	(remove_attribute): Assert existence of about-to-be removed
	attribute.

1999-04-03  Ron Unrau  <runrau@cygnus.com>

	* sidcomp.h, sidbusutil.h: swap addr<->data in bus::read and bus::write

1999-04-01  Ron Unrau  <runrau@cygnus.com>

	* Scheduler.h: add forgotten inline keywords.

1999-03-30  Frank Ch. Eigler  <fche@cygnus.com>

	* sidtypes.h (operator <<, operator >>): Rewrite streaming
	operators for *_int_* types.

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

	* sidpinutil.h (callback_pin): Accept callback function pointers
	in reverse order too.

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

	* sidcomp.h (component): Remove listAccessorNames, listPinNames,
 	listBusNames from component API.
	* sidcomputil.h: Ditto.
	* sidbusutil.h: Ditto.
	* sidpinutil.h: Ditto.

1999-03-24  Frank Ch. Eigler  <fche@cygnus.com>

	* configure.in: Use new AC_CONFIG_AUX_DIR.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

	* sidcomp.h: Style cleanup.
	* sidso.h: Junk cleanup.
	* sidtypes.h: Add istream>> for host_int types.

1999-03-17  Frank Ch. Eigler  <fche@cygnus.com>

	* sidtypes.h (any_int_base): New base type for types.
	(readByte,writeByte): Fix & collect functions in new base class.
	(bytereverse): Add template functions for specific types.
	Add x86-specific assembly for quick byte reversals.
	* sidpinutil.h (input_pin): Style cleanups.

1999-03-16  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h: Formatting tweaks.
	(fixed_attribute_map_component): Add remove_attribute call.
	* sidcomp.h (API_*_VERSION): New const values.
	(SID_COMPONENT_API_*_VERSION): Gone.
	(pin::driven): Put back reference host_int_4 argument.
	* sidpinutil.h: Formatting tweaks.  Adapt to changed
 	pin::driven(...) signature.
	(output_pin::drive): New method.
	(fixed_pin_map_component): Add remove_pin call.
	(class callback_pin): Derive from output_pin.  Add new pmf for value-less
	pin event callbacks.  Add new constructors to set it.
	(class callback_event_pin): Remove.
	(class callback_output_pin): Remove.
	* sidso.h (COMPONENT_LIBRARY_MAGIC): New const value.
	(SID_COMPONENT_LIBRARY_MAGIC): Gone.

1999-03-12  Ron Unrau  <runrau@cygnus.com>

	* Scheduler.h: do not use component* for callback object state

1999-03-12  Ron Unrau  <runrau@cygnus.com>

	* sidcomp.h: setAccessor, connectPin, disconnectPin, and setAttrValue
	  now return status
	* sid{bus,pin,attr,comp}util.h: track changes in sidcomp.h

1999-03-05  Frank Ch. Eigler  <fche@cygnus.com>

	* sidcomp.h (class component): Make destructor public - temporarily.
	Add abstract relationship API.
	* sidcomputil.h (class no_relation_component): New mix-in class for
	uninterested components.
	(class fixed_relation_map_component): New mix-in class for social
	components.
	* sidattrutil.h (class fixed_attribute_map_component): Make some
 	members mutable.
	* sidbusutil.h (class fixed_accessor_map_component): Ditto.
	(class fixed_accessor_map_component): Ditto.
	* sidpinutil.h (class fixed_pin_map_component): Ditto.
	(class callback_storage_pin): Use value-less callback fn.

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

	* Makefile.am: Don't install sidutil mix-in headers.
	* Makefile.in: Rebuilt.

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

	* sidbusutil.h: Remove some warnings.
	(word_bus): Propagate sid::bus::status from word_read/word_write.
	(value_control_register): Add assignment/conversion operators.

	* Makefile.am (INCLUDE_HEADERS): Also install recently added
 	headers.
	* Makefile.in: Rebuilt.

1999-02-21  Ron Unrau <runrau@cygnus.com>

	* Scheduler.h: new file

1999-02-16  Frank Ch. Eigler  <fche@cygnus.com>

	* sidbusutil.h (*_control_register): New abstraction family for
 	peripheral control registers.
	(control_register_bus): New bus that maps a group of control
 	registers.
	(word_bus::write_any): Fix typo.

	* sidtypes.h (HOST_IS_*_ENDIAN): Use #ifdef *BIG/LITTLE* consistently.
	(big/little/host_int_N): Add assignment operator.

1999-02-12  Frank Ch. Eigler  <fche@cygnus.com>

	* sidattrutil.h (attribute_coder_callback): New helper class for
 	fixed_attribute_map_component that wants to monitor attribute
 	writes with a callback member function.
	* sidcomp.h (*): Declare all component API calls as "throw ()".

	* Makefile.am: Switch to foreign mode.  Adjust for automake 1.4.
	* configure.in: Adjust for autoconf 2.13.
	* Makefile.in: Rebuilt.
	* aclocal.m4: Rebuilt.
	* configure: Rebuilt.
	* sidconf.in: Rebuilt.

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

	* sidattrutil.h (parse_attribute): Convert to string more precisely.
	(attribute_coder*): New classes.
	(fixed_attribute_map_component): New mix-in for extensible simplified
	attribute mappings.
	* sidbusutil.h: Add extra #includes.
	* sidcomputil.h: Correct #include guard typo.
	* sidpinutil.h (callback_pin): New pin subtype for component member function
	callbacks.
	(callbcak_storage_pin): As above, except also like storage_pin<>.
	* sidtypes.h (big_int, host_int, little_int): Add raw() member to return
	stored integer verbatim.

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

	* sidbusutil.h: New file, containing bus API-related mixin classes.

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

	* configure.in: New file.  Perform API-tuning autoconf checks.
	* sidconf.in: New file.
	* configure: Generated new file.
	* aclocal.m4: Generated new file.
	* Makefile.am: New file.  Install SID headers.
	* Makefile.in: Generated new file.
	* sidconfig.h: New file.  Allow local sidconf.h and component config.h
	to coexist.
	* sid*h: Include sidconfig.h.

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

	* sidattrutil.h (parse_attribute): Use istrstream properly.  Use
 	reference argument as output.  Use HAVE_STRSTREAM_H autoconf
 	symbol.

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

	* sidcomp.h: Removed attribute classes.  Using std::string
	for attribute values instead.
	* sidso.h: Use explicit std:: namespace ref for some classes.
	* sidpinutil.h: Moved contents into sidutil:: namespace.
	(fixed_pin_map_component): New class for components with a fixed
	group of pins.
	* sidattrutil.h: New file: attribute utilities
	(make_attribute): Template to stream arbitrary type to string.
	(parse_attribute): Same, in reverse.
	* sidcomputil.h: New file: component virtual classes
	for providing stubs for unused component sub-APIs.
	(no_bus_component): Stub bus server functions.
	(no_accessor_component): Stub bus client functions.
	(no_pin_component): Stub pin functions.
	(no_attribute_component): Stub attribute functions.
	* Makefile.am (include_HEADERS): Install new files.
	* Makefile.in: Rebuilt.

