sim: gpio: add output support
[deliverable/binutils-gdb.git] / sim / bfin / ChangeLog
index 45bf0a81bf1afca4153f59e633913b6da0a066d7..6314e9755ad12970adbe116ccff4408ca8ff6ef6 100644 (file)
@@ -1,3 +1,217 @@
+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
This page took 0.035609 seconds and 4 git commands to generate.