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