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