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

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

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

	* configure.ac: Delete SIM_AC_OPTION_DEFAULT_MODEL call.
	* interp.c (sim_open): Set STATE_MODEL_NAME.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

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

	* interp.c (sim_open): Set STATE_MACHS.
	* machs.c (sim_machs): Rename to ...
	(bfin_sim_machs): ... this.
	* machs.h (bfin_sim_machs): New decl.

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

	* machs.c (sim_machs): Mark const.

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

	* Makefile.in: Change to $(SDL_CFLAGS) & $(SDL_LIBS).
	* configure.ac: Delete PKG_PROG_PKG_CONFIG &
	PKG_CHECK_MODULES calls.
	* aclocal.m4, configure: Regenerate.

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

	* interp.c (bfin_syscall): Set sc.arg5 & sc.arg6.

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

	* configure: Regenerate.

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>

	* Makefile.in: Change @MAINTAINER_MODE_TRUE@ to $(MAINT).
	* aclocal.m4, configure: Regenerate.

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-bfin_cec.c: Include sim-signal.h.
	* 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-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-14  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac: Delete call to SIM_AC_OPTION_WARNINGS.
	* configure: Regenerate.

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

	* interp.c: Include portability.h.
	(getuid, getgid, geteuid, getegid setuid, setgid): Delete.

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

	* configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT.
	* interp.c (sim_open): Set current_alignment.

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

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

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

	* configure.ac: Delete calls to AC_CHECK_FUNCS_ONCE and
	AC_CHECK_HEADERS_ONCE.
	* config.in, configure: Regenerate.

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

	* dv-bfin_otp.c (bfin_otp_write_page): Shift data1 & data3 by 32-bits.

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

	* dv-bfin_otp.c (bfin_otp_write_page): Fix args to
	bfin_otp_write_page_val2.

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

	* dv-bfin_otp.c (bfin_otp_write_page): Call bfin_otp_write_page_val2.

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

	* dv-bfin_cec.c: Include strings.h.

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>

	* interp.c (sim_open): Call sim_state_alloc_extra.
	* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
	(struct sim_state): Delete.
	(STATE_BOARD_DATA): Define.

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

	* bfin-sim.c, devices.c, dv-bfin_cec.c, dv-bfin_ctimer.c,
	dv-bfin_dma.c, dv-bfin_dmac.c, dv-bfin_ebiu_amc.c,
	dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_sdc.c, dv-bfin_emac.c,
	dv-bfin_eppi.c, dv-bfin_evt.c, dv-bfin_gpio.c, dv-bfin_gpio2.c,
	dv-bfin_gptimer.c, dv-bfin_jtag.c, dv-bfin_mmu.c, dv-bfin_nfc.c,
	dv-bfin_otp.c, dv-bfin_pfmon.c, dv-bfin_pint.c, dv-bfin_pll.c,
	dv-bfin_ppi.c, dv-bfin_rtc.c, dv-bfin_sic.c, dv-bfin_spi.c,
	dv-bfin_trace.c, dv-bfin_twi.c, dv-bfin_uart.c, dv-bfin_uart2.c,
	dv-bfin_wdog.c, dv-bfin_wp.c, dv-eth_phy.c, gui.c, interp.c,
	machs.c: Replace config.h include with defs.h.

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

	* config.in, configure: Regenerate.

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

	* interp.c: Update include path.

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

	* configure: Regenerate.

2021-05-03  Simon Marchi  <simon.marchi@polymtl.ca>

	* interp.c (sim_open): Adjust format string specifier.

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

	* bfin-sim.c: Include ansidecl.h.
	(illegal_instruction): Change __attribute__((noreturn)) to
	ATTRIBUTE_NORETURN.
	(illegal_instruction_combination, illegal_instruction_or_combination,
	unhandled_instruction): Likewise.

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

	* dv-bfin_mmu.c (bfin_mmu_options): Mark static.
	(sim_install_bfin_mmu): New function & prototype.
	* interp.c (e_sim_add_option_table): Delete.
	* machs.c (bfin_mach_options): Mark static.
	(sim_install_bfin_mach): New function & prototype.

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

	* config.in, configure: Regenerate.

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

	* Makefile.in (NL_TARGET): Delete.

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>

	* 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.ac: Change AC_CHECK_HEADERS to AC_CHECK_HEADERS_ONCE.
	* configure: Regenerate.

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

	* configure.ac: Change AC_CHECK_FUNCS to AC_CHECK_FUNCS_ONCE and
	delete mmap & munmap.
	* configure: Regenerate.

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

	* interp.c (bfin_syscall): Delete CB_SYS_getpid handling.

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-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>

	* interp.c (sim_open): Delete call to STATE_WATCHPOINTS.

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

	* configure: Regenerate.

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

	* interp.c (sim_open): Delete STATE_WATCHPOINTS (sd)->sizeof_pc.

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

	* config.in, configure: Regenerate.

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

	* configure: Regenerate.

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

	* configure: Regenerate.

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

	* machs.c: Include stdlib.h.

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

	* dv-bfin_dma.c: Include stdlib.h.

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

	* interp.c: Change ALIGN to align_up.
	* sim-main.h (ALIGN): Delete

2020-08-21  Simon Marchi  <simon.marchi@polymtl.ca>

	* configure.ac: Include config/pkg.m4.

2020-07-29  Simon Marchi  <simon.marchi@efficios.com>

	* aclocal.m4, configure: Re-generate.

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

	* configure: Regenerate.

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

	PR sim/20438
	* machs.h (MODEL_TYPE, MACH_ATTR, BFIN_INSN_*): Move ...
	* arch.h: ... to this new header file.
	* sim-main.h (SIM_CPU): Delete.
	Include arch.h before sim-base.h, and move sim-base.h before
	bfin-sim.h.

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.ac (SIM_AC_OPTION_ENVIRONMENT): 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-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 (bfin_syscall): Remove first const from argv.
	(sim_open): Mark argv const.
	(simple_env): Remove first const.
	(bfin_user_init): Remove first const from argv and and env
	(bfin_os_init): Remove first const from argv.
	(sim_create_inferior): Mark argv and env const.
	Drop casts from bfin_user_init and bfin_os_init calls.

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

	* interp.c (step_once): Call TRACE_DISASM.

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

	* bfin-sim.c (decode_dsp32shift_0): Change MIN to min.
	* dv-bfin_dma.c (bfin_dma_hw_event_callback): Likewise.
	* dv-bfin_ebiu_amc.c (bfin_ebiu_amc_write_amgctl): Likewise.
	* dv-bfin_emac.c (bfin_emac_dma_read_buffer): Change MAX to max.
	* dv-bfin_mmu.c (_mmu_check_addr): Change MIN to min.
	* dv-bfin_trace.c (bfin_trace_io_read_buffer): Likewise.
	* interp.c (bfin_fdpic_load): Change MAX to max.
	(bfin_fdpic_load): Likewise.
	* sim-main.h (MIN, MAX): Delete.
	(CLAMP): Change MIN to min and MAX to max.

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>

	* TODO: Delete file.

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

	* interp.c (count_argc): Delete.
	(bfin_syscall): Change count_argc to countargv.
	(bfin_user_init): Likewise.

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 LITTLE_ENDIAN to
	LITTLE.
	* configure: Regenerate.

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-26  Mike Frysinger  <vapier@gentoo.org>

	* devices.c (bfin_mmr_invalid): Delete cpu arg and add missing arg.
	Add cpu, rw, and reason local vars.  Rewrite error messages.  Add
	more todo comments.
	(dv_bfin_mmr_invalid): Update bfin_mmr_invalid call.
	(dv_bfin_mmr_require): Likewise.  Change return to bool.  Check
	alignment of the addr variable.
	(bfin_mmr_check, dv_bfin_mmr_check, device_io_read_buffer,
	device_io_write_buffer): Delete.
	(dv_bfin_mmr_require_16_32): Define.
	* devices.h (dv_bfin_mmr_require): Change return to bool.
	(dv_bfin_mmr_check): Delete.
	(dv_bfin_mmr_require_16_32): Define.
	Add a few comments.
	* dv-bfin_cec.c (bfin_cec_io_write_buffer): Call
	dv_bfin_mmr_require_32.
	(bfin_cec_io_read_buffer): Likewise.
	* dv-bfin_ctimer.c (bfin_ctimer_io_write_buffer): Likewise.
	(bfin_ctimer_io_read_buffer): Likewise.
	* dv-bfin_dma.c (bfin_dma_io_write_buffer): Call
	dv_bfin_mmr_require_16_32.  Return 0 in the default case.
	(bfin_dma_io_read_buffer): Call dv_bfin_mmr_require_16_32.
	* dv-bfin_ebiu_amc.c (bf50x_ebiu_amc_io_write_buffer): Return 0
	when dv_bfin_mmr_require_16 fails and in the default case.
	(bf53x_ebiu_amc_io_write_buffer): Likewise.
	(bf54x_ebiu_amc_io_write_buffer): Likewise.
	(bfin_ebiu_amc_io_write_buffer): Call dv_bfin_mmr_require_16_32.
	(bf50x_ebiu_amc_io_read_buffer): Return 0 when
	dv_bfin_mmr_require_16 fails and in the default case.
	(bf53x_ebiu_amc_io_read_buffer): Likewise.
	(bf54x_ebiu_amc_io_read_buffer): Likewise.
	(bfin_ebiu_amc_io_read_buffer): Call dv_bfin_mmr_require_16_32.
	* dv-bfin_ebiu_ddrc.c (bfin_ebiu_ddrc_io_write_buffer): Call
	dv_bfin_mmr_require_16_32.  Return 0 when dv_bfin_mmr_require_16 or
	dv_bfin_mmr_require_32 fails.
	(bfin_ebiu_ddrc_io_read_buffer): Likewise.
	* dv-bfin_ebiu_sdc.c (bfin_ebiu_sdc_io_write_buffer): Likewise.
	(bfin_ebiu_sdc_io_read_buffer): Likewise.
	* dv-bfin_emac.c (bfin_emac_io_write_buffer): Return 0 when
	dv_bfin_mmr_require_32 fails and in the default case.
	(bfin_emac_io_read_buffer): Likewise.
	* dv-bfin_eppi.c (bfin_eppi_io_write_buffer): Call
	dv_bfin_mmr_require_16_32 and return 0 when dv_bfin_mmr_require_16
	or dv_bfin_mmr_require_32 fails and in the default case.
	(bfin_eppi_io_read_buffer): Likewise.
	* dv-bfin_evt.c (bfin_evt_io_write_buffer): Call
	dv_bfin_mmr_require_32.
	(bfin_evt_io_read_buffer): Likewise.
	* dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Move call to
	dv_bfin_mmr_require_16 to earlier in the func.  Return 0 when it
	fails and in the default case.
	(bfin_gpio_io_read_buffer): Likewise.
	* dv-bfin_gpio2.c (bfin_gpio_io_write_buffer): Move call to
	dv_bfin_mmr_require_16 and dv_bfin_mmr_require_32 to earlier in the
	func.  Return 0 when it fails and in the default case.
	(bfin_gpio_io_read_buffer): Likewise.
	* dv-bfin_gptimer.c (bfin_gptimer_io_write_buffer): Call
	dv_bfin_mmr_require_16_32.  Return 0 when dv_bfin_mmr_require_16 or
	dv_bfin_mmr_require_32 fails and in the default case.
	(bfin_gptimer_io_read_buffer): Likewise.
	* dv-bfin_jtag.c (bfin_jtag_io_write_buffer): Call
	dv_bfin_mmr_require_32.  Return 0 in the default case.
	(bfin_jtag_io_read_buffer): Likewise.  Delete while(1) loop.
	* dv-bfin_mmu.c (bfin_mmu_io_write_buffer): Call
	dv_bfin_mmr_require_32.  Return 0 in the default case.
	(bfin_mmu_io_read_buffer): Likewise.  Delete while(1) loop.
	* dv-bfin_nfc.c (bfin_nfc_io_write_buffer): Move call to
	dv_bfin_mmr_require_16 to earlier in the func.  Return 0 when it
	fails and in the default case.
	(bfin_nfc_io_read_buffer): Likewise.
	* dv-bfin_otp.c (bfin_otp_io_write_buffer): Call
	dv_bfin_mmr_require_16_32.  Return 0 when dv_bfin_mmr_require_16
	or dv_bfin_mmr_require_32 fails and in the default case.
	(bfin_otp_io_read_buffer): Likewise.
	* dv-bfin_pfmon.c (bfin_pfmon_io_write_buffer): Call
	dv_bfin_mmr_require_32.  Return 0 in the default case.
	(bfin_pfmon_io_read_buffer): Likewise.  Delete while(1) loop.
	* dv-bfin_pint.c (bfin_pint_io_write_buffer): Move call to
	dv_bfin_mmr_require_32 to earlier in the func.  Return 0 when it
	fails and in the default case.
	(bfin_pint_io_read_buffer): Likewise.
	* dv-bfin_pll.c (bfin_pll_io_write_buffer): Call
	dv_bfin_mmr_require_16_32.  Return 0 when dv_bfin_mmr_require_16
	fails.
	(bfin_pll_io_read_buffer): Likewise.
	* dv-bfin_ppi.c (bfin_ppi_io_write_buffer): Move call to
	dv_bfin_mmr_require_16 to earlier in the func.  Return 0 when it
	fails and in the default case.
	9bfin_ppi_io_read_buffer): Likewise.
	* dv-bfin_rtc.c (bfin_rtc_io_write_buffer): Call
	dv_bfin_mmr_require_16_32.
	(bfin_rtc_io_read_buffer): Likewise.
	* dv-bfin_sic.c (bfin_sic_52x_io_write_buffer): Likewise.
	(bfin_sic_52x_io_read_buffer, bfin_sic_537_io_write_buffer,
	bfin_sic_537_io_read_buffer, bfin_sic_54x_io_write_buffer,
	bfin_sic_54x_io_read_buffer, bfin_sic_561_io_write_buffer,
	bfin_sic_561_io_read_buffer): Likewise.
	* dv-bfin_spi.c (bfin_spi_io_write_buffer): Move call to
	dv_bfin_mmr_require_16 to earlier in the func.  Return 0 when it
	fails and in the default case.
	(bfin_spi_io_read_buffer): Likewise.
	* dv-bfin_trace.c (bfin_trace_io_write_buffer): Call
	dv_bfin_mmr_require_32.  Return 0 in the default case.
	(bfin_trace_io_read_buffer): Likewise.  Delete while(1) loop.
	* dv-bfin_twi.c (bfin_twi_io_write_buffer): Move call to
	dv_bfin_mmr_require_16 to earlier in the func.  Return 0 when it
	fails and in the default case.
	(bfin_twi_io_read_buffer): Likewise.
	* dv-bfin_uart.c (bfin_uart_io_write_buffer): Likewise.
	(bfin_uart_io_read_buffer): Likewise.
	* dv-bfin_uart2.c (bfin_uart_io_write_buffer): Likewise.
	(bfin_uart_io_read_buffer): Likewise.
	* dv-bfin_wdog.c (bfin_wdog_io_write_buffer): Call
	dv_bfin_mmr_require_16_32.
	(bfin_wdog_io_read_buffer): Likewise.  Return 0 when
	dv_bfin_mmr_require_16 fails.
	* dv-bfin_wp.c (bfin_wp_io_write_buffer): Call
	dv_bfin_mmr_require_32.  Return 0 in the default case.
	(bfin_wp_io_read_buffer): Likewise.  Delete while(1) loop.
	* tconfig.h: Delete file.

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

	* bfin-sim.c (decode_LDST_0): Add 4th element to posts array.

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

	* interp.c (sim_create_inferior): Update comment and argv check.

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

	* Makefile.in (SIM_OBJS): Delete sim-model.o.
	* tconfig.h (SIM_HAVE_MODEL): Delete.

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

	* machs.c: Rename MACH to SIM_MACH, MACH_IMP_PROPERTIES to
	SIM_MACH_IMP_PROPERTIES, and MODEL to SIM_MODEL.

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

	* devices.c (device_error): Delete.

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

	* tconfig.h (SIM_HANDLES_LMA): Delete.

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

	* tconfig.h (WITH_MODULO_MEMORY): Delete.

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

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

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

	* interp.c (sim_close): Delete.

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

	PR sim/18407
	* bfin-sim.c (decode_dsp32shiftimm_0): Call ashiftrt when count
	is less than 0.

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

	* interp.c (trace_register): Delete.
	* sim-main.h (trace_register, TRACE_REGISTER, TRACE_REG): Delete.

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

	* configure: Regenerate.

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

	* interp.c: Include sim-syscall.h.
	(syscall_read_mem, syscall_write_mem): Delete.
	(bfin_syscall): Change syscall_read_mem/syscall_write_mem to
	sim_syscall_read_mem/sim_syscall_write_mem.

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

	* linux-targ-map.h: Update example comments.
	(cb_linux_syscall_map): Fill out name field.
	(cb_linux_errno_map, cb_linux_open_map, cb_linux_signal_map):
	Likewise.

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

	* interp.c: Expand comment on CB_SYS_xxx defines.

2015-06-12  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>

	* bfin-sim.c (hwloop_get_next_pc): Change TRACE_BRANCH to
	BFIN_TRACE_BRANCH.
	(decode_ProgCtrl_0, decode_BRCC_0, decode_UJUMP_0, decode_CALLa_0):
	Likewise.
	* bfin-sim.h (__PUT_MEM, __GET_MEM): Change TRACE_CORE to
	BFIN_TRACE_CORE.
	* dv-bfin_cec.c (_cec_raise, cec_latch, cec_return): Change
	TRACE_BRANCH to BFIN_TRACE_BRANCH.
	* interp.c (syscall_read_mem, syscall_write_mem): Change MAYBE_TRACE
	to TRACE_CORE.
	* sim-main.h (MAYBE_TRACE, TRACE_INSN, TRACE_DECODE, TRACE_EXTRACT,
	TRACE_SYSCALL, TRACE_EVENTS): Delete.
	(TRACE_CORE): Rename to ...
	(BFIN_TRACE_CORE): ... this.  Change MAYBE_TRACE to TRACE_CORE.
	(TRACE_BRANCH): Rename to ...
	(BFIN_TRACE_BRANCH): ... this.  Change MAYBE_TRACE to TRACE_BRANCH.

2015-04-24  David Binderman  <dcb314@hotmail.com>
	    Nick Clifton  <nickc@redhat.com>

	PR 18273
	* bfin-sim.c (decode_dsp32alu_0): Remove spurious check for
	s == 1.

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

	* sim-main.h (SIM_CPU): Add note to clean this up.

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-06  Mike Frysinger  <vapier@gentoo.org>

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

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

	* Makefile.in (SIM_OBJS): Delete $(SIM_EXTRA_OBJS).

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

	* config.in, configure: Regenerate.

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 (BFIN_SIM_EXTRA_OBJS): Delete.
	* Makefile.in (SIM_OBJS): Delete @BFIN_SIM_EXTRA_OBJS@.

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

	* dv-bfin_uart.c [!HAVE_DV_SOCKSER] (dv_sockser_status,
	dv_sockser_write, dv_sockser_read): Delete.

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

	* sim-main.h: Delete run-sim.h include.

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

	* aclocal.m4, config.in, configure: Regenerate.
	* tconfig.in: Rename file ...
	* tconfig.h: ... here.

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

	* tconfig.in: Delete includes.
	[HAVE_DV_SOCKSER]: Delete.

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

	* bfin-sim.c (decode_dsp32alu_0): Change v to bu32.

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

	* Makefile.in (SIM_RUN_OBJS): Delete.

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

	PR sim/13160
	* Makefile.in ($(srcdir)/linux-fixed-code.h): Put a ; after the
	print sed command for BSD compatibility.

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

	PR sim/13160
	* Makefile.in ($(srcdir)/linux-fixed-code.h): Specify the asm input
	directly rather than use $<.  Move the file name to the end of the
	sed command to be POSIX compliant.

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-23  Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.c (decode_dsp32alu_0): Add note about broken handling of
	SEARCH with parallel insns.

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

	* bfin-sim.c (decode_dsp32shift_0): Make sure HLs is 0 after last
	insn that uses it.
	(decode_dsp32shiftimm_0): Likewise.
	Require HLs be less than 2 for accumulator shift insns.

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

	* bfin-sim.c (decode_dsp32alu_0): Check more opcode fields before
	decoding various insns.

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

	* TODO: Add more notes.

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

	* Makefile.in ($(srcdir)/linux-fixed-code.h): Add
	@MAINTAINER_MODE_TRUE@ as the first item in the dependency list.

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>

	* aclocal.m4, configure: Regenerate.

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

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

2012-12-20  Joel Brobecker  <brobecker@adacore.com>

	* aclocal.m4: Revert the previous change changing
	the license from GPL v2 or later to GPL v3 or later
	(this file was generated).

2012-12-20  Joel Brobecker  <brobecker@adacore.com>

	* linux-fixed-code.s: Revert the previous change changing
	the license from GPL v2 or later to GPL v3 or later.

2012-07-31  Mike Frysinger  <vapier@gentoo.org>

	* machs.c (bf54x_roms): Pass 0x1000 to alias field of BFROM, and
	0x10000 to the alias field of BFROMA.
	(bf561_roms): Pass 0x1000 to alias field of BFROM.
	(bf59x_roms): Pass 0x10000 to alias field of BFROMA.

2012-07-31  Mike Frysinger  <vapier@gentoo.org>

	* machs.c (bfin_reg_fetch): Change return 0 to return -1, and
	return -1 to return 4.
	(bfin_reg_store): Likewise.

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

	* config.in, configure: Regenerate.

2012-04-09  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_pint.
	* configure: Regenerate.
	* dv-bfin_pint.c, dv-bfin_pint.h: New device model.
	* machs.c (bf542_dev): Add PINT register blocks.
	(bf544_dev, bf547_dev): Likewise.
	(PINT_PIQS): Define.
	(bf54x_port): Add pint/gpio routing.
	* machs.h (BFIN_MMR_PINT_SIZE): Define.

2012-04-09  Mike Frysinger  <vapier@gentoo.org>

	* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_gpio2.
	* configure: Regenerate.
	* dv-bfin_gpio2.c, dv-bfin_gpio2.h: New device model.
	* machs.c (bf54x_mem): Delete GPIO mem stub.
	(bf542_dev): Add GPIO register blocks.
	(bf544_dev, bf547_dev): Likewise.
	* machs.h (BFIN_MMR_GPIO2_SIZE): Define.

2012-04-09  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32shift_0): Extract the sign for ASHIFT
	and LSHIFT, and set ASTAT based on the before/after values.
	Rename "val" to "acc" to be consistent with other code branches.

2012-04-09  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (sgn_extend): New helper.
	(decode_dsp32shiftimm_0): Call lshift when newimmag is more
	than 16, otherwise call ashiftrt.  Set ASTAT fields as needed.
	For accumulator shifts, call new sgn_extend helper.

2012-04-08  Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.c (illegal_instruction_or_combination): New helper.
	(decode_ProgCtrl_0): Call illegal_instruction_or_combination instead
	of illegal_instruction.
	(decode_PushPopReg_0, decode_CCflag_0, decode_CC2dreg_0,
	decode_LDSTpmod_0, decode_dagMODim_0, decode_dagMODik_0,
	decode_dspLDST_0, decode_LDST_0, _interp_insn_bfin): Likewise.
	(decode_PushPopMultiple_0): Call illegal_instruction_combination when
	PARALLEL_GROUP is not BFIN_PARALLEL_NONE.
	(decode_CCflag_0, decode_REGMV_0, decode_ALU2op_0, decode_PTR2op_0,
	decode_COMPI2opD_0, decode_COMPI2opP_0): Likewise.
	(decode_CC2stat_0): Check PARALLEL_GROUP before cbit.
	(decode_LDSTpmod_0): Call illegal_instruction_combination when
	PARALLEL_GROUP is BFIN_PARALLEL_GROUP2.
	(decode_dagMODim_0, decode_dagMODik_0, decode_LDST_0,
	decode_LDSTiiFP_0, decode_LDSTii_0): Likewise.

2012-04-08  Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.h (bfin_parallel_group): New enum.
	(bfin_cpu_state): Add new "group" member.
	(PARALLEL_GROUP): Define.
	* bfin-sim.c (decode_ProgCtrl_0): Change INSN_LEN check to
	PARALLEL_GROUP.
	(decode_CaCTRL_0, decode_PushPopReg_0, decode_ccMV_0, decode_CCflag_0,
	decode_CC2dreg_0, decode_CC2stat_0, decode_BRCC_0, decode_UJUMP_0,
	decode_LOGI2op_0, decode_LoopSetup_0, decode_LDIMMhalf_0,
	decode_CALLa_0, decode_linkage_0): Likewise.
	(_interp_insn_bfin): Set PARALLEL_GROUP.
	(interp_insn_bfin): Likewise.

2012-04-08  Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.c (decode_dsp32alu_0): Delete extra space in TRACE_INSN.

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

	* bfin-sim.c (_interp_insn_bfin): Call illegal_instruction_combination
	when INSN_LEN is non-zero before 32bit decode.

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

	* bfin-dis.c (fmtconst): Replace decimal handling with a single
	sprintf call and the '*' field width.

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

	* machs.c (bfin_model_map_bfrom): Return when mnum is 535.

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

	* interp.c (bfin_user_init): Move auxvt_size decl from top to
	inside of auxvt check.

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

	* dv-bfin_sic.c (bfin_sic_finish): Change iwr1 to iwr2.

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

	* devices.c: Include devices.h.

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

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

2012-03-19  Robin Getz  <robin.getz@analog.com>
	    Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.c (lshift): Add an overflow flag.  Delete now unused
	i, j, and tmp vars.  Add a new v_i var.  Split the overflow logic
	out from the saturate logic.  Do not set V ASTAT bits when working
	with accumulators.
	(decode_ALU2op_0): Add new argument to lshift call.
	(decode_LOGI2op_0, decode_dsp32shift_0, decode_dsp32shiftimm_0):
	Likewise.

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

	* dv-bfin_ebiu_amc.c (struct bfin_ebiu_amc): Add bank_base.
	(bfin_ebiu_amc_write_amgctl): Replace BFIN_EBIU_AMC_BASE with
	amc->bank_base.
	(bfin_ebiu_amc_finish): Assign BFIN_EBIU_AMC_BASE to amc->bank_base.

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

	* dv-bfin_ebiu_amc.c (bfin_ebiu_amc_attach_address_callback): Use
	ARRAY_SIZE rather than hardcoded constant.

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

	* config.in: Regenerate.
	* configure: Likewise.
	* configure.ac: Add linux/types.h to AC_CHECK_HEADERS.
	* dv-eth_phy.c: Check for HAVE_LINUX_TYPES_H, and delete __u16 and
	_LINUX_TYPES_H defines.

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

	* interp.c (bfin_syscall): Increase _tbuf storage.  Declare new local
	tstr buffer.  Call cb_get_string on tstr when handling CB_SYS_stat64,
	CB_SYS_lstat64, CB_SYS_open, CB_SYS_write, CB_SYS_unlink,
	CB_SYS_truncate, CB_SYS_rename, CB_SYS_stat, CB_SYS_lstat.  Include
	tstr in the tbuf output.

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

	* Makefile.in: Delete all dependency rules.
	* aclocal.m4, 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.
	* aclocal.m4, configure: Regenerate.

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-09-28  Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.c (decode_dsp32shift_0): Use STORE() for VIT_MAX insns.

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

	* interp.c (sim_do_command): Delete.

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

	* interp.c (cb_linux_stat_map_32, cb_linux_stat_map_64): Rename from
	stat_map_32 and stat_map_64.
	(cb_libgloss_stat_map_32): New stat map.
	(stat_map_32, stat_map_64): New stat map pointers.
	(bfin_user_init): Assign stat_map_32 to cb_linux_stat_map_32 and
	stat_map_64 to cb_linux_stat_map_64.
	(bfin_virtual_init): New function.
	(sim_create_inferior): Call bfin_virtual_init for all other envs.

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

	* interp.c (bfin_syscall): Delete old comment.  Set dreg 1 to
	sc.result2 and dreg 2 to sc.errcode.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32shift_0): Clear ASTAT[AV] if val is 0,
	else set it.  Set ASTAT[AVS] if val is 0.  Do this for LSHIFT and
	ASHIFT accumulator insns.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (ashiftrt): If size is 40, do not call SET_ASTATREG.
	(lshiftrt): Likewise.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32shift_0): Use get_unextended_acc
	rather than get_extended_acc in LSHIFT insns.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_macfunc): Handle MM when mmod is M_TFU.
	Check MM once when mmod is M_FU to match M_TFU better.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32shiftimm_0): When shift is greater than
	32, perform a left shift.  Update the corresponding AV bit.  Set
	AZ when the low 32bits are also zero.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32shiftimm_0): With left shift vector insns,
	call lshift only when count is positive.  Otherwise, call ashiftrt.
	With arithmetic right shift insns, call ashiftrt when the value is
	small enough, otherwise call lshift.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (extract_mult): Call saturate_s16 directly when
	mmod is M_IH rather than computing the result by hand.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_macfunc): Add nosat_acc to track acc value
	before saturation, set sat when more cases saturate, and set the
	overflow bit based on these results.  For M_TFU, M_IU, M_FU, and
	M_W32, change the max values compared against.
	(decode_dsp32mac_0): Delete v_i and add v_0 and v_1.  Pass v_1
	when processing MAC1 and pass v_0 when processing MAC0.  Combine
	the results into the V/VS ASTAT bits.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (extract_mult): Call saturate_s32 when MM is set
	and mmod is M_IU.  Call saturate_s16 when MM is set and mmod
	is M_TFU.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_multfunc): Call new is_macmod_signed, and
	allow MM to sign extend all the time.
	(decode_macfunc): Likewise.  Drop sign extension of unsigned
	values.

2011-06-18  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (saturate_s40_astat): Change ">=" to ">".
	(decode_macfunc): Likewise when mmod is M_IH.

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

	* interp.c (sim_create_inferior): Change free to freeargv.

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

	* machs.c (bf534_dev, bf537_dev): Add glue-or devices.
	(bf537_port): Define applicable devices with PORT to the glue-or
	devices instead of SIC.
	(bfin_model_hw_tree_init): Drop old sim_hw_parse call for bfin_sic.
	Only parse reg/type when the device has an address.  Move the call
	to dv_bfin_hw_port_parse up before slash check.

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

	* dv-bfin_sic.c (ENC, DEC_PIN, DEC_SIC): Move above the
	BFIN_SIC_TO_CEC_PORTS definition.
	(SIC_PORTS): New define.
	(bfin_sic_50x_ports, bfin_sic_51x_ports, bfin_sic_52x_ports,
	bfin_sic_533_ports, bfin_sic_537_ports, bfin_sic_538_ports,
	bfin_sic_54x_ports, bfin_sic_561_ports, bfin_sic_59x_ports):
	Delete old layouts.
	(bfin_sic1_ports, bfin_sic2_ports, bfin_sic3_ports,
	bfin_sic_561_ports): Define new layouts with SIC_PORTS().
	(bfin_sic_finish): Change reference to bfin_sic_50x_ports,
	bfin_sic_51x_ports, bfin_sic_52x_ports, and bfin_sic_538_ports
	to bfin_sic2_ports.  Change reference to bfin_sic_533_ports,
	bfin_sic_537_ports, and bfin_sic_59x_ports to bfin_sic1_ports.
	Change reference to bfin_sic_54x_ports to bfin_sic3_ports.
	* machs.c (bfin_port_layout): New structure.
	(bfin_model_data): Add new "port" and "port_count" members.
	(PORT, SIC): New defines.
	(bf000_port, bf50x_port, bf51x_port, bf52x_port, bf533_port,
	bf537_port, bf538_port, bf54x_port, bf561_port, bf592_port):
	Move and redefine port layout from dv-bfin_sic.c to here.
	(bf504_port, bf506_port, bf512_port, bf514_port, bf516_port,
	bf518_port, bf522_port, bf523_port, bf524_port, bf525_port,
	bf526_port, bf527_port, bf531_port, bf532_port, bf534_port,
	bf536_port, bf539_port, bf542_port, bf544_port, bf547_port,
	bf548_port, bf549_port): New defines.
	(bfin_model_data): Link in new bfin_port_layout.port member.
	(dv_bfin_hw_port_parse): New function.
	(dv_bfin_hw_parse): Call new dv_bfin_hw_port_parse function.
	(bfin_model_hw_tree_init): Replace calls to sim_hw_parse for
	bfin_sic links with new dv_bfin_hw_port_parse function.

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

	* dv-bfin_dma.c (bfin_dma_io_write_buffer): Fix indentation.

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

	* sim-main.h (TRACE_SYSCALL): Change EVENTS to SYSCALL.

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

	* dv-bfin_cec.h (BFIN_COREMMR_CEC_{BASE,SIZE}): Move to ...
	* dv-bfin_ctimer.h (BFIN_COREMMR_CTIMER_{BASE,SIZE}): Move to ...
	* dv-bfin_dma.h (BFIN_MMR_DMA_SIZE): Move to ...
	* dv-bfin_dmac.h (BFIN_MMR_DMAC{0,1}_BASE): Move to ...
	* dv-bfin_ebiu_amc.h (BF{IN,50X,54X}_MMR_EBIU_AMC_SIZE): Move to ...
	* dv-bfin_ebiu_ddrc.h (BFIN_MMR_EBIU_DDRC_SIZE): Move to ...
	* dv-bfin_ebiu_sdc.h (BFIN_MMR_EBIU_SDC_SIZE): Move to ...
	* dv-bfin_emac.h (BFIN_MMR_EMAC_{BASE,SIZE}): Move to ...
	* dv-bfin_eppi.h (BFIN_MMR_EPPI_SIZE): Move to ...
	* dv-bfin_evt.h (BFIN_COREMMR_EVT_{BASE,SIZE}): Move to ...
	* dv-bfin_gpio.h (BFIN_MMR_GPIO_SIZE): Move to ...
	* dv-bfin_gptimer.h (BFIN_MMR_GPTIMER_SIZE): Move to ...
	* dv-bfin_jtag.h (BFIN_COREMMR_JTAG_{BASE,SIZE}): Move to ...
	* dv-bfin_mmu.h (BFIN_COREMMR_MMU_{BASE,SIZE}): Move to ...
	* dv-bfin_nfc.h (BFIN_MMR_NFC_SIZE): Move to ...
	* dv-bfin_otp.h (BFIN_MMR_OTP_SIZE): Move to ...
	* dv-bfin_pfmon.h (BFIN_COREMMR_PFMON_{BASE,SIZE}): Move to ...
	* dv-bfin_pll.h (BFIN_MMR_PLL_{BASE,SIZE}): Move to ...
	* dv-bfin_ppi.h (BFIN_MMR_PPI_SIZE): Move to ...
	* dv-bfin_rtc.h (BFIN_MMR_RTC_SIZE): Move to ...
	* dv-bfin_sic.h (BFIN_MMR_SIC_{BASE,SIZE}): Move to ...
	* dv-bfin_spi.h (BFIN_MMR_SPI_SIZE): Move to ...
	* dv-bfin_trace.h (BFIN_COREMMR_TRACE_{BASE,SIZE}): Move to ...
	* dv-bfin_twi.h (BFIN_MMR_TWI_SIZE): Move to ...
	* dv-bfin_uart.h (BFIN_MMR_UART_SIZE): Move to ...
	* dv-bfin_uart2.h (BFIN_MMR_UART2_SIZE): Move to ...
	* dv-bfin_wdog.h (BFIN_MMR_WDOG_SIZE): Move to ...
	* dv-bfin_wp.h (BFIN_COREMMR_WP_{BASE,SIZE}): Move to ...
	* machs.h: ... here.
	* machs.c: Delete all dv-bfin_*.h includes except for cec/dmac.

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

	* Makefile.in (dv-bfin_pfmon.o): New target.
	* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_pfmon.
	* configure: Regenerated.
	* dv-bfin_pfmon.c, dv-bfin_pfmon.h: New files.
	* machs.c: Add include new bfin_pfmon.h.
	(bfin_core_dev): Add pfmon.

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

	* machs.c (bf526_roms): Add a region with rev of 2.
	(bf54x_roms): Add regions with rev of 4.
	* bfroms/all.h: Include new bf526-0.2.h, bf54x-0.4.h, and
	bf54x_l1-0.4.h headers.
	* bfroms/bf526-0.2.h, bfroms/bf54x-0.4.h, bfroms/bf54x_l1-0.4.h:
	New header files.

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

	* bfin-sim.c (decode_PushPopReg_0): Delete (grp == 1 && reg == 6)
	check for SP reg.

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

	* dv-bfin_uart.c (bfin_uart_write_byte): Add a mcr arg.  Declare a
	local uart.  When LOOP_ENA is set in mcr, write to the saved byte
	and count fields of the uart.
	(bfin_uart_io_write_buffer): Pass uart->mcr to bfin_uart_write_byte
	and bfin_uart_get_next_byte.
	(bfin_uart_get_next_byte): Add a mcr arg.  Move uart->saved_count
	check first, and skip the remaining code when LOOP_ENA is set in mcr.
	* dv-bfin_uart.h (bfin_uart_write_byte): Add an mcr argument.
	(bfin_uart_get_next_byte): Likewise.
	(XOFF, MRTS, RFIT, RFRT, LOOP_ENA, FCPOL, ARTS, ACTS): Define.
	* dv-bfin_uart2.c (bfin_uart_io_write_buffer): Padd uart->mcr when
	calling bfin_uart_write_byte and bfin_uart_get_next_byte.

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

	* dv-bfin_uart2.c (bfin_uart_io_read_buffer): Clear DR/THRE/TEMT bits
	from uart->lsr before setting them.

2011-04-27  Mike Frysinger  <vapier@gentoo.org>

	* dv-bfin_dmac.c (bfin_dmac): Constify pmap array.
	(bfin_dmac_50x_pmap, bfin_dmac_51x_pmap, bfin_dmac_52x_pmap,
	bfin_dmac_533_pmap, bfin_dmac_537_pmap, bfin_dmac0_538_pmap,
	bfin_dmac1_538_pmap, bfin_dmac0_54x_pmap, bfin_dmac1_54x_pmap,
	bfin_dmac0_561_pmap, bfin_dmac1_561_pmap, bfin_dmac_59x_pmap):
	Likewise.

2011-04-26  Mike Frysinger  <vapier@gentoo.org>

	* dv-bfin_gpio.c (bfin_gpio_forward_ouput): New function.
	(bfin_gpio_io_write_buffer): Store the current port state into
	"data", and call bfin_gpio_forward_ouput when the data or dir
	MMRs are updated.
	(bfin_gpio_ports): Change p0..p15 to bidirect_port.

2011-04-26  Mike Frysinger  <vapier@gentoo.org>

	* dv-bfin_gpio.c (bfin_gpio): Add "int_state" member.
	(bfin_gpio_forward_int, bfin_gpio_forward_ints): New functions.
	(bfin_gpio_io_write_buffer): Call bfin_gpio_forward_int when the
	mask a or mask b MMRs are written.
	(bfin_gpio_port_event): When handling edge gpios, set the bit in
	int_state, call bfin_gpio_forward_ints, and then clear the bit.
	When handling level gpios, clear/set the bit in int_state rather
	than returning immediately.  Call bfin_gpio_forward_ints instead
	of checking mask[ab] and calling HW_TRACE/hw_port_event directly.

2011-04-16  Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.c (decode_dsp32alu_0): Call STORE instead of SET_DREG for
	BYTEOP2P, BYTEOP3P, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK, and
	BYTEUNPACK.
	(decode_dsp32shift_0): Call STORE instead of SET_DREG for PACK,
	BITMUX, EXTRACT, DEPOSIT, ALIGN8, ALIGN16, and ALIGN24.

2011-04-14  Mike Frysinger  <vapier@gentoo.org>

	* bfin-sim.c (decode_dsp32alu_0): Set DIS_ALGN_EXPT when handling
	BYTEOP2P, BYTEOP3P, SAA, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK,
	and BYTEUNPACK insns.

2011-04-11  Mike Frysinger  <vapier@gentoo.org>

	* dv-bfin_sic.c (bfin_sic_port_event): New helper function.
	(bfin_sic_52x_port_event, bfin_sic_537_port_event,
	bfin_sic_54x_port_event, bfin_sic_561_port_event): Include level
	in the trace output, and call the new bfin_sic_port_event func.

2011-04-11  Mike Frysinger  <vapier@gentoo.org>

	* dv-bfin_gpio.c (bfin_gpio_ports): Add p15.

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

	* dv-bfin_otp.c (bfin_otp_ports): Declare.
	(bfin_otp_finish): Call set_hw_ports with bfin_otp_ports.

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

	* configure: Regenerate after common/aclocal.m4 changes.

2011-03-28  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32alu_0): Cast high 16bits of A0.W to bs16
	and add to casted low 16bits of A0.L and store in val0.  Cast high
	16bits of A1.W to bs16 and add to casted low 16bits of A1.L and
	store in val1.  Delete bit checks of val0 and val1.

2011-03-26  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32alu_0): Set result to 0x7FFFFFFF when
	the result was 0x80000000 for RND12 subtraction.

2011-03-26  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32alu_0): Set VS when V is set.

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

	* dv-bfin_gpio.c (bfin_gpio_port_event): Call HW_TRACE at every
	major code flow point.
	* dv-bfin_sic.c (bfin_sic_forward_interrupts): Call HW_TRACE just
	before calling hw_port_event on ourselves.
	(bfin_sic_52x_port_event, bfin_sic_537_port_event,
	bfin_sic_54x_port_event, bfin_sic_561_port_event): Call HW_TRACE
	at the start of the function.

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

	* dv-bfin_gpio.c (bfin_gpio_port_event): Split dir/inen bit checking.
	Normalize "level" to 0/1 values.  Shift "level" over by "my_port".
	Invert port->both bit check.

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

	* dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Subtract 2 from the
	valuep pointer for clear MMRs, 4 for set MMRs, and 6 for toggle MMRs.

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

	* TODO: Document some known SIC issues.

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

	* devices.h (dv_w1c): Fix typos in documentation of "bits" arg.
	* dv-bfin_cec.c (bfin_cec_io_write_buffer): Pass 0xffee to dv_w1c_4.
	* dv-bfin_emac.c (bfin_emac_io_write_buffer): Pass 0xe1 to dv_w1c_4
	for systat MMR and -1 to dv_w1c_4 for [rt]x_stky/mmc_[rt]irqs MMRs.
	* dv-bfin_eppi.c (bfin_eppi_io_write_buffer): Pass 0x1ff to dv_w1c_2.
	* dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Invert bits to dv_w1c_2.
	* dv-bfin_jtag.c (bfin_jtag_io_write_buffer): Invert bits to dv_w1c_4.
	* dv-bfin_nfc.c (bfin_nfc_io_write_buffer): Invert bits to dv_w1c_2.
	* dv-bfin_otp.c (bfin_otp_io_write_buffer): Invert bits to dv_w1c_2.
	* dv-bfin_ppi.c (bfin_ppi_io_write_buffer): Invert bits to dv_w1c_2.
	* dv-bfin_rtc.c (bfin_rtc_io_write_buffer): Invert bits to dv_w1c_2.
	* dv-bfin_spi.c (bfin_spi_io_write_buffer): Invert bits to dv_w1c_2.
	* dv-bfin_twi.c (bfin_twi_io_write_buffer): Invert bits to dv_w1c_2.
	* dv-bfin_uart2.c (bfin_uart_io_write_buffer): Invert bits to dv_w1c_2.

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

	* dv-bfin_uart.h (TFI, BI, FE, PE, OE): Define.

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

	* dv-bfin_twi.h (LOSTARB): Rename from LOSTARG.

2011-03-23  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32shift_0): Set acc0 to the unextended
	value for the VIT_MAX insn, and mask off the result when done.

2011-03-23  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32alu_0): Set A1 to a1_lo when up_hi is false,
	and set A0 to a0_lo when up_lo is false.

2011-03-23  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32alu_0): Call saturate_s40_astat instead of
	saturate_s40, and use the v parameter to update the AV bit.  Set the
	AC bit only when the final result is 0.

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

	* dv-bfin_sic.c (ENC, DEC_PIN, DEC_SIC): Define.
	(bfin_sic_50x_ports, bfin_sic_51x_ports, bfin_sic_52x_ports,
	bfin_sic_533_ports, bfin_sic_537_ports, bfin_sic_538_ports,
	bfin_sic_54x_ports, bfin_sic_561_ports, bfin_sic_59x_ports):
	Encode ids with the ENC macro.
	(bfin_sic_52x_port_event, bfin_sic_537_port_event,
	bfin_sic_54x_port_event, bfin_sic_561_port_event): Set idx
	from my_port with DEC_SIC, and set bit from my_port with DEC_PIN.
	(bfin_sic_533_port_event): Delete.
	(bfin_sic_finish): Call set_hw_port_event with
	bfin_sic_537_port_event for BF533 and BF59x targets.

2011-03-23  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32alu_0): Drop the src0/src1 check for
	BYTEOP1P, BYTEOP2P, and BYTEOP3P insns.

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

	* machs.c (bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev,
	bf533_dev, bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev):
	Change bfin_gpio addresses from f/g/h to 5/6/7.
	(bfin_model_hw_tree_init): Add the bfin_gpio address base to 'a'.

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

	* configure.ac (AC_CHECK_FUNCS): Check for kill and pread.
	* configure: Regenerate.
	* config.in: Regenerate.
	* interp.c (bfin_syscall): Check for HAVE_{KILL,PREAD} before using
	kill or pread.

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

	* Makefile.in (dv-bfin_gpio.o): New target.
	* configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_gpio.
	* configure: Regenerate.
	* dv-bfin_gpio.c, dv-bfin_gpio.h: New files.
	* machs.c: Include dv-bfin_gpio.h.
	(bf50x_mem, bf51x_mem, bf52x_mem, bf531_mem, bf532_mem, bf533_mem,
	bf534_mem, bf536_mem, bf537_mem, bf538_mem, bf561_mem, bf592_mem):
	Delete GPIO memory stubs.
	(bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev, bf533_dev,
	bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev): Add GPIO
	peripheral devices.
	(bfin_model_hw_tree_init): Hook up GPIO interrupts to SIC.

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

	* bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h, bfroms/bf51x-0.1.h,
	bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h, bfroms/bf526-0.1.h,
	bfroms/bf527-0.0.h, bfroms/bf527-0.1.h, bfroms/bf527-0.2.h,
	bfroms/bf533-0.1.h, bfroms/bf533-0.2.h, bfroms/bf533-0.3.h,
	bfroms/bf537-0.0.h, bfroms/bf537-0.1.h, bfroms/bf537-0.3.h,
	bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h, bfroms/bf54x-0.1.h,
	bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h, bfroms/bf54x_l1-0.1.h,
	bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h, bfroms/bf59x-0.0.h,
	bfroms/bf59x_l1-0.1.h, dv-bfin_cec.c, dv-bfin_ctimer.c,
	dv-bfin_dma.c, dv-bfin_dmac.c, dv-bfin_ebiu_amc.c,
	dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_sdc.c, dv-bfin_emac.c,
	dv-bfin_eppi.c, dv-bfin_evt.c, dv-bfin_gptimer.c, dv-bfin_jtag.c,
	dv-bfin_mmu.c, dv-bfin_nfc.c, dv-bfin_otp.c, dv-bfin_pll.c,
	dv-bfin_ppi.c, dv-bfin_rtc.c, dv-bfin_sic.c, dv-bfin_spi.c,
	dv-bfin_trace.c, dv-bfin_twi.c, dv-bfin_uart.c, dv-bfin_uart2.c,
	dv-bfin_wdog.c, dv-bfin_wp.c, dv-eth_phy.c, gui.c,
	linux-fixed-code.h, linux-targ-map.h, machs.c, Makefile.in: Fix style.

2011-03-15  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32alu_0): Set AZ based on val for 16bit adds
	and subs.

2011-03-15  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_macfunc): Move acc STOREs behind op != 3 check.

2011-03-15  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_macfunc): New neg parameter.  Set when the
	high bit is set after extract_mult.
	(decode_dsp32mac_0): Declare n_1 and n_0.  Pass to the decode_macfunc
	functions.  Use these to update the AN bit.

2011-03-15  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (decode_dsp32mult_0): Declare v_i0 and v_i1.  Pass to
	the extract_mult functions.  Include these when updating the V, VS,
	and V_COPY bits.

2011-03-15  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (astat_names): New global bit array.
	(decode_CC2stat_0): Delete local astat_name and astat_names.
	(decode_psedodbg_assert_0): Move hardcoded offset into a variable.
	Print out ASTAT bit values when checking an ASTAT register.

2010-03-15  Robin Getz  <robin.getz@analog.com>

	* bfin-sim.c (extract_mult): Handle M_IU.

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

	* Makefile.in, TODO, aclocal.m4, bfin-sim.c, bfin-sim.h,
	bfroms/all.h, bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h,
	bfroms/bf51x-0.1.h, bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h,
	bfroms/bf526-0.1.h, bfroms/bf527-0.0.h, bfroms/bf527-0.1.h,
	bfroms/bf527-0.2.h, bfroms/bf533-0.1.h, bfroms/bf533-0.2.h,
	bfroms/bf533-0.3.h, bfroms/bf537-0.0.h, bfroms/bf537-0.1.h,
	bfroms/bf537-0.3.h, bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h,
	bfroms/bf54x-0.1.h, bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h,
	bfroms/bf54x_l1-0.1.h, bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h,
	bfroms/bf59x-0.0.h, bfroms/bf59x_l1-0.1.h, config.in, configure,
	configure.ac, devices.c, devices.h, dv-bfin_cec.c, dv-bfin_cec.h,
	dv-bfin_ctimer.c, dv-bfin_ctimer.h, dv-bfin_dma.c, dv-bfin_dma.h,
	dv-bfin_dmac.c, dv-bfin_dmac.h, dv-bfin_ebiu_amc.c, dv-bfin_ebiu_amc.h,
	dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_ddrc.h, dv-bfin_ebiu_sdc.c,
	dv-bfin_ebiu_sdc.h, dv-bfin_emac.c, dv-bfin_emac.h, dv-bfin_eppi.c,
	dv-bfin_eppi.h, dv-bfin_evt.c, dv-bfin_evt.h, dv-bfin_gptimer.c,
	dv-bfin_gptimer.h, dv-bfin_jtag.c, dv-bfin_jtag.h, dv-bfin_mmu.c,
	dv-bfin_mmu.h, dv-bfin_nfc.c, dv-bfin_nfc.h, dv-bfin_otp.c,
	dv-bfin_otp.h, dv-bfin_pll.c, dv-bfin_pll.h, dv-bfin_ppi.c,
	dv-bfin_ppi.h, dv-bfin_rtc.c, dv-bfin_rtc.h, dv-bfin_sic.c,
	dv-bfin_sic.h, dv-bfin_spi.c, dv-bfin_spi.h, dv-bfin_trace.c,
	dv-bfin_trace.h, dv-bfin_twi.c, dv-bfin_twi.h, dv-bfin_uart.c,
	dv-bfin_uart.h, dv-bfin_uart2.c, dv-bfin_uart2.h, dv-bfin_wdog.c,
	dv-bfin_wdog.h, dv-bfin_wp.c, dv-bfin_wp.h, dv-eth_phy.c, gui.c,
	gui.h, insn_list.def, interp.c, linux-fixed-code.h, linux-fixed-code.s,
	linux-targ-map.h, machs.c, machs.h, proc_list.def, sim-main.h,
	tconfig.in: New Blackfin port.
