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