49f2d6b312d62a4c9b19c452a0639fa30552c5c2
[external/binutils.git] / sim / bfin / ChangeLog
1 2012-07-31  Mike Frysinger  <vapier@gentoo.org>
2
3         * machs.c (bfin_reg_fetch): Change return 0 to return -1, and
4         return -1 to return 4.
5         (bfin_reg_store): Likewise.
6
7 2012-06-15  Joel Brobecker  <brobecker@adacore.com>
8
9         * config.in, configure: Regenerate.
10
11 2012-04-09  Mike Frysinger  <vapier@gentoo.org>
12
13         * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_pint.
14         * configure: Regenerate.
15         * dv-bfin_pint.c, dv-bfin_pint.h: New device model.
16         * machs.c (bf542_dev): Add PINT register blocks.
17         (bf544_dev, bf547_dev): Likewise.
18         (PINT_PIQS): Define.
19         (bf54x_port): Add pint/gpio routing.
20         * machs.h (BFIN_MMR_PINT_SIZE): Define.
21
22 2012-04-09  Mike Frysinger  <vapier@gentoo.org>
23
24         * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_gpio2.
25         * configure: Regenerate.
26         * dv-bfin_gpio2.c, dv-bfin_gpio2.h: New device model.
27         * machs.c (bf54x_mem): Delete GPIO mem stub.
28         (bf542_dev): Add GPIO register blocks.
29         (bf544_dev, bf547_dev): Likewise.
30         * machs.h (BFIN_MMR_GPIO2_SIZE): Define.
31
32 2012-04-09  Robin Getz  <robin.getz@analog.com>
33
34         * bfin-sim.c (decode_dsp32shift_0): Extract the sign for ASHIFT
35         and LSHIFT, and set ASTAT based on the before/after values.
36         Rename "val" to "acc" to be consistent with other code branches.
37
38 2012-04-09  Robin Getz  <robin.getz@analog.com>
39
40         * bfin-sim.c (sgn_extend): New helper.
41         (decode_dsp32shiftimm_0): Call lshift when newimmag is more
42         than 16, otherwise call ashiftrt.  Set ASTAT fields as needed.
43         For accumulator shifts, call new sgn_extend helper.
44
45 2012-04-08  Mike Frysinger  <vapier@gentoo.org>
46
47         * bfin-sim.c (illegal_instruction_or_combination): New helper.
48         (decode_ProgCtrl_0): Call illegal_instruction_or_combination instead
49         of illegal_instruction.
50         (decode_PushPopReg_0, decode_CCflag_0, decode_CC2dreg_0,
51         decode_LDSTpmod_0, decode_dagMODim_0, decode_dagMODik_0,
52         decode_dspLDST_0, decode_LDST_0, _interp_insn_bfin): Likewise.
53         (decode_PushPopMultiple_0): Call illegal_instruction_combination when
54         PARALLEL_GROUP is not BFIN_PARALLEL_NONE.
55         (decode_CCflag_0, decode_REGMV_0, decode_ALU2op_0, decode_PTR2op_0,
56         decode_COMPI2opD_0, decode_COMPI2opP_0): Likewise.
57         (decode_CC2stat_0): Check PARALLEL_GROUP before cbit.
58         (decode_LDSTpmod_0): Call illegal_instruction_combination when
59         PARALLEL_GROUP is BFIN_PARALLEL_GROUP2.
60         (decode_dagMODim_0, decode_dagMODik_0, decode_LDST_0,
61         decode_LDSTiiFP_0, decode_LDSTii_0): Likewise.
62
63 2012-04-08  Mike Frysinger  <vapier@gentoo.org>
64
65         * bfin-sim.h (bfin_parallel_group): New enum.
66         (bfin_cpu_state): Add new "group" member.
67         (PARALLEL_GROUP): Define.
68         * bfin-sim.c (decode_ProgCtrl_0): Change INSN_LEN check to
69         PARALLEL_GROUP.
70         (decode_CaCTRL_0, decode_PushPopReg_0, decode_ccMV_0, decode_CCflag_0,
71         decode_CC2dreg_0, decode_CC2stat_0, decode_BRCC_0, decode_UJUMP_0,
72         decode_LOGI2op_0, decode_LoopSetup_0, decode_LDIMMhalf_0,
73         decode_CALLa_0, decode_linkage_0): Likewise.
74         (_interp_insn_bfin): Set PARALLEL_GROUP.
75         (interp_insn_bfin): Likewise.
76
77 2012-04-08  Mike Frysinger  <vapier@gentoo.org>
78
79         * bfin-sim.c (decode_dsp32alu_0): Delete extra space in TRACE_INSN.
80
81 2012-04-01  Mike Frysinger  <vapier@gentoo.org>
82
83         * bfin-sim.c (_interp_insn_bfin): Call illegal_instruction_combination
84         when INSN_LEN is non-zero before 32bit decode.
85
86 2012-04-01  Mike Frysinger  <vapier@gentoo.org>
87
88         * bfin-dis.c (fmtconst): Replace decimal handling with a single
89         sprintf call and the '*' field width.
90
91 2012-04-01  Mike Frysinger  <vapier@gentoo.org>
92
93         * machs.c (bfin_model_map_bfrom): Return when mnum is 535.
94
95 2012-04-01  Mike Frysinger  <vapier@gentoo.org>
96
97         * interp.c (bfin_user_init): Move auxvt_size decl from top to
98         inside of auxvt check.
99
100 2012-03-31  Mike Frysinger  <vapier@gentoo.org>
101
102         * dv-bfin_sic.c (bfin_sic_finish): Change iwr1 to iwr2.
103
104 2012-03-31  Mike Frysinger  <vapier@gentoo.org>
105
106         * devices.c: Include devices.h.
107
108 2012-03-24  Mike Frysinger  <vapier@gentoo.org>
109
110         * aclocal.m4, config.in, configure: Regenerate.
111
112 2012-03-19  Robin Getz  <robin.getz@analog.com>
113             Mike Frysinger  <vapier@gentoo.org>
114
115         * bfin-sim.c (lshift): Add an overflow flag.  Delete now unused
116         i, j, and tmp vars.  Add a new v_i var.  Split the overflow logic
117         out from the saturate logic.  Do not set V ASTAT bits when working
118         with accumulators.
119         (decode_ALU2op_0): Add new argument to lshift call.
120         (decode_LOGI2op_0, decode_dsp32shift_0, decode_dsp32shiftimm_0):
121         Likewise.
122
123 2012-03-18  Mike Frysinger  <vapier@gentoo.org>
124
125         * dv-bfin_ebiu_amc.c (struct bfin_ebiu_amc): Add bank_base.
126         (bfin_ebiu_amc_write_amgctl): Replace BFIN_EBIU_AMC_BASE with
127         amc->bank_base.
128         (bfin_ebiu_amc_finish): Assign BFIN_EBIU_AMC_BASE to amc->bank_base.
129
130 2012-03-18  Mike Frysinger  <vapier@gentoo.org>
131
132         * dv-bfin_ebiu_amc.c (bfin_ebiu_amc_attach_address_callback): Use
133         ARRAY_SIZE rather than hardcoded constant.
134
135 2012-02-04  Mike Frysinger  <vapier@gentoo.org>
136
137         * config.in: Regenerate.
138         * configure: Likewise.
139         * configure.ac: Add linux/types.h to AC_CHECK_HEADERS.
140         * dv-eth_phy.c: Check for HAVE_LINUX_TYPES_H, and delete __u16 and
141         _LINUX_TYPES_H defines.
142
143 2011-12-03  Mike Frysinger  <vapier@gentoo.org>
144
145         * interp.c (bfin_syscall): Increase _tbuf storage.  Declare new local
146         tstr buffer.  Call cb_get_string on tstr when handling CB_SYS_stat64,
147         CB_SYS_lstat64, CB_SYS_open, CB_SYS_write, CB_SYS_unlink,
148         CB_SYS_truncate, CB_SYS_rename, CB_SYS_stat, CB_SYS_lstat.  Include
149         tstr in the tbuf output.
150
151 2011-12-03  Mike Frysinger  <vapier@gentoo.org>
152
153         * Makefile.in: Delete all dependency rules.
154         * aclocal.m4, configure: Regenerate.
155
156 2011-10-19  Mike Frysinger  <vapier@gentoo.org>
157
158         * configure: Regenerate after common/acinclude.m4 update.
159
160 2011-10-17  Mike Frysinger  <vapier@gentoo.org>
161
162         * configure.ac: Change include to common/acinclude.m4.
163         * aclocal.m4, configure: Regenerate.
164
165 2011-10-17  Mike Frysinger  <vapier@gentoo.org>
166
167         * configure.ac: Change AC_PREREQ to 2.64.  Delete AC_CONFIG_HEADER
168         call.  Replace common.m4 include with SIM_AC_COMMON.
169         * configure: Regenerate.
170
171 2011-09-28  Mike Frysinger  <vapier@gentoo.org>
172
173         * bfin-sim.c (decode_dsp32shift_0): Use STORE() for VIT_MAX insns.
174
175 2011-07-05  Mike Frysinger  <vapier@gentoo.org>
176
177         * interp.c (sim_do_command): Delete.
178
179 2011-07-01  Mike Frysinger  <vapier@gentoo.org>
180
181         * interp.c (cb_linux_stat_map_32, cb_linux_stat_map_64): Rename from
182         stat_map_32 and stat_map_64.
183         (cb_libgloss_stat_map_32): New stat map.
184         (stat_map_32, stat_map_64): New stat map pointers.
185         (bfin_user_init): Assign stat_map_32 to cb_linux_stat_map_32 and
186         stat_map_64 to cb_linux_stat_map_64.
187         (bfin_virtual_init): New function.
188         (sim_create_inferior): Call bfin_virtual_init for all other envs.
189
190 2011-06-22  Mike Frysinger  <vapier@gentoo.org>
191
192         * interp.c (bfin_syscall): Delete old comment.  Set dreg 1 to
193         sc.result2 and dreg 2 to sc.errcode.
194
195 2011-06-18  Robin Getz  <robin.getz@analog.com>
196
197         * bfin-sim.c (decode_dsp32shift_0): Clear ASTAT[AV] if val is 0,
198         else set it.  Set ASTAT[AVS] if val is 0.  Do this for LSHIFT and
199         ASHIFT accumulator insns.
200
201 2011-06-18  Robin Getz  <robin.getz@analog.com>
202
203         * bfin-sim.c (ashiftrt): If size is 40, do not call SET_ASTATREG.
204         (lshiftrt): Likewise.
205
206 2011-06-18  Robin Getz  <robin.getz@analog.com>
207
208         * bfin-sim.c (decode_dsp32shift_0): Use get_unextended_acc
209         rather than get_extended_acc in LSHIFT insns.
210
211 2011-06-18  Robin Getz  <robin.getz@analog.com>
212
213         * bfin-sim.c (decode_macfunc): Handle MM when mmod is M_TFU.
214         Check MM once when mmod is M_FU to match M_TFU better.
215
216 2011-06-18  Robin Getz  <robin.getz@analog.com>
217
218         * bfin-sim.c (decode_dsp32shiftimm_0): When shift is greater than
219         32, perform a left shift.  Update the corresponding AV bit.  Set
220         AZ when the low 32bits are also zero.
221
222 2011-06-18  Robin Getz  <robin.getz@analog.com>
223
224         * bfin-sim.c (decode_dsp32shiftimm_0): With left shift vector insns,
225         call lshift only when count is positive.  Otherwise, call ashiftrt.
226         With arithmetic right shift insns, call ashiftrt when the value is
227         small enough, otherwise call lshift.
228
229 2011-06-18  Robin Getz  <robin.getz@analog.com>
230
231         * bfin-sim.c (extract_mult): Call saturate_s16 directly when
232         mmod is M_IH rather than computing the result by hand.
233
234 2011-06-18  Robin Getz  <robin.getz@analog.com>
235
236         * bfin-sim.c (decode_macfunc): Add nosat_acc to track acc value
237         before saturation, set sat when more cases saturate, and set the
238         overflow bit based on these results.  For M_TFU, M_IU, M_FU, and
239         M_W32, change the max values compared against.
240         (decode_dsp32mac_0): Delete v_i and add v_0 and v_1.  Pass v_1
241         when processing MAC1 and pass v_0 when processing MAC0.  Combine
242         the results into the V/VS ASTAT bits.
243
244 2011-06-18  Robin Getz  <robin.getz@analog.com>
245
246         * bfin-sim.c (extract_mult): Call saturate_s32 when MM is set
247         and mmod is M_IU.  Call saturate_s16 when MM is set and mmod
248         is M_TFU.
249
250 2011-06-18  Robin Getz  <robin.getz@analog.com>
251
252         * bfin-sim.c (decode_multfunc): Call new is_macmod_signed, and
253         allow MM to sign extend all the time.
254         (decode_macfunc): Likewise.  Drop sign extension of unsigned
255         values.
256
257 2011-06-18  Robin Getz  <robin.getz@analog.com>
258
259         * bfin-sim.c (saturate_s40_astat): Change ">=" to ">".
260         (decode_macfunc): Likewise when mmod is M_IH.
261
262 2011-06-18  Mike Frysinger  <vapier@gentoo.org>
263
264         * interp.c (sim_create_inferior): Change free to freeargv.
265
266 2011-06-04  Mike Frysinger  <vapier@gentoo.org>
267
268         * machs.c (bf534_dev, bf537_dev): Add glue-or devices.
269         (bf537_port): Define applicable devices with PORT to the glue-or
270         devices instead of SIC.
271         (bfin_model_hw_tree_init): Drop old sim_hw_parse call for bfin_sic.
272         Only parse reg/type when the device has an address.  Move the call
273         to dv_bfin_hw_port_parse up before slash check.
274
275 2011-06-04  Mike Frysinger  <vapier@gentoo.org>
276
277         * dv-bfin_sic.c (ENC, DEC_PIN, DEC_SIC): Move above the
278         BFIN_SIC_TO_CEC_PORTS definition.
279         (SIC_PORTS): New define.
280         (bfin_sic_50x_ports, bfin_sic_51x_ports, bfin_sic_52x_ports,
281         bfin_sic_533_ports, bfin_sic_537_ports, bfin_sic_538_ports,
282         bfin_sic_54x_ports, bfin_sic_561_ports, bfin_sic_59x_ports):
283         Delete old layouts.
284         (bfin_sic1_ports, bfin_sic2_ports, bfin_sic3_ports,
285         bfin_sic_561_ports): Define new layouts with SIC_PORTS().
286         (bfin_sic_finish): Change reference to bfin_sic_50x_ports,
287         bfin_sic_51x_ports, bfin_sic_52x_ports, and bfin_sic_538_ports
288         to bfin_sic2_ports.  Change reference to bfin_sic_533_ports,
289         bfin_sic_537_ports, and bfin_sic_59x_ports to bfin_sic1_ports.
290         Change reference to bfin_sic_54x_ports to bfin_sic3_ports.
291         * machs.c (bfin_port_layout): New structure.
292         (bfin_model_data): Add new "port" and "port_count" members.
293         (PORT, SIC): New defines.
294         (bf000_port, bf50x_port, bf51x_port, bf52x_port, bf533_port,
295         bf537_port, bf538_port, bf54x_port, bf561_port, bf592_port):
296         Move and redefine port layout from dv-bfin_sic.c to here.
297         (bf504_port, bf506_port, bf512_port, bf514_port, bf516_port,
298         bf518_port, bf522_port, bf523_port, bf524_port, bf525_port,
299         bf526_port, bf527_port, bf531_port, bf532_port, bf534_port,
300         bf536_port, bf539_port, bf542_port, bf544_port, bf547_port,
301         bf548_port, bf549_port): New defines.
302         (bfin_model_data): Link in new bfin_port_layout.port member.
303         (dv_bfin_hw_port_parse): New function.
304         (dv_bfin_hw_parse): Call new dv_bfin_hw_port_parse function.
305         (bfin_model_hw_tree_init): Replace calls to sim_hw_parse for
306         bfin_sic links with new dv_bfin_hw_port_parse function.
307
308 2011-06-03  Mike Frysinger  <vapier@gentoo.org>
309
310         * dv-bfin_dma.c (bfin_dma_io_write_buffer): Fix indentation.
311
312 2011-05-25  Mike Frysinger  <vapier@gentoo.org>
313
314         * sim-main.h (TRACE_SYSCALL): Change EVENTS to SYSCALL.
315
316 2011-05-25  Mike Frysinger  <vapier@gentoo.org>
317
318         * dv-bfin_cec.h (BFIN_COREMMR_CEC_{BASE,SIZE}): Move to ...
319         * dv-bfin_ctimer.h (BFIN_COREMMR_CTIMER_{BASE,SIZE}): Move to ...
320         * dv-bfin_dma.h (BFIN_MMR_DMA_SIZE): Move to ...
321         * dv-bfin_dmac.h (BFIN_MMR_DMAC{0,1}_BASE): Move to ...
322         * dv-bfin_ebiu_amc.h (BF{IN,50X,54X}_MMR_EBIU_AMC_SIZE): Move to ...
323         * dv-bfin_ebiu_ddrc.h (BFIN_MMR_EBIU_DDRC_SIZE): Move to ...
324         * dv-bfin_ebiu_sdc.h (BFIN_MMR_EBIU_SDC_SIZE): Move to ...
325         * dv-bfin_emac.h (BFIN_MMR_EMAC_{BASE,SIZE}): Move to ...
326         * dv-bfin_eppi.h (BFIN_MMR_EPPI_SIZE): Move to ...
327         * dv-bfin_evt.h (BFIN_COREMMR_EVT_{BASE,SIZE}): Move to ...
328         * dv-bfin_gpio.h (BFIN_MMR_GPIO_SIZE): Move to ...
329         * dv-bfin_gptimer.h (BFIN_MMR_GPTIMER_SIZE): Move to ...
330         * dv-bfin_jtag.h (BFIN_COREMMR_JTAG_{BASE,SIZE}): Move to ...
331         * dv-bfin_mmu.h (BFIN_COREMMR_MMU_{BASE,SIZE}): Move to ...
332         * dv-bfin_nfc.h (BFIN_MMR_NFC_SIZE): Move to ...
333         * dv-bfin_otp.h (BFIN_MMR_OTP_SIZE): Move to ...
334         * dv-bfin_pfmon.h (BFIN_COREMMR_PFMON_{BASE,SIZE}): Move to ...
335         * dv-bfin_pll.h (BFIN_MMR_PLL_{BASE,SIZE}): Move to ...
336         * dv-bfin_ppi.h (BFIN_MMR_PPI_SIZE): Move to ...
337         * dv-bfin_rtc.h (BFIN_MMR_RTC_SIZE): Move to ...
338         * dv-bfin_sic.h (BFIN_MMR_SIC_{BASE,SIZE}): Move to ...
339         * dv-bfin_spi.h (BFIN_MMR_SPI_SIZE): Move to ...
340         * dv-bfin_trace.h (BFIN_COREMMR_TRACE_{BASE,SIZE}): Move to ...
341         * dv-bfin_twi.h (BFIN_MMR_TWI_SIZE): Move to ...
342         * dv-bfin_uart.h (BFIN_MMR_UART_SIZE): Move to ...
343         * dv-bfin_uart2.h (BFIN_MMR_UART2_SIZE): Move to ...
344         * dv-bfin_wdog.h (BFIN_MMR_WDOG_SIZE): Move to ...
345         * dv-bfin_wp.h (BFIN_COREMMR_WP_{BASE,SIZE}): Move to ...
346         * machs.h: ... here.
347         * machs.c: Delete all dv-bfin_*.h includes except for cec/dmac.
348
349 2011-05-25  Mike Frysinger  <vapier@gentoo.org>
350
351         * Makefile.in (dv-bfin_pfmon.o): New target.
352         * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_pfmon.
353         * configure: Regenerated.
354         * dv-bfin_pfmon.c, dv-bfin_pfmon.h: New files.
355         * machs.c: Add include new bfin_pfmon.h.
356         (bfin_core_dev): Add pfmon.
357
358 2011-05-25  Mike Frysinger  <vapier@gentoo.org>
359
360         * machs.c (bf526_roms): Add a region with rev of 2.
361         (bf54x_roms): Add regions with rev of 4.
362         * bfroms/all.h: Include new bf526-0.2.h, bf54x-0.4.h, and
363         bf54x_l1-0.4.h headers.
364         * bfroms/bf526-0.2.h, bfroms/bf54x-0.4.h, bfroms/bf54x_l1-0.4.h:
365         New header files.
366
367 2011-05-14  Mike Frysinger  <vapier@gentoo.org>
368
369         * bfin-sim.c (decode_PushPopReg_0): Delete (grp == 1 && reg == 6)
370         check for SP reg.
371
372 2011-05-14  Mike Frysinger  <vapier@gentoo.org>
373
374         * dv-bfin_uart.c (bfin_uart_write_byte): Add a mcr arg.  Declare a
375         local uart.  When LOOP_ENA is set in mcr, write to the saved byte
376         and count fields of the uart.
377         (bfin_uart_io_write_buffer): Pass uart->mcr to bfin_uart_write_byte
378         and bfin_uart_get_next_byte.
379         (bfin_uart_get_next_byte): Add a mcr arg.  Move uart->saved_count
380         check first, and skip the remaining code when LOOP_ENA is set in mcr.
381         * dv-bfin_uart.h (bfin_uart_write_byte): Add an mcr argument.
382         (bfin_uart_get_next_byte): Likewise.
383         (XOFF, MRTS, RFIT, RFRT, LOOP_ENA, FCPOL, ARTS, ACTS): Define.
384         * dv-bfin_uart2.c (bfin_uart_io_write_buffer): Padd uart->mcr when
385         calling bfin_uart_write_byte and bfin_uart_get_next_byte.
386
387 2011-05-09  Mike Frysinger  <vapier@gentoo.org>
388
389         * dv-bfin_uart2.c (bfin_uart_io_read_buffer): Clear DR/THRE/TEMT bits
390         from uart->lsr before setting them.
391
392 2011-04-27  Mike Frysinger  <vapier@gentoo.org>
393
394         * dv-bfin_dmac.c (bfin_dmac): Constify pmap array.
395         (bfin_dmac_50x_pmap, bfin_dmac_51x_pmap, bfin_dmac_52x_pmap,
396         bfin_dmac_533_pmap, bfin_dmac_537_pmap, bfin_dmac0_538_pmap,
397         bfin_dmac1_538_pmap, bfin_dmac0_54x_pmap, bfin_dmac1_54x_pmap,
398         bfin_dmac0_561_pmap, bfin_dmac1_561_pmap, bfin_dmac_59x_pmap):
399         Likewise.
400
401 2011-04-26  Mike Frysinger  <vapier@gentoo.org>
402
403         * dv-bfin_gpio.c (bfin_gpio_forward_ouput): New function.
404         (bfin_gpio_io_write_buffer): Store the current port state into
405         "data", and call bfin_gpio_forward_ouput when the data or dir
406         MMRs are updated.
407         (bfin_gpio_ports): Change p0..p15 to bidirect_port.
408
409 2011-04-26  Mike Frysinger  <vapier@gentoo.org>
410
411         * dv-bfin_gpio.c (bfin_gpio): Add "int_state" member.
412         (bfin_gpio_forward_int, bfin_gpio_forward_ints): New functions.
413         (bfin_gpio_io_write_buffer): Call bfin_gpio_forward_int when the
414         mask a or mask b MMRs are written.
415         (bfin_gpio_port_event): When handling edge gpios, set the bit in
416         int_state, call bfin_gpio_forward_ints, and then clear the bit.
417         When handling level gpios, clear/set the bit in int_state rather
418         than returning immediately.  Call bfin_gpio_forward_ints instead
419         of checking mask[ab] and calling HW_TRACE/hw_port_event directly.
420
421 2011-04-16  Mike Frysinger  <vapier@gentoo.org>
422
423         * bfin-sim.c (decode_dsp32alu_0): Call STORE instead of SET_DREG for
424         BYTEOP2P, BYTEOP3P, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK, and
425         BYTEUNPACK.
426         (decode_dsp32shift_0): Call STORE instead of SET_DREG for PACK,
427         BITMUX, EXTRACT, DEPOSIT, ALIGN8, ALIGN16, and ALIGN24.
428
429 2011-04-14  Mike Frysinger  <vapier@gentoo.org>
430
431         * bfin-sim.c (decode_dsp32alu_0): Set DIS_ALGN_EXPT when handling
432         BYTEOP2P, BYTEOP3P, SAA, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK,
433         and BYTEUNPACK insns.
434
435 2011-04-11  Mike Frysinger  <vapier@gentoo.org>
436
437         * dv-bfin_sic.c (bfin_sic_port_event): New helper function.
438         (bfin_sic_52x_port_event, bfin_sic_537_port_event,
439         bfin_sic_54x_port_event, bfin_sic_561_port_event): Include level
440         in the trace output, and call the new bfin_sic_port_event func.
441
442 2011-04-11  Mike Frysinger  <vapier@gentoo.org>
443
444         * dv-bfin_gpio.c (bfin_gpio_ports): Add p15.
445
446 2011-04-01  Mike Frysinger  <vapier@gentoo.org>
447
448         * dv-bfin_otp.c (bfin_otp_ports): Declare.
449         (bfin_otp_finish): Call set_hw_ports with bfin_otp_ports.
450
451 2011-03-29  Mike Frysinger  <vapier@gentoo.org>
452
453         * configure: Regenerate after common/aclocal.m4 changes.
454
455 2011-03-28  Robin Getz  <robin.getz@analog.com>
456
457         * bfin-sim.c (decode_dsp32alu_0): Cast high 16bits of A0.W to bs16
458         and add to casted low 16bits of A0.L and store in val0.  Cast high
459         16bits of A1.W to bs16 and add to casted low 16bits of A1.L and
460         store in val1.  Delete bit checks of val0 and val1.
461
462 2011-03-26  Robin Getz  <robin.getz@analog.com>
463
464         * bfin-sim.c (decode_dsp32alu_0): Set result to 0x7FFFFFFF when
465         the result was 0x80000000 for RND12 subtraction.
466
467 2011-03-26  Robin Getz  <robin.getz@analog.com>
468
469         * bfin-sim.c (decode_dsp32alu_0): Set VS when V is set.
470
471 2011-03-24  Mike Frysinger  <vapier@gentoo.org>
472
473         * dv-bfin_gpio.c (bfin_gpio_port_event): Call HW_TRACE at every
474         major code flow point.
475         * dv-bfin_sic.c (bfin_sic_forward_interrupts): Call HW_TRACE just
476         before calling hw_port_event on ourselves.
477         (bfin_sic_52x_port_event, bfin_sic_537_port_event,
478         bfin_sic_54x_port_event, bfin_sic_561_port_event): Call HW_TRACE
479         at the start of the function.
480
481 2011-03-24  Mike Frysinger  <vapier@gentoo.org>
482
483         * dv-bfin_gpio.c (bfin_gpio_port_event): Split dir/inen bit checking.
484         Normalize "level" to 0/1 values.  Shift "level" over by "my_port".
485         Invert port->both bit check.
486
487 2011-03-24  Mike Frysinger  <vapier@gentoo.org>
488
489         * dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Subtract 2 from the
490         valuep pointer for clear MMRs, 4 for set MMRs, and 6 for toggle MMRs.
491
492 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
493
494         * TODO: Document some known SIC issues.
495
496 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
497
498         * devices.h (dv_w1c): Fix typos in documentation of "bits" arg.
499         * dv-bfin_cec.c (bfin_cec_io_write_buffer): Pass 0xffee to dv_w1c_4.
500         * dv-bfin_emac.c (bfin_emac_io_write_buffer): Pass 0xe1 to dv_w1c_4
501         for systat MMR and -1 to dv_w1c_4 for [rt]x_stky/mmc_[rt]irqs MMRs.
502         * dv-bfin_eppi.c (bfin_eppi_io_write_buffer): Pass 0x1ff to dv_w1c_2.
503         * dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Invert bits to dv_w1c_2.
504         * dv-bfin_jtag.c (bfin_jtag_io_write_buffer): Invert bits to dv_w1c_4.
505         * dv-bfin_nfc.c (bfin_nfc_io_write_buffer): Invert bits to dv_w1c_2.
506         * dv-bfin_otp.c (bfin_otp_io_write_buffer): Invert bits to dv_w1c_2.
507         * dv-bfin_ppi.c (bfin_ppi_io_write_buffer): Invert bits to dv_w1c_2.
508         * dv-bfin_rtc.c (bfin_rtc_io_write_buffer): Invert bits to dv_w1c_2.
509         * dv-bfin_spi.c (bfin_spi_io_write_buffer): Invert bits to dv_w1c_2.
510         * dv-bfin_twi.c (bfin_twi_io_write_buffer): Invert bits to dv_w1c_2.
511         * dv-bfin_uart2.c (bfin_uart_io_write_buffer): Invert bits to dv_w1c_2.
512
513 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
514
515         * dv-bfin_uart.h (TFI, BI, FE, PE, OE): Define.
516
517 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
518
519         * dv-bfin_twi.h (LOSTARB): Rename from LOSTARG.
520
521 2011-03-23  Robin Getz  <robin.getz@analog.com>
522
523         * bfin-sim.c (decode_dsp32shift_0): Set acc0 to the unextended
524         value for the VIT_MAX insn, and mask off the result when done.
525
526 2011-03-23  Robin Getz  <robin.getz@analog.com>
527
528         * bfin-sim.c (decode_dsp32alu_0): Set A1 to a1_lo when up_hi is false,
529         and set A0 to a0_lo when up_lo is false.
530
531 2011-03-23  Robin Getz  <robin.getz@analog.com>
532
533         * bfin-sim.c (decode_dsp32alu_0): Call saturate_s40_astat instead of
534         saturate_s40, and use the v parameter to update the AV bit.  Set the
535         AC bit only when the final result is 0.
536
537 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
538
539         * dv-bfin_sic.c (ENC, DEC_PIN, DEC_SIC): Define.
540         (bfin_sic_50x_ports, bfin_sic_51x_ports, bfin_sic_52x_ports,
541         bfin_sic_533_ports, bfin_sic_537_ports, bfin_sic_538_ports,
542         bfin_sic_54x_ports, bfin_sic_561_ports, bfin_sic_59x_ports):
543         Encode ids with the ENC macro.
544         (bfin_sic_52x_port_event, bfin_sic_537_port_event,
545         bfin_sic_54x_port_event, bfin_sic_561_port_event): Set idx
546         from my_port with DEC_SIC, and set bit from my_port with DEC_PIN.
547         (bfin_sic_533_port_event): Delete.
548         (bfin_sic_finish): Call set_hw_port_event with
549         bfin_sic_537_port_event for BF533 and BF59x targets.
550
551 2011-03-23  Robin Getz  <robin.getz@analog.com>
552
553         * bfin-sim.c (decode_dsp32alu_0): Drop the src0/src1 check for
554         BYTEOP1P, BYTEOP2P, and BYTEOP3P insns.
555
556 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
557
558         * machs.c (bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev,
559         bf533_dev, bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev):
560         Change bfin_gpio addresses from f/g/h to 5/6/7.
561         (bfin_model_hw_tree_init): Add the bfin_gpio address base to 'a'.
562
563 2011-03-17  Mike Frysinger  <vapier@gentoo.org>
564
565         * configure.ac (AC_CHECK_FUNCS): Check for kill and pread.
566         * configure: Regenerate.
567         * config.in: Regenerate.
568         * interp.c (bfin_syscall): Check for HAVE_{KILL,PREAD} before using
569         kill or pread.
570
571 2011-03-15  Mike Frysinger  <vapier@gentoo.org>
572
573         * Makefile.in (dv-bfin_gpio.o): New target.
574         * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_gpio.
575         * configure: Regenerate.
576         * dv-bfin_gpio.c, dv-bfin_gpio.h: New files.
577         * machs.c: Include dv-bfin_gpio.h.
578         (bf50x_mem, bf51x_mem, bf52x_mem, bf531_mem, bf532_mem, bf533_mem,
579         bf534_mem, bf536_mem, bf537_mem, bf538_mem, bf561_mem, bf592_mem):
580         Delete GPIO memory stubs.
581         (bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev, bf533_dev,
582         bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev): Add GPIO
583         peripheral devices.
584         (bfin_model_hw_tree_init): Hook up GPIO interrupts to SIC.
585
586 2011-03-15  Mike Frysinger  <vapier@gentoo.org>
587
588         * bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h, bfroms/bf51x-0.1.h,
589         bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h, bfroms/bf526-0.1.h,
590         bfroms/bf527-0.0.h, bfroms/bf527-0.1.h, bfroms/bf527-0.2.h,
591         bfroms/bf533-0.1.h, bfroms/bf533-0.2.h, bfroms/bf533-0.3.h,
592         bfroms/bf537-0.0.h, bfroms/bf537-0.1.h, bfroms/bf537-0.3.h,
593         bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h, bfroms/bf54x-0.1.h,
594         bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h, bfroms/bf54x_l1-0.1.h,
595         bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h, bfroms/bf59x-0.0.h,
596         bfroms/bf59x_l1-0.1.h, dv-bfin_cec.c, dv-bfin_ctimer.c,
597         dv-bfin_dma.c, dv-bfin_dmac.c, dv-bfin_ebiu_amc.c,
598         dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_sdc.c, dv-bfin_emac.c,
599         dv-bfin_eppi.c, dv-bfin_evt.c, dv-bfin_gptimer.c, dv-bfin_jtag.c,
600         dv-bfin_mmu.c, dv-bfin_nfc.c, dv-bfin_otp.c, dv-bfin_pll.c,
601         dv-bfin_ppi.c, dv-bfin_rtc.c, dv-bfin_sic.c, dv-bfin_spi.c,
602         dv-bfin_trace.c, dv-bfin_twi.c, dv-bfin_uart.c, dv-bfin_uart2.c,
603         dv-bfin_wdog.c, dv-bfin_wp.c, dv-eth_phy.c, gui.c,
604         linux-fixed-code.h, linux-targ-map.h, machs.c, Makefile.in: Fix style.
605
606 2011-03-15  Robin Getz  <robin.getz@analog.com>
607
608         * bfin-sim.c (decode_dsp32alu_0): Set AZ based on val for 16bit adds
609         and subs.
610
611 2011-03-15  Robin Getz  <robin.getz@analog.com>
612
613         * bfin-sim.c (decode_macfunc): Move acc STOREs behind op != 3 check.
614
615 2011-03-15  Robin Getz  <robin.getz@analog.com>
616
617         * bfin-sim.c (decode_macfunc): New neg parameter.  Set when the
618         high bit is set after extract_mult.
619         (decode_dsp32mac_0): Declare n_1 and n_0.  Pass to the decode_macfunc
620         functions.  Use these to update the AN bit.
621
622 2011-03-15  Robin Getz  <robin.getz@analog.com>
623
624         * bfin-sim.c (decode_dsp32mult_0): Declare v_i0 and v_i1.  Pass to
625         the extract_mult functions.  Include these when updating the V, VS,
626         and V_COPY bits.
627
628 2011-03-15  Robin Getz  <robin.getz@analog.com>
629
630         * bfin-sim.c (astat_names): New global bit array.
631         (decode_CC2stat_0): Delete local astat_name and astat_names.
632         (decode_psedodbg_assert_0): Move hardcoded offset into a variable.
633         Print out ASTAT bit values when checking an ASTAT register.
634
635 2010-03-15  Robin Getz  <robin.getz@analog.com>
636
637         * bfin-sim.c (extract_mult): Handle M_IU.
638
639 2011-03-05  Mike Frysinger  <vapier@gentoo.org>
640
641         * Makefile.in, TODO, aclocal.m4, bfin-sim.c, bfin-sim.h,
642         bfroms/all.h, bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h,
643         bfroms/bf51x-0.1.h, bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h,
644         bfroms/bf526-0.1.h, bfroms/bf527-0.0.h, bfroms/bf527-0.1.h,
645         bfroms/bf527-0.2.h, bfroms/bf533-0.1.h, bfroms/bf533-0.2.h,
646         bfroms/bf533-0.3.h, bfroms/bf537-0.0.h, bfroms/bf537-0.1.h,
647         bfroms/bf537-0.3.h, bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h,
648         bfroms/bf54x-0.1.h, bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h,
649         bfroms/bf54x_l1-0.1.h, bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h,
650         bfroms/bf59x-0.0.h, bfroms/bf59x_l1-0.1.h, config.in, configure,
651         configure.ac, devices.c, devices.h, dv-bfin_cec.c, dv-bfin_cec.h,
652         dv-bfin_ctimer.c, dv-bfin_ctimer.h, dv-bfin_dma.c, dv-bfin_dma.h,
653         dv-bfin_dmac.c, dv-bfin_dmac.h, dv-bfin_ebiu_amc.c, dv-bfin_ebiu_amc.h,
654         dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_ddrc.h, dv-bfin_ebiu_sdc.c,
655         dv-bfin_ebiu_sdc.h, dv-bfin_emac.c, dv-bfin_emac.h, dv-bfin_eppi.c,
656         dv-bfin_eppi.h, dv-bfin_evt.c, dv-bfin_evt.h, dv-bfin_gptimer.c,
657         dv-bfin_gptimer.h, dv-bfin_jtag.c, dv-bfin_jtag.h, dv-bfin_mmu.c,
658         dv-bfin_mmu.h, dv-bfin_nfc.c, dv-bfin_nfc.h, dv-bfin_otp.c,
659         dv-bfin_otp.h, dv-bfin_pll.c, dv-bfin_pll.h, dv-bfin_ppi.c,
660         dv-bfin_ppi.h, dv-bfin_rtc.c, dv-bfin_rtc.h, dv-bfin_sic.c,
661         dv-bfin_sic.h, dv-bfin_spi.c, dv-bfin_spi.h, dv-bfin_trace.c,
662         dv-bfin_trace.h, dv-bfin_twi.c, dv-bfin_twi.h, dv-bfin_uart.c,
663         dv-bfin_uart.h, dv-bfin_uart2.c, dv-bfin_uart2.h, dv-bfin_wdog.c,
664         dv-bfin_wdog.h, dv-bfin_wp.c, dv-bfin_wp.h, dv-eth_phy.c, gui.c,
665         gui.h, insn_list.def, interp.c, linux-fixed-code.h, linux-fixed-code.s,
666         linux-targ-map.h, machs.c, machs.h, proc_list.def, sim-main.h,
667         tconfig.in: New Blackfin port.