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