2021-06-22  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Removed.
	* aclocal.m4: Removed.
	* configure: Removed.

2021-06-21  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2021-06-21  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_EXTRA_HW_DEVICES): Define.
	* configure.ac (SIM_AC_OPTION_HARDWARE): Delete call.
	* configure: Regenerate.

2021-06-20  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_COMMON): Delete.
	* aclocal.m4, configure: Regenerate.

2021-06-20  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2021-06-20  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h: Add UNUSED to all STATIC_INLINE functions.

2021-06-20  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2021-06-19  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-06-18  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2021-06-18  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-06-18  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11eepr.c: Include sim-signal.h.
	* interrupts.c, m68hc11_sim.c: Likewise.
	* sim-main.h: Delete sim-signal.h include.

2021-06-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete SIM_AC_OPTION_ENDIAN call.
	* interp.c (sim_open): Set current_target_byte_order.
	* aclocal.m4, configure: Regenerate.

2021-06-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h: Delete sim/callback.h include.

2021-06-16  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-06-16  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.
	* config.in: Removed.

2021-06-15  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.

2021-06-12  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2021-06-12  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-05-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Delete.

2021-05-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
	(struct sim_state): Delete.

2021-05-16  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11.c, dv-m68hc11eepr.c, dv-m68hc11sio.c, dv-m68hc11spi.c,
	dv-m68hc11tim.c, dv-nvram.c, emulos.c, gencode.c, interp.c,
	interrupts.c, m68hc11_sim.c: Include defs.h.

2021-05-16  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-05-14  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h: Update include path.

2021-05-07  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11tim.c (cycle_to_string): Increase buf to 128 bytes.
	Merge two sprintf buf calls.

2021-05-06  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_hw_configure): Change %lx to %x in format strings.
	* configure.ac: Delete SIM_AC_OPTION_WARNINGS call.
	* configure: Regenerate.

2021-05-06  Mike Frysinger  <vapier@gentoo.org>

	* emulos.c: Include errno.h & stdio.h.
	(emul_write): Print a warning when the write fails.

2021-05-04  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11.c (struct m68hc11cpu): Change attach_size to unsigned int.
	* dv-m68hc11sio.c (m68hc11sio_tx_poll): Cast buffer to const char*.

2021-05-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-05-01  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-04-23  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_HARDWARE): Delete first two args.
	* configure: Regenerate.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* configure, config.in: Rebuild.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* Makefile.in (INCLUDE): Remove.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* Makefile.in (interp.o): Remove.

2021-04-22  Tom Tromey  <tom@tromey.com>

	* configure: Rebuild.

2021-04-21  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: Regenerate.

2021-04-21  Simon Marchi  <simon.marchi@polymtl.ca>

	* configure: Regenerate.

2021-04-18  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-04-12  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Delete 3rd arg to sim_cpu_alloc_all.

2021-04-02  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2021-03-13  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (gencode.o): New rule.
	(gencode): Call LINK_FOR_BUILD.

2021-02-28  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-02-21  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (AC_CONFIG_MACRO_DIRS): Replace common with m4.
	* aclocal.m4, configure: Regenerate.

2021-02-13  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Replace sinclude with AC_CONFIG_MACRO_DIRS.
	* aclocal.m4, configure: Regenerate.

2021-02-06  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-01-30  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11tim.c (cycle_to_string): Change llu to PRIi64.

2021-01-30  Mike Frysinger  <vapier@gentoo.org>

	* m68hc11_sim.c (cpu_set_sp): Add static markings.
	(cpu_get_reg, cpu_get_src_reg, cpu_set_dst_reg,
	cpu_get_indexed_operand_addr, cpu_get_indexed_operand8): Likewise.

2021-01-30  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_get_info, sim_board_reset): Pass %s to sim_hw_parse.

2021-01-30  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11.c, m68hc11_sim.c: Include stdlib.h.

2021-01-30  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_HARDWARE): Inline variables.
	* configure: Regenerate.

2021-01-11  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2021-01-09  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-01-09  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_WARNINGS): Pass "no".
	* configure: Regenerate.

2021-01-08  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2021-01-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2017-09-06  John Baldwin  <jhb@FreeBSD.org>

	* configure: Regenerate.

2017-02-13  Mike Frysinger  <vapier@gentoo.org>

	* gencode.c: Include libiberty.h.
	(TABLE_SIZE): Delete.
	(find_opcode_pattern): Change TABLE_SIZE to ARRAY_SIZE.
	(gen_interpreter): Likewise.
	* interrupts.c (TableSize): Delete.
	(interrupts_update_pending): Change TableSize to ARRAY_SIZE.

2016-08-16  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (inline): Delete define.
	(phys_to_virt): Change inline to STATIC_INLINE.
	(memory_read8, memory_write8, memory_read16, memory_write16,
	cpu_ccr_update_tst16, cpu_ccr_update_shift8, cpu_ccr_update_shift16,
	cpu_ccr_update_add8, cpu_ccr_update_sub8, cpu_ccr_update_add16,
	cpu_ccr_update_sub16, cpu_m68hc11_push_uint8, cpu_m68hc11_push_uint16,
	cpu_m68hc11_pop_uint8, cpu_m68hc11_pop_uint16, cpu_m68hc12_push_uint8,
	cpu_m68hc12_push_uint16, cpu_m68hc12_pop_uint8,
	cpu_m68hc12_pop_uint16, cpu_fetch8, cpu_fetch16): Likewise.

2016-08-15  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_get_bank_parameters): Delete abfd arg.
	Replace all symbol lookup code with calls to trace_sym_value.
	(sim_prepare_for_program): Update sim_get_bank_parameters call.

2016-08-13  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11.c (m68hc11cpu_port_event): Adjust cpu prototype style.
	* dv-m68hc11spi.c (m68hc11spi_port_event): Likewise.
	* dv-m68hc11tim.c (m68hc11tim_print_timer): Likewise.
	* emulos.c (emul_bench): Likewise.
	(emul_write): Likewise.  Also rename state to cpu.
	(emul_os): Rename proc to cpu.
	* gencode.c: Rename proc to cpu.
	* interrupts.c (interrupts_initialize): Likewise.
	* interrupts.h (interrupts): Adjust cpu type.
	(interrupts_initialize): Likewise.
	* m68hc11_sim.c (cpu_get_reg): Adjust cpu prototype style.
	(cpu_get_src_reg, cpu_set_dst_reg, cpu_set_reg,
	cpu_get_indexed_operand_addr, cpu_get_indexed_operand8,
	cpu_get_indexed_operand16, cpu_dbcc, cpu_exg): Likewise.
	(cpu_ccr_update_tst8): Rename proc to cpu.
	* sim-main.h: Rename PROC and proc to cpu.

2016-08-13  Mike Frysinger  <vapier@gentoo.org>

	* dv-m68hc11eepr.c (attach_m68hc11eepr_regs): Drop cast with
	return value of hw_malloc.
	* dv-m68hc11sio.c (m68hc11sio_rx_poll): Mark static.
	(m68hc11sio_tx_poll): Likewise.
	* dv-m68hc11spi.c (m68hc11spi_clock): Likewise.
	* dv-m68hc11tim.c (m68hc11tim_timer_event): Likewise.
	* dv-nvram.c (attach_nvram_regs): Drop cast with
	return value of hw_malloc.
	* emulos.c (emul_bench): Mark static.
	(emul_write): Likewise.
	(emul_exit): Likewise.
	* gencode.c: Include stdio.h.
	(gen_function_entry): Unify two print lines.
	(cmp_opcode): Mark args const.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_INLINE): Delete call.
	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-10  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-09  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2016-01-06  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Mark argv const.
	(sim_create_inferior): Mark argv and env const.

2016-01-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2016-01-03  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_open): Update sim_parse_args comment.

2016-01-03  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (sim_state): Delete devices member.

2016-01-03  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_HOSTENDIAN): Delete.
	* configure: Regenerate.

2016-01-02  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_ENDIAN): Change BIG_ENDIAN to BIG.
	* configure: Regenerate.

2015-12-30  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Change LITTLE_ENDIAN to BIG_ENDIAN.
	* configure: Regenerate.

2015-12-30  Mike Frysinger  <vapier@gentoo.org>

	* imterp.c (sim_open): Delete current_alignment and
	current_target_byte_order assignments.
	* configure.ac: Call SIM_AC_OPTION_ENDIAN.
	* configure: Regenerate.

2015-12-30  Mike Frysinger  <vapier@gentoo.org>

	* wrapper.c (m68hc11_reg_store, m68hc11_reg_fetch): Define.
	(sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
	(sim_store_register): Rename to ...
	(m68hc11_reg_store): ... this.  Delete local cpu var.
	(sim_fetch_register): Rename to ...
	(m68hc11_reg_fetch): ... this.  Delete local cpu var.

2015-12-27  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-hload.o.

2015-12-26  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2015-12-24  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (SIM_HANDLES_LMA): Delete.

2015-12-24  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (WITH_WATCHPOINTS): Delete.

2015-11-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (WITH_MODULO_MEMORY): Delete.

2015-11-15  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.

2015-11-14  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-load.o.

2015-11-14  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_close): Delete.

2015-06-23  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-06-12  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-06-11  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (interrupt_names): Delete.

2015-06-11  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Add sim-resume.o
	* interp.c (has_stepped, sim_resume): Delete.

2015-06-11  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (INLINE): Delete define.

2015-04-29  Nick Clifton  <nickc@redhat.com>

	PR 18273
	* gencode.c (gen_fetch_operands): Remove unreachable code.

2015-04-18  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (SIM_CPU): Delete.

2015-04-18  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (sim_cia): Delete.

2015-04-17  Mike Frysinger  <vapier@gentoo.org>

	* sim-main.h (CIA_GET, CIA_SET): Delete.

2015-04-15  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-cpu.o.
	* sim-main.h (STATE_CPU): Delete.

2015-04-13  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-04-13  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Add sim-cpu.o.
	* interp.c (m68hc11_pc_get, m68hc11_pc_set): New functions.
	(sim_open): Declare new local var i.  Call sim_cpu_alloc_all.
	Call CPU_PC_FETCH & CPU_PC_STORE for all cpus.
	(sim_pc_get): Delete.
	* sim-main.h (SIM_CPU): Define.
	(STATE_CPU): Drop &.
	(struct sim_state): Change cpu to an array of pointers.

2015-04-06  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_OBJS): Delete sim-engine.o and sim-hrw.o.

2015-03-31  Mike Frysinger  <vapier@gentoo.org>

	* m68hc11_sim.c (cpu_get_indexed_operand_addr,
	cpu_get_indexed_operand8, cpu_get_indexed_operand16): Rename restrict
	variable to restricted.
	* sim-main.h (cpu_get_indexed_operand_addr): Likewise.

2015-03-24  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_pc_get): New function.

2015-03-24  Mike Frysinger  <vapier@gentoo.org>

	* compile.c (sim_set_profile, sim_set_profile_size, sim_set_callbacks,
	sim_size, sim_trace): Delete.
	* sim-main.h (sim_set_profile, sim_set_profile_size): Delete.

2015-03-24  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-03-23  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2015-03-23  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.
	* configure.ac (m68hc11_extra_objs): Delete.
	* Makefile.in (SIM_OBJS): Delete SIM_EXTRA_OBJS.
	(SIM_EXTRA_OBJS): Delete.

2015-03-16  Mike Frysinger  <vapier@gentoo.org>

	* config.in, configure: Regenerate.

2015-03-14  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in (SIM_RUN_OBJS): Delete.

2015-03-14  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (AC_CHECK_HEADERS): Delete.
	* aclocal.m4, configure: Regenerate.

2014-08-19  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2014-08-15  Roland McGrath  <mcgrathr@google.com>

	* configure: Regenerate.
	* config.in: Regenerate.

2014-03-04  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

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

	* configure: Regenerate.

2013-06-03  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, configure: Regenerate.

2013-05-10  Freddie Chopin  <freddie_chopin@op.pl>

	* configure: Rebuild.

2013-03-26  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate.

2013-03-23  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* configure.ac: Use $SIM_DV_SOCKSER_O.
	* configure: Regenerated.

2012-06-15  Joel Brobecker  <brobecker@adacore.com>

	* config.in, configure: Regenerate.

2012-03-24  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4, config.in, configure: Regenerate.

2011-12-03  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: New file.
	* configure: Regenerate.

2011-10-19  Mike Frysinger  <vapier@gentoo.org>

	* configure: Regenerate after common/acinclude.m4 update.

2011-10-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Change include to common/acinclude.m4.

2011-10-17  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Change AC_PREREQ to 2.64.  Delete AC_CONFIG_HEADER
	call.  Replace common.m4 include with SIM_AC_COMMON.
	* configure: Regenerate.

2011-07-05  Mike Frysinger  <vapier@gentoo.org>

	* interp.c (sim_do_command): Delete.

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* config.in: Regenerate.
	* configure: Likewise.

	* configure: Regenerate.

2008-07-11  Hans-Peter Nilsson  <hp@axis.com>

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

2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

2006-12-21  Hans-Peter Nilsson  <hp@axis.com>

	* config.in: Regenerate.

2006-06-13  Richard Earnshaw  <rearnsha@arm.com>

	* configure: Regenerated.

2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure: Regenerated.

2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure: Regenerated.

2006-03-29  Hans-Peter Nilsson  <hp@axis.com>

	* configure: Regenerate.

2005-03-23  Mark Kettenis  <kettenis@gnu.org>

	* configure: Regenerate.

2005-01-14  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: Sinclude aclocal.m4 before common.m4.  Add
	explicit call to AC_CONFIG_HEADER.
	* configure: Regenerate.

2005-01-11  Andrew Cagney  <cagney@localhost.localdomain>

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

2005-01-07  Andrew Cagney  <cagney@gnu.org>

	* configure.ac: Rename configure.in, require autoconf 2.59.
	* configure: Re-generate.

2004-12-08  Hans-Peter Nilsson  <hp@axis.com>

	* configure: Regenerate for ../common/aclocal.m4 update.

2004-06-15  Alan Modra  <amodra@bigpond.net.au>

	* interp.c (sim_prepare_for_program): Use bfd_get_section_size
	instead of bfd_get_section_size_before_reloc.

2003-08-08  Stephane Carrez  <stcarrez@nerim.fr>

	* dv-m68hc11tim.c (cycle_to_string): Add flags parameter to better
	control the translation.
	(m68hc11tim_print_timer): Update cycle_to_string conversion.
	(m68hc11tim_timer_event): Fix handling of output
	compare register with its interrupts.
	(m68hc11tim_io_write_buffer): Check output compare
	after setting M6811_TMSK1.
	(m68hc11tim_io_read_buffer): Fix compilation warning.
	* dv-m68hc11.c (m68hc11_option_handler): Likewise.
	* dv-m68hc11spi.c (m68hc11spi_info): Likewise.
	* dv-m68hc11sio.c (m68hc11sio_info): Likewise.
	* interrupts.c (interrupts_info): Likewise.
	(interrupts_reset): Recognize bootstrap mode.
	* sim-main.h (PRINT_CYCLE, PRINT_TIME): New defines.
	(_sim_cpu): Add cpu_start_mode.
	(cycle_to_string): Add flags member.
	* m68hc11_sim.c (OPTION_CPU_BOOTSTRAP): New option.
	(cpu_options): Declare new option bootstrap.
	(cpu_option_handler): Handle it.
	(cpu_info): Update call to cycle_to_string.

2003-08-08  Stephane Carrez  <stcarrez@nerim.fr>

	* sim-main.h (phys_to_virt): Use memory bank parameters to translate
	the physical address in virtual address.
	(struct _sim_cpu): Add memory bank members.
	* m68hc11_sim.c (cpu_initialize): Clear memory bank parameters.
	* interp.c (sim_hw_configure): Create memory bank according to memory
	bank parameters.
	(sim_get_bank_parameters): New function to obtain memory bank config
	from the symbol table.
	(sim_prepare_for_program): Call it to obtain the memory bank parameters.
	(sim_open): Call sim_prepare_for_program.
	* dv-m68hc11.c (m68hc11cpu_io_write_buffer): Use memory bank parameters
	to check if address is within bank window.
	(m68hc11cpu_io_read_buffer): Likewise.
	(attach_m68hc11_regs): Map the memory bank according to memory bank
	parameters.

2003-08-08  Stephane Carrez  <stcarrez@nerim.fr>,

	* sim-main.h (PAGE_REGNUM, Z_REGNUM): Use same numbering as gdb.

2003-08-08  Stephane Carrez  <stcarrez@nerim.fr>,
	    Gary Piercey <gpiercey@northstar-technical.com>

	* m68hc11_sim.c (print_io_word): New function to print 16-bit value.
	* sim-main.h (print_io_word): Declare.
	* dv-m68hc11tim.c (tmsk1_desc): New description table for TMSK1.
	(tflg1_desc): Likewise for TFLG1.
	(m68hc11tim_info): Print input and output compare registers

2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>

	* Makefile.in (SIM_EXTRA_CFLAGS): Set WITH_TARGET_ADDRESS_BITSIZE
	to 32 to support memory bank switching; temporarily use 32-bit for
	WORD_BITSIZE to avoid a bug in sim-common.

2003-03-01  Stephane Carrez  <stcarrez@nerim.fr>

	* interp.c (sim_fetch_register): Only store a single byte for
	1 byte registers.

2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_prepare_for_program, sim_open)
	(sim_create_inferior): Rename _bfd to bfd.

2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>

	* dv-m68hc11eepr.c (struct m68hc11eepr ): Use const char* for filename.

2002-08-13  Marko Kohtala  <marko.kohtala@luukku.com>

	* interp.c (sim_prepare_for_program): Look up the image for the
	reset vector and set cpu_use_elf_start to 1 if not found.
	(sim_open): Do not set cpu_use_elf_start.

2002-08-13  Marko Kohtala  <marko.kohtala@luukku.com>

	* interp.c (sim_hw_configure): Return 1 for success.
	(sim_prepare_for_program): Use the sim_hw_configure exit code to
	return SIM_RC_FAIL.

2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>

	* dv-m68hc11.c (m68hc11cpu_io_read_buffer): Translate memory
	bank window to some virtual address to read from extended memory.
	(m68hc11cpu_io_write_buffer): Likewise for writing.
	(attach_m68hc11_regs): When use_bank property is defined, attach
	to the 68HC12 16K memory bank window.
	* interp.c (sim_hw_configure): Create memory region for banked
	memory.

2002-08-13  Stephane Carrez  <Stephane.Carrez@nerim.fr>

	* interp.c (sim_hw_configure): Connect port-X to cpu-write-port.
	* dv-m68hc11.c (m68hc11cpu_ports): Add cpu-write-port input.
	(m68hc11cpu_port_event): Handle CPU_WRITE_PORT event.

2002-08-13  Marko Kohtala  <marko.kohtala@luukku.com>

	* dv-m68hc11.c (m68hc11cpu_io_write): Fix to update IO mapping
	when IO mapping changed, not when internal RAM mapping is changed.

2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>

	* m68hc11_sim.c (cpu_special): Handle call and rtc instructions.
	* sim-main.h (M6812_CALL_INDIRECT): Add to enum.
	(m6811_regs): Add page register.
	(cpu_set_page, cpu_get_page): New macros.
	(phys_to_virt): New function.
	(cpu_get_indexed_operand_addr, cpu_return): Declare.
	* gencode.c: Identify indirect addressing mode for call and fix daa.
	(gen_function_entry): New param to tell if src8/dst8 locals are
	necessary.
	(gen_interpreter): Use it to avoid generation of unused variables.
	* interp.c (sim_fetch_register): Allow to read page register; page
	register, A, B and CCR are only 1 byte wide.
	(sim_store_register): Likewise for writing.

2002-06-16  Andrew Cagney  <ac131313@redhat.com>

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

2002-06-09  Andrew Cagney  <cagney@redhat.com>

	* Makefile.in (INCLUDE): Update path to callback.h.
	* sim-main.h: Include "gdb/callback.h" and "gdb/remote-sim.h".

2002-03-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* m68hc11_sim.c (cpu_move8): Call sim_engine_abort in default case.
	(cpu_move16): Likewise.
	(sim_memory_error): Use sim_io_printf.
	(cpu_option_handler): Fix compilation warning.
	* interp.c (sim_hw_configure): Fix compilation warning;
	remove m68hc12sio@2 device.
	(sim_open): Likewise.
	* dv-m68hc11tim.c (m68hc11tim_port_event): Fix clear of TFLG2
	flags when reset.
	(cycle_to_string): Improve convertion of cpu cycle number.
	(m68hc11tim_info): Print info about PACNT.
	(m68hc11tim_io_write_buffer): Fix clearing of TFLG2; handle
	TCTL1 and TCTL2 registers.
	* dv-m68hc11.c (m68hc11_info): Print 6811 current running mode.

2002-03-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* interp.c (sim_hw_configure): Save the HW cpu pointer in the
	cpu struct.
	(sim_hw_configure): Connect the capture input/output events.
	* sim-main.h (_sim_cpu): New member hw_cpu.
	(m68hc11cpu_set_oscillator): Declare.
	(m68hc11cpu_clear_oscillator): Declare.
	(m68hc11cpu_set_port): Declare.
	* dv-m68hc11.c (m68hc11_options): New for oscillator commands.
	(m68hc11cpu_ports): New input ports and output ports to reflect
	the HC11 IOs.
	(m68hc11_delete): Cleanup any running oscillator.
	(attach_m68hc11_regs): Create the input oscillators.
	(make_oscillator): New function.
	(find_oscillator): New function.
	(oscillator_handler): New function.
	(reset_oscillators): New function.
	(m68hc11cpu_port_event): Handle the new input ports.
	(m68hc11cpu_set_oscillator): New function.
	(m68hc11cpu_clear_oscillator): New function.
	(get_frequency): New function.
	(m68hc11_option_handler): New function.
	(m68hc11cpu_set_port): New function.
	(m68hc11cpu_io_write): Post the port output events.
	* dv-m68hc11spi.c (set_bit_port): Use m68hc11cpu_set_port to set
	the output port value.
	* dv-m68hc11tim.c (m68hc11tim_port_event): Handle CAPTURE event
	by latching the TCNT value in the register.

2002-03-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* sim-main.h (cpu_frame, cpu_frame_list): Remove.
	(cpu_frame_reg, cpu_print_frame): Remove.
	(cpu_m68hc11_push_uint8, cpu_m68hc11_pop_uint8): Cleanup.
	(cpu_m68hc11_push_uint16, cpu_m68hc11_pop_uint16): Likewise.
	(cpu_m68hc12_push_uint8, cpu_m68hc12_push_uint16): Likewise.
	(cpu_m68hc12_pop_uint8, cpu_m68hc12_pop_uint16): Likewise.
	* m68hc11_sim.c (cpu_find_frame): Remove.
	(cpu_create_frame_list): Remove.
	(cpu_remove_frame_list, cpu_create_frame, cpu_free_frame): Remove.
	(cpu_frame_reg, cpu_print_frame, cpu_update_frame): Remove.
	(cpu_call): Cleanup to remove #if HAVE_FRAME and calls to the above.
	(cpu_update_frame): Likewise.
	(cpu_return): Likewise.
	(cpu_reset): Likewise.
	(cpu_initialize): Likewise.
	* interp.c (sim_do_command): Remove call to cpu_print_frame.

2002-03-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* interrupts.c (interrupts_reset): New function, setup interrupt
	vector address according to cpu mode.
	(interrupts_initialize): Move reset portion to the above.
	(interrupt_names): New table to give a name to interrupts.
	(idefs): Handle pulse accumulator interrupts.
	(interrupts_info): Print the interrupt history.
	(interrupt_option_handler): New function.
	(interrupt_options): New table of options.
	(interrupts_update_pending): Keep track of when interrupts are
	raised and implement breakpoint-on-raise-interrupt.
	(interrupts_process): Keep track of when interrupts are taken
	and implement breakpoint-on-interrupt.
	* interrupts.h (struct interrupt_history): Define.
	(struct interrupt): Keep track of the interrupt history.
	(interrupts_reset): Declare.
	(interrupts_initialize): Update prototype.
	* m68hc11_sim.c (cpu_reset): Reset interrupts.
	(cpu_initialize): Cleanup.

2001-07-28  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* dv-m68hc11eepr.c (m68hc11eepr_info): Fix print of current write
	address.
	(m68hc11eepr_port_event): Fix detach/attach logic.

2001-07-22  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* Makefile.in (SIM_OBJS): Remove sim-resume.o
	* interp.c (sim_resume): New function from sim-resume.c, install
	the stepping event after having processed the pending ticks.
	(has_stepped): Likewise.
	(sim_info): Produce an output only if verbose or STATE_VERBOSE_P.

2001-07-10  Andrew Cagney  <ac131313@redhat.com>

	* Makefile.in (gencode): Provide explicit path to gencode.c.

2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* Makefile.in (M68HC11_OBJS): Add m68hc12int.o.
	(m68hc12int.c): Generate using gencode -m6812.
	(m68hc11int.c): Likewise with -m6811.

	* gencode.c (m6811_opcode_patterns): New patterns for 68HC12.
	(m6811_page1_opcodes): Remove duplicate entries.
	(m6811_page2_opcodes): Likewise.
	(m6811_page3_opcodes): Likewise.
	(m6811_page4_opcodes): Likewise.
	(m6812_page1_opcodes): New table for 68HC12 instructions.
	(m6812_page2_opcodes): Likewise.
	(gen_fetch_operands): New modes [] and &[] for 68HC12 operands.
	(gen_save_result): Likewise.
	(gen_interpreter_for_table): Handle 68HC11 and 68HC12 opcodes.
	(cmp_opcode): New function for opcode comparision.
	(prepare_table): Sort the opcodes.
	(gen_interpreter): Prepare all the tables and generate either
	a 68HC11 or a 68HC12 simulator.
	(main): New options -m6811 and -m6812.

	* m68hc11_sim.c (cpu_single_step): Use pointer to cpu interpretor.
	(cpu_special): Simulation of some 68HC12 instructions.
	(cpu_exg): New function.
	(cpu_dbcc): Likewise.
	(cpu_fetch_relbranch16): Likewise.
	(cpu_push_all): Push according to 68HC11 or 68HC12.
	(cpu_move16): Likewise.
	(cpu_move8): Likewise.
	(cpu_get_indexed_operand16): Likewise.
	(cpu_get_indexed_operand8): Likewise.
	(cpu_get_indexed_operand_addr): Likewise.
	(cpu_set_reg, cpu_set_dst_reg, cpu_get_src_reg, cpu_get_reg): Likewise.
	(cpu_reset): Setup INIT register according to architecture.

	* sim-main.h (M6811_Special): Add 68HC12 specific instructions.
	(_sim_cpu): Keep track of the cpu being simulated.
	(cpu_get_tmp3, cpu_get_tmp2, cpu_set_tmp3, cpu_set_tmp2): New.
	(cpu_m68hc11_push_uintxx): Rename of cpu_push_uintxx.
	(cpu_m68hc11_pop_uint8): Likewise.
	(cpu_m68hc12_push_uintxx): New functions for 68HC12.
	(cpu_m68hc12_pop_uintxx): Likewise.
	(cpu_exg, cpu_dbcc, cpu_move8, cpu_move16): Likewise,
	(cpu_fetch_relbranch16): Likewise.
	(cpu_interp_m6811): Rename of cpu_interp.
	(cpu_interp_m6812): New function.
	* interp.c (free_state): New function.
	(dev_list_68hc12): New table.
	(sim_board_reset): Reset depending on the cpu (HC11 or HC12).
	(sim_hw_configure): New function.
	(sim_prepare_for_program): New function.
	(sim_open): Use above new functions.
	(sim_close): Call free_state().
	(sim_info): Print info according to cpu.
	(sim_create_inferior): Use sim_prepare_for_program.
	(sim_do_command): Configure the hardware after a change of the
	architecture.

2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* dv-m68hc11sio.c (m68hc11sio_tx_poll): Always check for
	pending interrupts.
	* interrupts.c (interrupts_process): Keep track of the last number
	of masked insn cycles.
	(interrupts_initialize): Clear last number of masked insn cycles.
	(interrupts_info): Report them.
	(interrupts_update_pending): Compute clear and set masks of
	interrupts and clear the interrupt bits before setting them
	(due to SCI interrupt sharing).
	* interrupts.h (struct interrupts): New members last_mask_cycles
	and xirq_last_mask_cycles.

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

	* dv-m68hc11.c (m68hc11cpu_io_read_buffer): Use attach_size
	instead of a hard-coded value.
	(m68hc11cpu_io_write_buffer): Likewise.
	(dv_m68hc11_descriptor): Define a 68hc12 device.
	* dv-m68hc11eepr.c (dv_m68hc11eepr_descriptor): Likewise.
	* dv-m68hc11tim.c (dv_m68hc11tim_descriptor): Likewise.
	* dv-m68hc11spi.c (dv_m68hc11spi_descriptor): Likewise.
	* dv-m68hc11sio.c (dv_m68hc11sio_descriptor): Likewise.

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

	* dv-m68hc11.c (attach_m68hc11_regs): Register a delete handler.
	(m68hc11cpu_delete): Delete handler to detach the address space.

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

	* dv-m68hc11eepr.c (attach_m68hc11eepr_regs): Use hw_malloc.
	* dv-nvram.c (attach_nvram_regs): Use hw_free and hw_malloc
	instead of free and malloc.

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

	* Makefile.in: Was missing from initial patch.

2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* interp.c (sim_store_register): Remove soft register hack.
	(sim_fetch_register): Likewise.
	(sim_create_inferior): Likewise.
	* sim-main.h: Likewise.

2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* interrupts.c (interrupts_update_pending): Clear the mask of
	pending interrupts here.
	(interrupts_get_current): Don't clear the mask of pending interrupts.

2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* sim-main.h: Define cycle_to_string.
	* dv-m68hc11tim.c (cycle_to_string): New function to translate
	the cpu cycle into some formatted time string.
	(m68hc11tim_print_timer): Use it.
	* dv-m68hc11sio.c (m68hc11sio_info): Use cycle_to_string.
	* dv-m68hc11spi.c (m68hc11spi_info): Likewise.
	* interrupts.c (interrupts_info): Likewise.
	* m68hc11_sim.c (cpu_info): Likewise.

2000-09-06  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* dv-m68hc11tim.c (m68hc11tim_timer_event): Compute the overflow
	interrupt and compare events accurately.  Take into account the
	pending ticks not processed by the simulator yet (introduced a shift).
	(m68hc11_port_event): Reset the timer interrupt delays.
	(m68hc11tim_io_read_buffer): Be able to read several bytes.
	(m68hc11tim_io_write_buffer): Likewise for write.
	(m68hc11tim_io_write_buffer): Recompute the timer overflow interrupt.

2000-09-06  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* dv-m68hc11spi.c (m68hc11spi_io_read_buffer): Clear the interrupts.
	(m68hc11spi_io_write_buffer): Likewise and fix the spi frame.
	(m68hc11spi_info): Clarify the status report
	of the SPI when a byte is being sent.
	(m68hc11spi_clock): Fix the spi send frame.

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

	* sim-main.h (m68hc11_map_level): Define level of address mappings.
	* dv-m68hc11eepr.c (struct m68hc11eepr ): New flag to indicate
	whether the eeprom is currently mapped or not.
	(m68hc11eepr_port_event): Use the flag to see if we must unmap
	or map the eeprom.  Update the flag to reflect the current state.
	Use M6811_EEPROM_LEVEL when mapping the eeprom.
	(m68hc11eepr_finish): Remove overlap hack.
	(attach_m68hc11eepr_regs): Use M6811_IO_LEVEL when mapping the
	config and control registers.
	* dv-m68hc11.c (m68hc11cpu_finish): Remove overlap hack.
	(attach_m68hc11_regs): Use M6811_IO_LEVEL.
	(m68hc11cpu_io_write): Likewise when unmapping and re-mapping.
	* dv-m68hc11spi.c (m68hc11spi_finish): Likewise.
	(attach_m68hc11spi_regs): Likewise.
	* dv-m68hc11tim.c (m68hc11tim_finish): Likewise.
	(attach_m68hc11tim_regs): Likewise.
	* dv-m68hc11sio.c (m68hc11sio_finish): Likewise.
	(attach_m68hc11sio_regs): Likewise.
	* interp.c (sim_open): Likewise.
	* dv-nvram.c (attach_nvram_regs): Likewise.

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

	* configure, config.in: Regenerate.

2000-06-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* Makefile.in (SIM_RUN_OBJS): Define to use nrun.c
	* dv-m68hc11.c (m68hc11cpu_finish): Register detach address callback.
	(dv_m6811_detach_address_callback): New function to detach a
	device from an address space.
	* dv-m68hc11eepr.c (m68hc11eepr_port_event): Initialize
	config register according to --cpu-config option.
	* sim-main.h (_sim_cpu): Add cpu_config member.
	* interp.c (sim_open): Delete specific simulator options.
	* m68hc11_sim.c (cpu_option_handler): New options
	--emulos and -cpu-config <val> to configure the simulator.
	(cpu_initialize): Initialize cpu_config member.

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

	* emulos.c: Fix indentation and comments.
	* gencode.c: Likewise.
	* dv-m68hc11tim.c (m68hc11tim_timer_event): Handle COMPARE_EVENT.
	(m68hc11tim_io_write_buffer): Write compare registers and
	setup compare event.
	* interp.c: Remove unused global variables.
	* interrupts.c (idefs): New compare interrupts.
	Fix indentation and comments.
	* interrupts.h: Likewise.

2000-06-18  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* dv-m68hc11sio.c: Fix indentation and comments.
	Remove INT_PORT.
	* dv-m68hc11.c: Fix indentation and comments.
	(m68hc11cpu_port_event): Move initialization of M6811_HPRIO from here.
	* m68hc11_sim.c (cpu_reset): To here.
	* dv-m68hc11eepr.c: Fix indentation and comments.

2000-06-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* dv-nvram.c: New file, rename from dv-pram.c.
	* dv-pram.c: Delete file.
	* sim-main.h: Incorporate m68hc11_sim.h.
	* m68hc11_sim.h: Delete file.
	* configure.in: Rename pram into nvram.
	* interp.c (sim_open): Likewise in creation of device tree.

2000-05-31  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* interp.c (sim_open): Create the SPI device.
	* dv-m68hc11spi.c: New file for SPI device simulation.
	* configure.in (hw_extra_devices): Add SPI device.

2000-05-28  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* interrupts.c (interrupts_initialize): Clear XIRQ accounting.
	(interrupts_process): Separate IRQ and XIRQ accounting.
	(interrupts_info): Report XIRQ accounting.
	* interrupts.h (struct interrupts): Added accounting for XIRQ.

2000-04-16  Stephane Carrez  <stcarrez@worldnet.fr>

	* dv-pram.c (attach_pram_regs): Fix the 'save-modified' mode.
	* m68hc11_sim.h (_sim_cpu): Allow configuration of cpu mode.
	* dv-m68hc11.c (attach_m68hc11_regs): Get the cpu MODA,MODB
	configuration from the 'mode' device tree property.
	(m68hc11cpu_port_event): Reset M6811_HPRIO to the cpu MODA, MODB
	configuration.

2000-02-24  Stephane Carrez  <stcarrez@worldnet.fr>

	* sim-main.h: Remove WITH_TARGET_* defines.
	* Makefile.in (SIM_EXTRA_CFLAGS): Specify the WITH_TARGET_* flags.

2000-02-08  Stephane Carrez  <stcarrez@worldnet.fr>

	* dv-m68hc11sio.c (m68hc11sio_port_event): Setup the SCI to
	1200 baud when cpu is in bootstrap mode.

	* dv-m68hc11tim.c (m68hc11tim_io_write_buffer): Be able to
	write in the TCTN timer register.

	* dv-m68hc11sio.c (m68hc11sio_io_write_buffer): Divide cpu clock
	by 4 to obtain the E clock frequency.
	(sccr2_desc): Use M6811_TIE for TIE bit.
	(m68hc11sio_info): Fix baud rate report.

	* dv-m68hc11tim.c (to_realtime): Likewise.

	* interp.c (sim_open): When building device tree, only provide
	devices that do not exist yet.

	* emulos.c: Fix compilation pb under Windows.

	* dv-m68hc11.c (attach_m68hc11_regs): Get the clock frequency
	from the 'clock' property.

2000-01-02  Stephane Carrez  <stcarrez@worldnet.fr>

	* m68hc11_sim.h (*_REGNUM): Define.
	(_sim_cpu): New member cpu_page0_reg table.
	* interp.c (sim_create_inferior): Fill the cpu_page0_reg table with
	addresses of soft registers in .page0.
	(sim_fetch_register, sim_store_register): Use cpu_page0_reg table
	to get/set soft registers.

1999-12-31  Stephane Carrez  <stcarrez@worldnet.fr>

	* dv-m68hc11.c (m68hc11cpu_io_write_buffer): Clear byte to avoid
	returning random values.

1999-12-17  Stephane Carrez  <stcarrez@worldnet.fr>

	* gencode.c: Fix "subb N,x" that used a instead of b.

1999-09-09  Stephane Carrez  <stcarrez@worldnet.fr>

	* gencode.c: Fixed sbc8 and adc8 when there was a initial carry.

1999-09-01  Stephane Carrez  <stcarrez@worldnet.fr>

	* sim-main.h (SIM_HANDLES_LMA): Define to enable loading using lma.

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

	* dv-m68hc11.c (attach_m68hc11_regs): Save the size of the
	register region in the m68hc11cpu struct.
	(m68hc11cpu_io_write): When the IO mapping addres changes,
	detach the register region and re-attach it at the new address.
	(m68hc11cpu_io_read_buffer): Renamed base_address into
	attach_address.
	(m68hc11cpu_io_write_buffer): Likewise. Pass the hw pointer
	to m68hc11cpu_io_write.

1999-08-13  Stephane Carrez  <stcarrez@worldnet.fr>

	* gencode.c: For sbc8, check the carry and increment the source
	before trying to set the carry for the result.

1999-05-24  John S. Kallal <kallal@voicenet.com>

	* interp.c (sim_get_info): Don't crash if the command line is 0.
	Define prototype for sim_get_info() and init_system().
	(sim_info): Correct call to sim_get_info().

1999-05-16  Stephane Carrez  <stcarrez@worldnet.fr>

	* configure.in: Recognize m6811-*-*.
	* configure: Regenerate.
	* m68hc11_sim.h (cpu_ccr_update_add8, cpu_ccr_update_add16,
	cpu_ccr_update_sub8, cpu_ccr_update_sub16):
	Correct the computation of carry of 8 and 16-bits add and subtract.
	* gencode.c: Use cpu_ccr_update_sub8 for subtraction (carry and
	overflow set in a different manner than add).

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

	* dv-m68hc11.c (dv_m6811_attach_address_callback): Removed a
	trace message.
	* interp.c (sim_open, sim_create_inferior): Initialize the
	cpu_elf_start from the ELF header.
	* m68hc11_sim.c (cpu_initialize): Clear the new data members.
	(cpu_restart): Use cpu_elf_start as the starting address when
	the flag is set.
	(cpu_special): When cpu_use_elf_start is set, the WAI instruction
	exits the simulator (exit status is in D).
	* m68hc11_sim.h (_sim_cpu): Added members cpu_use_elf_start and
	cpu_elf_star to start execution at address specified in ELF file.

1999-05-02  Stephane Carrez  <stcarrez@worldnet.fr>

	* Makefile.in, config.in, configure, configure.in: New files.
	* gencode.c: New file, generation of 68HC11 interpreter.
	* m68hc11_sim.h, m68hc11_sim.c: New files, specific operations
	for interpreter.
	* interrupts.c, interrupts.h: New files, management of interrupts.
	* interp.c, sim-main.h,
	* dv-m68hc11.c, dv-m68hc11eepr.c, dv-m68hc11sio.c,
	dv-m68hc11tim.c, dv-pram.c: New files representing devices for
	68HC11 (dv-pram.c is generic and could probably migrate to common).
	* emulos.c: New file, basic emulation of some os.
