1 2011-05-25 Mike Frysinger <vapier@gentoo.org>
3 * Makefile.in (dv-bfin_pfmon.o): New target.
4 * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_pfmon.
5 * configure: Regenerated.
6 * dv-bfin_pfmon.c, dv-bfin_pfmon.h: New files.
7 * machs.c: Add include new bfin_pfmon.h.
8 (bfin_core_dev): Add pfmon.
10 2011-05-25 Mike Frysinger <vapier@gentoo.org>
12 * machs.c (bf526_roms): Add a region with rev of 2.
13 (bf54x_roms): Add regions with rev of 4.
14 * bfroms/all.h: Include new bf526-0.2.h, bf54x-0.4.h, and
15 bf54x_l1-0.4.h headers.
16 * bfroms/bf526-0.2.h, bfroms/bf54x-0.4.h, bfroms/bf54x_l1-0.4.h:
19 2011-05-14 Mike Frysinger <vapier@gentoo.org>
21 * bfin-sim.c (decode_PushPopReg_0): Delete (grp == 1 && reg == 6)
24 2011-05-14 Mike Frysinger <vapier@gentoo.org>
26 * dv-bfin_uart.c (bfin_uart_write_byte): Add a mcr arg. Declare a
27 local uart. When LOOP_ENA is set in mcr, write to the saved byte
28 and count fields of the uart.
29 (bfin_uart_io_write_buffer): Pass uart->mcr to bfin_uart_write_byte
30 and bfin_uart_get_next_byte.
31 (bfin_uart_get_next_byte): Add a mcr arg. Move uart->saved_count
32 check first, and skip the remaining code when LOOP_ENA is set in mcr.
33 * dv-bfin_uart.h (bfin_uart_write_byte): Add an mcr argument.
34 (bfin_uart_get_next_byte): Likewise.
35 (XOFF, MRTS, RFIT, RFRT, LOOP_ENA, FCPOL, ARTS, ACTS): Define.
36 * dv-bfin_uart2.c (bfin_uart_io_write_buffer): Padd uart->mcr when
37 calling bfin_uart_write_byte and bfin_uart_get_next_byte.
39 2011-05-09 Mike Frysinger <vapier@gentoo.org>
41 * dv-bfin_uart2.c (bfin_uart_io_read_buffer): Clear DR/THRE/TEMT bits
42 from uart->lsr before setting them.
44 2011-04-27 Mike Frysinger <vapier@gentoo.org>
46 * dv-bfin_dmac.c (bfin_dmac): Constify pmap array.
47 (bfin_dmac_50x_pmap, bfin_dmac_51x_pmap, bfin_dmac_52x_pmap,
48 bfin_dmac_533_pmap, bfin_dmac_537_pmap, bfin_dmac0_538_pmap,
49 bfin_dmac1_538_pmap, bfin_dmac0_54x_pmap, bfin_dmac1_54x_pmap,
50 bfin_dmac0_561_pmap, bfin_dmac1_561_pmap, bfin_dmac_59x_pmap):
53 2011-04-26 Mike Frysinger <vapier@gentoo.org>
55 * dv-bfin_gpio.c (bfin_gpio_forward_ouput): New function.
56 (bfin_gpio_io_write_buffer): Store the current port state into
57 "data", and call bfin_gpio_forward_ouput when the data or dir
59 (bfin_gpio_ports): Change p0..p15 to bidirect_port.
61 2011-04-26 Mike Frysinger <vapier@gentoo.org>
63 * dv-bfin_gpio.c (bfin_gpio): Add "int_state" member.
64 (bfin_gpio_forward_int, bfin_gpio_forward_ints): New functions.
65 (bfin_gpio_io_write_buffer): Call bfin_gpio_forward_int when the
66 mask a or mask b MMRs are written.
67 (bfin_gpio_port_event): When handling edge gpios, set the bit in
68 int_state, call bfin_gpio_forward_ints, and then clear the bit.
69 When handling level gpios, clear/set the bit in int_state rather
70 than returning immediately. Call bfin_gpio_forward_ints instead
71 of checking mask[ab] and calling HW_TRACE/hw_port_event directly.
73 2011-04-16 Mike Frysinger <vapier@gentoo.org>
75 * bfin-sim.c (decode_dsp32alu_0): Call STORE instead of SET_DREG for
76 BYTEOP2P, BYTEOP3P, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK, and
78 (decode_dsp32shift_0): Call STORE instead of SET_DREG for PACK,
79 BITMUX, EXTRACT, DEPOSIT, ALIGN8, ALIGN16, and ALIGN24.
81 2011-04-14 Mike Frysinger <vapier@gentoo.org>
83 * bfin-sim.c (decode_dsp32alu_0): Set DIS_ALGN_EXPT when handling
84 BYTEOP2P, BYTEOP3P, SAA, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK,
87 2011-04-11 Mike Frysinger <vapier@gentoo.org>
89 * dv-bfin_sic.c (bfin_sic_port_event): New helper function.
90 (bfin_sic_52x_port_event, bfin_sic_537_port_event,
91 bfin_sic_54x_port_event, bfin_sic_561_port_event): Include level
92 in the trace output, and call the new bfin_sic_port_event func.
94 2011-04-11 Mike Frysinger <vapier@gentoo.org>
96 * dv-bfin_gpio.c (bfin_gpio_ports): Add p15.
98 2011-04-01 Mike Frysinger <vapier@gentoo.org>
100 * dv-bfin_otp.c (bfin_otp_ports): Declare.
101 (bfin_otp_finish): Call set_hw_ports with bfin_otp_ports.
103 2011-03-29 Mike Frysinger <vapier@gentoo.org>
105 * configure: Regenerate after common/aclocal.m4 changes.
107 2011-03-28 Robin Getz <robin.getz@analog.com>
109 * bfin-sim.c (decode_dsp32alu_0): Cast high 16bits of A0.W to bs16
110 and add to casted low 16bits of A0.L and store in val0. Cast high
111 16bits of A1.W to bs16 and add to casted low 16bits of A1.L and
112 store in val1. Delete bit checks of val0 and val1.
114 2011-03-26 Robin Getz <robin.getz@analog.com>
116 * bfin-sim.c (decode_dsp32alu_0): Set result to 0x7FFFFFFF when
117 the result was 0x80000000 for RND12 subtraction.
119 2011-03-26 Robin Getz <robin.getz@analog.com>
121 * bfin-sim.c (decode_dsp32alu_0): Set VS when V is set.
123 2011-03-24 Mike Frysinger <vapier@gentoo.org>
125 * dv-bfin_gpio.c (bfin_gpio_port_event): Call HW_TRACE at every
126 major code flow point.
127 * dv-bfin_sic.c (bfin_sic_forward_interrupts): Call HW_TRACE just
128 before calling hw_port_event on ourselves.
129 (bfin_sic_52x_port_event, bfin_sic_537_port_event,
130 bfin_sic_54x_port_event, bfin_sic_561_port_event): Call HW_TRACE
131 at the start of the function.
133 2011-03-24 Mike Frysinger <vapier@gentoo.org>
135 * dv-bfin_gpio.c (bfin_gpio_port_event): Split dir/inen bit checking.
136 Normalize "level" to 0/1 values. Shift "level" over by "my_port".
137 Invert port->both bit check.
139 2011-03-24 Mike Frysinger <vapier@gentoo.org>
141 * dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Subtract 2 from the
142 valuep pointer for clear MMRs, 4 for set MMRs, and 6 for toggle MMRs.
144 2011-03-23 Mike Frysinger <vapier@gentoo.org>
146 * TODO: Document some known SIC issues.
148 2011-03-23 Mike Frysinger <vapier@gentoo.org>
150 * devices.h (dv_w1c): Fix typos in documentation of "bits" arg.
151 * dv-bfin_cec.c (bfin_cec_io_write_buffer): Pass 0xffee to dv_w1c_4.
152 * dv-bfin_emac.c (bfin_emac_io_write_buffer): Pass 0xe1 to dv_w1c_4
153 for systat MMR and -1 to dv_w1c_4 for [rt]x_stky/mmc_[rt]irqs MMRs.
154 * dv-bfin_eppi.c (bfin_eppi_io_write_buffer): Pass 0x1ff to dv_w1c_2.
155 * dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Invert bits to dv_w1c_2.
156 * dv-bfin_jtag.c (bfin_jtag_io_write_buffer): Invert bits to dv_w1c_4.
157 * dv-bfin_nfc.c (bfin_nfc_io_write_buffer): Invert bits to dv_w1c_2.
158 * dv-bfin_otp.c (bfin_otp_io_write_buffer): Invert bits to dv_w1c_2.
159 * dv-bfin_ppi.c (bfin_ppi_io_write_buffer): Invert bits to dv_w1c_2.
160 * dv-bfin_rtc.c (bfin_rtc_io_write_buffer): Invert bits to dv_w1c_2.
161 * dv-bfin_spi.c (bfin_spi_io_write_buffer): Invert bits to dv_w1c_2.
162 * dv-bfin_twi.c (bfin_twi_io_write_buffer): Invert bits to dv_w1c_2.
163 * dv-bfin_uart2.c (bfin_uart_io_write_buffer): Invert bits to dv_w1c_2.
165 2011-03-23 Mike Frysinger <vapier@gentoo.org>
167 * dv-bfin_uart.h (TFI, BI, FE, PE, OE): Define.
169 2011-03-23 Mike Frysinger <vapier@gentoo.org>
171 * dv-bfin_twi.h (LOSTARB): Rename from LOSTARG.
173 2011-03-23 Robin Getz <robin.getz@analog.com>
175 * bfin-sim.c (decode_dsp32shift_0): Set acc0 to the unextended
176 value for the VIT_MAX insn, and mask off the result when done.
178 2011-03-23 Robin Getz <robin.getz@analog.com>
180 * bfin-sim.c (decode_dsp32alu_0): Set A1 to a1_lo when up_hi is false,
181 and set A0 to a0_lo when up_lo is false.
183 2011-03-23 Robin Getz <robin.getz@analog.com>
185 * bfin-sim.c (decode_dsp32alu_0): Call saturate_s40_astat instead of
186 saturate_s40, and use the v parameter to update the AV bit. Set the
187 AC bit only when the final result is 0.
189 2011-03-23 Mike Frysinger <vapier@gentoo.org>
191 * dv-bfin_sic.c (ENC, DEC_PIN, DEC_SIC): Define.
192 (bfin_sic_50x_ports, bfin_sic_51x_ports, bfin_sic_52x_ports,
193 bfin_sic_533_ports, bfin_sic_537_ports, bfin_sic_538_ports,
194 bfin_sic_54x_ports, bfin_sic_561_ports, bfin_sic_59x_ports):
195 Encode ids with the ENC macro.
196 (bfin_sic_52x_port_event, bfin_sic_537_port_event,
197 bfin_sic_54x_port_event, bfin_sic_561_port_event): Set idx
198 from my_port with DEC_SIC, and set bit from my_port with DEC_PIN.
199 (bfin_sic_533_port_event): Delete.
200 (bfin_sic_finish): Call set_hw_port_event with
201 bfin_sic_537_port_event for BF533 and BF59x targets.
203 2011-03-23 Robin Getz <robin.getz@analog.com>
205 * bfin-sim.c (decode_dsp32alu_0): Drop the src0/src1 check for
206 BYTEOP1P, BYTEOP2P, and BYTEOP3P insns.
208 2011-03-23 Mike Frysinger <vapier@gentoo.org>
210 * machs.c (bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev,
211 bf533_dev, bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev):
212 Change bfin_gpio addresses from f/g/h to 5/6/7.
213 (bfin_model_hw_tree_init): Add the bfin_gpio address base to 'a'.
215 2011-03-17 Mike Frysinger <vapier@gentoo.org>
217 * configure.ac (AC_CHECK_FUNCS): Check for kill and pread.
218 * configure: Regenerate.
219 * config.in: Regenerate.
220 * interp.c (bfin_syscall): Check for HAVE_{KILL,PREAD} before using
223 2011-03-15 Mike Frysinger <vapier@gentoo.org>
225 * Makefile.in (dv-bfin_gpio.o): New target.
226 * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_gpio.
227 * configure: Regenerate.
228 * dv-bfin_gpio.c, dv-bfin_gpio.h: New files.
229 * machs.c: Include dv-bfin_gpio.h.
230 (bf50x_mem, bf51x_mem, bf52x_mem, bf531_mem, bf532_mem, bf533_mem,
231 bf534_mem, bf536_mem, bf537_mem, bf538_mem, bf561_mem, bf592_mem):
232 Delete GPIO memory stubs.
233 (bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev, bf533_dev,
234 bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev): Add GPIO
236 (bfin_model_hw_tree_init): Hook up GPIO interrupts to SIC.
238 2011-03-15 Mike Frysinger <vapier@gentoo.org>
240 * bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h, bfroms/bf51x-0.1.h,
241 bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h, bfroms/bf526-0.1.h,
242 bfroms/bf527-0.0.h, bfroms/bf527-0.1.h, bfroms/bf527-0.2.h,
243 bfroms/bf533-0.1.h, bfroms/bf533-0.2.h, bfroms/bf533-0.3.h,
244 bfroms/bf537-0.0.h, bfroms/bf537-0.1.h, bfroms/bf537-0.3.h,
245 bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h, bfroms/bf54x-0.1.h,
246 bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h, bfroms/bf54x_l1-0.1.h,
247 bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h, bfroms/bf59x-0.0.h,
248 bfroms/bf59x_l1-0.1.h, dv-bfin_cec.c, dv-bfin_ctimer.c,
249 dv-bfin_dma.c, dv-bfin_dmac.c, dv-bfin_ebiu_amc.c,
250 dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_sdc.c, dv-bfin_emac.c,
251 dv-bfin_eppi.c, dv-bfin_evt.c, dv-bfin_gptimer.c, dv-bfin_jtag.c,
252 dv-bfin_mmu.c, dv-bfin_nfc.c, dv-bfin_otp.c, dv-bfin_pll.c,
253 dv-bfin_ppi.c, dv-bfin_rtc.c, dv-bfin_sic.c, dv-bfin_spi.c,
254 dv-bfin_trace.c, dv-bfin_twi.c, dv-bfin_uart.c, dv-bfin_uart2.c,
255 dv-bfin_wdog.c, dv-bfin_wp.c, dv-eth_phy.c, gui.c,
256 linux-fixed-code.h, linux-targ-map.h, machs.c, Makefile.in: Fix style.
258 2011-03-15 Robin Getz <robin.getz@analog.com>
260 * bfin-sim.c (decode_dsp32alu_0): Set AZ based on val for 16bit adds
263 2011-03-15 Robin Getz <robin.getz@analog.com>
265 * bfin-sim.c (decode_macfunc): Move acc STOREs behind op != 3 check.
267 2011-03-15 Robin Getz <robin.getz@analog.com>
269 * bfin-sim.c (decode_macfunc): New neg parameter. Set when the
270 high bit is set after extract_mult.
271 (decode_dsp32mac_0): Declare n_1 and n_0. Pass to the decode_macfunc
272 functions. Use these to update the AN bit.
274 2011-03-15 Robin Getz <robin.getz@analog.com>
276 * bfin-sim.c (decode_dsp32mult_0): Declare v_i0 and v_i1. Pass to
277 the extract_mult functions. Include these when updating the V, VS,
280 2011-03-15 Robin Getz <robin.getz@analog.com>
282 * bfin-sim.c (astat_names): New global bit array.
283 (decode_CC2stat_0): Delete local astat_name and astat_names.
284 (decode_psedodbg_assert_0): Move hardcoded offset into a variable.
285 Print out ASTAT bit values when checking an ASTAT register.
287 2010-03-15 Robin Getz <robin.getz@analog.com>
289 * bfin-sim.c (extract_mult): Handle M_IU.
291 2011-03-05 Mike Frysinger <vapier@gentoo.org>
293 * Makefile.in, TODO, aclocal.m4, bfin-sim.c, bfin-sim.h,
294 bfroms/all.h, bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h,
295 bfroms/bf51x-0.1.h, bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h,
296 bfroms/bf526-0.1.h, bfroms/bf527-0.0.h, bfroms/bf527-0.1.h,
297 bfroms/bf527-0.2.h, bfroms/bf533-0.1.h, bfroms/bf533-0.2.h,
298 bfroms/bf533-0.3.h, bfroms/bf537-0.0.h, bfroms/bf537-0.1.h,
299 bfroms/bf537-0.3.h, bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h,
300 bfroms/bf54x-0.1.h, bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h,
301 bfroms/bf54x_l1-0.1.h, bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h,
302 bfroms/bf59x-0.0.h, bfroms/bf59x_l1-0.1.h, config.in, configure,
303 configure.ac, devices.c, devices.h, dv-bfin_cec.c, dv-bfin_cec.h,
304 dv-bfin_ctimer.c, dv-bfin_ctimer.h, dv-bfin_dma.c, dv-bfin_dma.h,
305 dv-bfin_dmac.c, dv-bfin_dmac.h, dv-bfin_ebiu_amc.c, dv-bfin_ebiu_amc.h,
306 dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_ddrc.h, dv-bfin_ebiu_sdc.c,
307 dv-bfin_ebiu_sdc.h, dv-bfin_emac.c, dv-bfin_emac.h, dv-bfin_eppi.c,
308 dv-bfin_eppi.h, dv-bfin_evt.c, dv-bfin_evt.h, dv-bfin_gptimer.c,
309 dv-bfin_gptimer.h, dv-bfin_jtag.c, dv-bfin_jtag.h, dv-bfin_mmu.c,
310 dv-bfin_mmu.h, dv-bfin_nfc.c, dv-bfin_nfc.h, dv-bfin_otp.c,
311 dv-bfin_otp.h, dv-bfin_pll.c, dv-bfin_pll.h, dv-bfin_ppi.c,
312 dv-bfin_ppi.h, dv-bfin_rtc.c, dv-bfin_rtc.h, dv-bfin_sic.c,
313 dv-bfin_sic.h, dv-bfin_spi.c, dv-bfin_spi.h, dv-bfin_trace.c,
314 dv-bfin_trace.h, dv-bfin_twi.c, dv-bfin_twi.h, dv-bfin_uart.c,
315 dv-bfin_uart.h, dv-bfin_uart2.c, dv-bfin_uart2.h, dv-bfin_wdog.c,
316 dv-bfin_wdog.h, dv-bfin_wp.c, dv-bfin_wp.h, dv-eth_phy.c, gui.c,
317 gui.h, insn_list.def, interp.c, linux-fixed-code.h, linux-fixed-code.s,
318 linux-targ-map.h, machs.c, machs.h, proc_list.def, sim-main.h,
319 tconfig.in: New Blackfin port.