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