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