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