efac2223c4
The hardware respects this insn, and some code (like the on-chip bootrom) uses it, so allow it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
301 lines
12 KiB
Text
301 lines
12 KiB
Text
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.
|