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