sim: bfin: move model data into machs.h
[platform/upstream/binutils.git] / sim / bfin / ChangeLog
1 2011-05-25  Mike Frysinger  <vapier@gentoo.org>
2
3         * dv-bfin_cec.h (BFIN_COREMMR_CEC_{BASE,SIZE}): Move to ...
4         * dv-bfin_ctimer.h (BFIN_COREMMR_CTIMER_{BASE,SIZE}): Move to ...
5         * dv-bfin_dma.h (BFIN_MMR_DMA_SIZE): Move to ...
6         * dv-bfin_dmac.h (BFIN_MMR_DMAC{0,1}_BASE): Move to ...
7         * dv-bfin_ebiu_amc.h (BF{IN,50X,54X}_MMR_EBIU_AMC_SIZE): Move to ...
8         * dv-bfin_ebiu_ddrc.h (BFIN_MMR_EBIU_DDRC_SIZE): Move to ...
9         * dv-bfin_ebiu_sdc.h (BFIN_MMR_EBIU_SDC_SIZE): Move to ...
10         * dv-bfin_emac.h (BFIN_MMR_EMAC_{BASE,SIZE}): Move to ...
11         * dv-bfin_eppi.h (BFIN_MMR_EPPI_SIZE): Move to ...
12         * dv-bfin_evt.h (BFIN_COREMMR_EVT_{BASE,SIZE}): Move to ...
13         * dv-bfin_gpio.h (BFIN_MMR_GPIO_SIZE): Move to ...
14         * dv-bfin_gptimer.h (BFIN_MMR_GPTIMER_SIZE): Move to ...
15         * dv-bfin_jtag.h (BFIN_COREMMR_JTAG_{BASE,SIZE}): Move to ...
16         * dv-bfin_mmu.h (BFIN_COREMMR_MMU_{BASE,SIZE}): Move to ...
17         * dv-bfin_nfc.h (BFIN_MMR_NFC_SIZE): Move to ...
18         * dv-bfin_otp.h (BFIN_MMR_OTP_SIZE): Move to ...
19         * dv-bfin_pfmon.h (BFIN_COREMMR_PFMON_{BASE,SIZE}): Move to ...
20         * dv-bfin_pll.h (BFIN_MMR_PLL_{BASE,SIZE}): Move to ...
21         * dv-bfin_ppi.h (BFIN_MMR_PPI_SIZE): Move to ...
22         * dv-bfin_rtc.h (BFIN_MMR_RTC_SIZE): Move to ...
23         * dv-bfin_sic.h (BFIN_MMR_SIC_{BASE,SIZE}): Move to ...
24         * dv-bfin_spi.h (BFIN_MMR_SPI_SIZE): Move to ...
25         * dv-bfin_trace.h (BFIN_COREMMR_TRACE_{BASE,SIZE}): Move to ...
26         * dv-bfin_twi.h (BFIN_MMR_TWI_SIZE): Move to ...
27         * dv-bfin_uart.h (BFIN_MMR_UART_SIZE): Move to ...
28         * dv-bfin_uart2.h (BFIN_MMR_UART2_SIZE): Move to ...
29         * dv-bfin_wdog.h (BFIN_MMR_WDOG_SIZE): Move to ...
30         * dv-bfin_wp.h (BFIN_COREMMR_WP_{BASE,SIZE}): Move to ...
31         * machs.h: ... here.
32         * machs.c: Delete all dv-bfin_*.h includes except for cec/dmac.
33
34 2011-05-25  Mike Frysinger  <vapier@gentoo.org>
35
36         * Makefile.in (dv-bfin_pfmon.o): New target.
37         * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_pfmon.
38         * configure: Regenerated.
39         * dv-bfin_pfmon.c, dv-bfin_pfmon.h: New files.
40         * machs.c: Add include new bfin_pfmon.h.
41         (bfin_core_dev): Add pfmon.
42
43 2011-05-25  Mike Frysinger  <vapier@gentoo.org>
44
45         * machs.c (bf526_roms): Add a region with rev of 2.
46         (bf54x_roms): Add regions with rev of 4.
47         * bfroms/all.h: Include new bf526-0.2.h, bf54x-0.4.h, and
48         bf54x_l1-0.4.h headers.
49         * bfroms/bf526-0.2.h, bfroms/bf54x-0.4.h, bfroms/bf54x_l1-0.4.h:
50         New header files.
51
52 2011-05-14  Mike Frysinger  <vapier@gentoo.org>
53
54         * bfin-sim.c (decode_PushPopReg_0): Delete (grp == 1 && reg == 6)
55         check for SP reg.
56
57 2011-05-14  Mike Frysinger  <vapier@gentoo.org>
58
59         * dv-bfin_uart.c (bfin_uart_write_byte): Add a mcr arg.  Declare a
60         local uart.  When LOOP_ENA is set in mcr, write to the saved byte
61         and count fields of the uart.
62         (bfin_uart_io_write_buffer): Pass uart->mcr to bfin_uart_write_byte
63         and bfin_uart_get_next_byte.
64         (bfin_uart_get_next_byte): Add a mcr arg.  Move uart->saved_count
65         check first, and skip the remaining code when LOOP_ENA is set in mcr.
66         * dv-bfin_uart.h (bfin_uart_write_byte): Add an mcr argument.
67         (bfin_uart_get_next_byte): Likewise.
68         (XOFF, MRTS, RFIT, RFRT, LOOP_ENA, FCPOL, ARTS, ACTS): Define.
69         * dv-bfin_uart2.c (bfin_uart_io_write_buffer): Padd uart->mcr when
70         calling bfin_uart_write_byte and bfin_uart_get_next_byte.
71
72 2011-05-09  Mike Frysinger  <vapier@gentoo.org>
73
74         * dv-bfin_uart2.c (bfin_uart_io_read_buffer): Clear DR/THRE/TEMT bits
75         from uart->lsr before setting them.
76
77 2011-04-27  Mike Frysinger  <vapier@gentoo.org>
78
79         * dv-bfin_dmac.c (bfin_dmac): Constify pmap array.
80         (bfin_dmac_50x_pmap, bfin_dmac_51x_pmap, bfin_dmac_52x_pmap,
81         bfin_dmac_533_pmap, bfin_dmac_537_pmap, bfin_dmac0_538_pmap,
82         bfin_dmac1_538_pmap, bfin_dmac0_54x_pmap, bfin_dmac1_54x_pmap,
83         bfin_dmac0_561_pmap, bfin_dmac1_561_pmap, bfin_dmac_59x_pmap):
84         Likewise.
85
86 2011-04-26  Mike Frysinger  <vapier@gentoo.org>
87
88         * dv-bfin_gpio.c (bfin_gpio_forward_ouput): New function.
89         (bfin_gpio_io_write_buffer): Store the current port state into
90         "data", and call bfin_gpio_forward_ouput when the data or dir
91         MMRs are updated.
92         (bfin_gpio_ports): Change p0..p15 to bidirect_port.
93
94 2011-04-26  Mike Frysinger  <vapier@gentoo.org>
95
96         * dv-bfin_gpio.c (bfin_gpio): Add "int_state" member.
97         (bfin_gpio_forward_int, bfin_gpio_forward_ints): New functions.
98         (bfin_gpio_io_write_buffer): Call bfin_gpio_forward_int when the
99         mask a or mask b MMRs are written.
100         (bfin_gpio_port_event): When handling edge gpios, set the bit in
101         int_state, call bfin_gpio_forward_ints, and then clear the bit.
102         When handling level gpios, clear/set the bit in int_state rather
103         than returning immediately.  Call bfin_gpio_forward_ints instead
104         of checking mask[ab] and calling HW_TRACE/hw_port_event directly.
105
106 2011-04-16  Mike Frysinger  <vapier@gentoo.org>
107
108         * bfin-sim.c (decode_dsp32alu_0): Call STORE instead of SET_DREG for
109         BYTEOP2P, BYTEOP3P, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK, and
110         BYTEUNPACK.
111         (decode_dsp32shift_0): Call STORE instead of SET_DREG for PACK,
112         BITMUX, EXTRACT, DEPOSIT, ALIGN8, ALIGN16, and ALIGN24.
113
114 2011-04-14  Mike Frysinger  <vapier@gentoo.org>
115
116         * bfin-sim.c (decode_dsp32alu_0): Set DIS_ALGN_EXPT when handling
117         BYTEOP2P, BYTEOP3P, SAA, BYTEOP1P, BYTEOP16P, BYTEOP16M, BYTEPACK,
118         and BYTEUNPACK insns.
119
120 2011-04-11  Mike Frysinger  <vapier@gentoo.org>
121
122         * dv-bfin_sic.c (bfin_sic_port_event): New helper function.
123         (bfin_sic_52x_port_event, bfin_sic_537_port_event,
124         bfin_sic_54x_port_event, bfin_sic_561_port_event): Include level
125         in the trace output, and call the new bfin_sic_port_event func.
126
127 2011-04-11  Mike Frysinger  <vapier@gentoo.org>
128
129         * dv-bfin_gpio.c (bfin_gpio_ports): Add p15.
130
131 2011-04-01  Mike Frysinger  <vapier@gentoo.org>
132
133         * dv-bfin_otp.c (bfin_otp_ports): Declare.
134         (bfin_otp_finish): Call set_hw_ports with bfin_otp_ports.
135
136 2011-03-29  Mike Frysinger  <vapier@gentoo.org>
137
138         * configure: Regenerate after common/aclocal.m4 changes.
139
140 2011-03-28  Robin Getz  <robin.getz@analog.com>
141
142         * bfin-sim.c (decode_dsp32alu_0): Cast high 16bits of A0.W to bs16
143         and add to casted low 16bits of A0.L and store in val0.  Cast high
144         16bits of A1.W to bs16 and add to casted low 16bits of A1.L and
145         store in val1.  Delete bit checks of val0 and val1.
146
147 2011-03-26  Robin Getz  <robin.getz@analog.com>
148
149         * bfin-sim.c (decode_dsp32alu_0): Set result to 0x7FFFFFFF when
150         the result was 0x80000000 for RND12 subtraction.
151
152 2011-03-26  Robin Getz  <robin.getz@analog.com>
153
154         * bfin-sim.c (decode_dsp32alu_0): Set VS when V is set.
155
156 2011-03-24  Mike Frysinger  <vapier@gentoo.org>
157
158         * dv-bfin_gpio.c (bfin_gpio_port_event): Call HW_TRACE at every
159         major code flow point.
160         * dv-bfin_sic.c (bfin_sic_forward_interrupts): Call HW_TRACE just
161         before calling hw_port_event on ourselves.
162         (bfin_sic_52x_port_event, bfin_sic_537_port_event,
163         bfin_sic_54x_port_event, bfin_sic_561_port_event): Call HW_TRACE
164         at the start of the function.
165
166 2011-03-24  Mike Frysinger  <vapier@gentoo.org>
167
168         * dv-bfin_gpio.c (bfin_gpio_port_event): Split dir/inen bit checking.
169         Normalize "level" to 0/1 values.  Shift "level" over by "my_port".
170         Invert port->both bit check.
171
172 2011-03-24  Mike Frysinger  <vapier@gentoo.org>
173
174         * dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Subtract 2 from the
175         valuep pointer for clear MMRs, 4 for set MMRs, and 6 for toggle MMRs.
176
177 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
178
179         * TODO: Document some known SIC issues.
180
181 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
182
183         * devices.h (dv_w1c): Fix typos in documentation of "bits" arg.
184         * dv-bfin_cec.c (bfin_cec_io_write_buffer): Pass 0xffee to dv_w1c_4.
185         * dv-bfin_emac.c (bfin_emac_io_write_buffer): Pass 0xe1 to dv_w1c_4
186         for systat MMR and -1 to dv_w1c_4 for [rt]x_stky/mmc_[rt]irqs MMRs.
187         * dv-bfin_eppi.c (bfin_eppi_io_write_buffer): Pass 0x1ff to dv_w1c_2.
188         * dv-bfin_gpio.c (bfin_gpio_io_write_buffer): Invert bits to dv_w1c_2.
189         * dv-bfin_jtag.c (bfin_jtag_io_write_buffer): Invert bits to dv_w1c_4.
190         * dv-bfin_nfc.c (bfin_nfc_io_write_buffer): Invert bits to dv_w1c_2.
191         * dv-bfin_otp.c (bfin_otp_io_write_buffer): Invert bits to dv_w1c_2.
192         * dv-bfin_ppi.c (bfin_ppi_io_write_buffer): Invert bits to dv_w1c_2.
193         * dv-bfin_rtc.c (bfin_rtc_io_write_buffer): Invert bits to dv_w1c_2.
194         * dv-bfin_spi.c (bfin_spi_io_write_buffer): Invert bits to dv_w1c_2.
195         * dv-bfin_twi.c (bfin_twi_io_write_buffer): Invert bits to dv_w1c_2.
196         * dv-bfin_uart2.c (bfin_uart_io_write_buffer): Invert bits to dv_w1c_2.
197
198 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
199
200         * dv-bfin_uart.h (TFI, BI, FE, PE, OE): Define.
201
202 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
203
204         * dv-bfin_twi.h (LOSTARB): Rename from LOSTARG.
205
206 2011-03-23  Robin Getz  <robin.getz@analog.com>
207
208         * bfin-sim.c (decode_dsp32shift_0): Set acc0 to the unextended
209         value for the VIT_MAX insn, and mask off the result when done.
210
211 2011-03-23  Robin Getz  <robin.getz@analog.com>
212
213         * bfin-sim.c (decode_dsp32alu_0): Set A1 to a1_lo when up_hi is false,
214         and set A0 to a0_lo when up_lo is false.
215
216 2011-03-23  Robin Getz  <robin.getz@analog.com>
217
218         * bfin-sim.c (decode_dsp32alu_0): Call saturate_s40_astat instead of
219         saturate_s40, and use the v parameter to update the AV bit.  Set the
220         AC bit only when the final result is 0.
221
222 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
223
224         * dv-bfin_sic.c (ENC, DEC_PIN, DEC_SIC): Define.
225         (bfin_sic_50x_ports, bfin_sic_51x_ports, bfin_sic_52x_ports,
226         bfin_sic_533_ports, bfin_sic_537_ports, bfin_sic_538_ports,
227         bfin_sic_54x_ports, bfin_sic_561_ports, bfin_sic_59x_ports):
228         Encode ids with the ENC macro.
229         (bfin_sic_52x_port_event, bfin_sic_537_port_event,
230         bfin_sic_54x_port_event, bfin_sic_561_port_event): Set idx
231         from my_port with DEC_SIC, and set bit from my_port with DEC_PIN.
232         (bfin_sic_533_port_event): Delete.
233         (bfin_sic_finish): Call set_hw_port_event with
234         bfin_sic_537_port_event for BF533 and BF59x targets.
235
236 2011-03-23  Robin Getz  <robin.getz@analog.com>
237
238         * bfin-sim.c (decode_dsp32alu_0): Drop the src0/src1 check for
239         BYTEOP1P, BYTEOP2P, and BYTEOP3P insns.
240
241 2011-03-23  Mike Frysinger  <vapier@gentoo.org>
242
243         * machs.c (bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev,
244         bf533_dev, bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev):
245         Change bfin_gpio addresses from f/g/h to 5/6/7.
246         (bfin_model_hw_tree_init): Add the bfin_gpio address base to 'a'.
247
248 2011-03-17  Mike Frysinger  <vapier@gentoo.org>
249
250         * configure.ac (AC_CHECK_FUNCS): Check for kill and pread.
251         * configure: Regenerate.
252         * config.in: Regenerate.
253         * interp.c (bfin_syscall): Check for HAVE_{KILL,PREAD} before using
254         kill or pread.
255
256 2011-03-15  Mike Frysinger  <vapier@gentoo.org>
257
258         * Makefile.in (dv-bfin_gpio.o): New target.
259         * configure.ac (SIM_AC_OPTION_HARDWARE): Add bfin_gpio.
260         * configure: Regenerate.
261         * dv-bfin_gpio.c, dv-bfin_gpio.h: New files.
262         * machs.c: Include dv-bfin_gpio.h.
263         (bf50x_mem, bf51x_mem, bf52x_mem, bf531_mem, bf532_mem, bf533_mem,
264         bf534_mem, bf536_mem, bf537_mem, bf538_mem, bf561_mem, bf592_mem):
265         Delete GPIO memory stubs.
266         (bf50x_dev, bf512_dev, bf516_dev, bf522_dev, bf526_dev, bf533_dev,
267         bf534_dev, bf537_dev, bf538_dev, bf561_dev, bf592_dev): Add GPIO
268         peripheral devices.
269         (bfin_model_hw_tree_init): Hook up GPIO interrupts to SIC.
270
271 2011-03-15  Mike Frysinger  <vapier@gentoo.org>
272
273         * bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h, bfroms/bf51x-0.1.h,
274         bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h, bfroms/bf526-0.1.h,
275         bfroms/bf527-0.0.h, bfroms/bf527-0.1.h, bfroms/bf527-0.2.h,
276         bfroms/bf533-0.1.h, bfroms/bf533-0.2.h, bfroms/bf533-0.3.h,
277         bfroms/bf537-0.0.h, bfroms/bf537-0.1.h, bfroms/bf537-0.3.h,
278         bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h, bfroms/bf54x-0.1.h,
279         bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h, bfroms/bf54x_l1-0.1.h,
280         bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h, bfroms/bf59x-0.0.h,
281         bfroms/bf59x_l1-0.1.h, dv-bfin_cec.c, dv-bfin_ctimer.c,
282         dv-bfin_dma.c, dv-bfin_dmac.c, dv-bfin_ebiu_amc.c,
283         dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_sdc.c, dv-bfin_emac.c,
284         dv-bfin_eppi.c, dv-bfin_evt.c, dv-bfin_gptimer.c, dv-bfin_jtag.c,
285         dv-bfin_mmu.c, dv-bfin_nfc.c, dv-bfin_otp.c, dv-bfin_pll.c,
286         dv-bfin_ppi.c, dv-bfin_rtc.c, dv-bfin_sic.c, dv-bfin_spi.c,
287         dv-bfin_trace.c, dv-bfin_twi.c, dv-bfin_uart.c, dv-bfin_uart2.c,
288         dv-bfin_wdog.c, dv-bfin_wp.c, dv-eth_phy.c, gui.c,
289         linux-fixed-code.h, linux-targ-map.h, machs.c, Makefile.in: Fix style.
290
291 2011-03-15  Robin Getz  <robin.getz@analog.com>
292
293         * bfin-sim.c (decode_dsp32alu_0): Set AZ based on val for 16bit adds
294         and subs.
295
296 2011-03-15  Robin Getz  <robin.getz@analog.com>
297
298         * bfin-sim.c (decode_macfunc): Move acc STOREs behind op != 3 check.
299
300 2011-03-15  Robin Getz  <robin.getz@analog.com>
301
302         * bfin-sim.c (decode_macfunc): New neg parameter.  Set when the
303         high bit is set after extract_mult.
304         (decode_dsp32mac_0): Declare n_1 and n_0.  Pass to the decode_macfunc
305         functions.  Use these to update the AN bit.
306
307 2011-03-15  Robin Getz  <robin.getz@analog.com>
308
309         * bfin-sim.c (decode_dsp32mult_0): Declare v_i0 and v_i1.  Pass to
310         the extract_mult functions.  Include these when updating the V, VS,
311         and V_COPY bits.
312
313 2011-03-15  Robin Getz  <robin.getz@analog.com>
314
315         * bfin-sim.c (astat_names): New global bit array.
316         (decode_CC2stat_0): Delete local astat_name and astat_names.
317         (decode_psedodbg_assert_0): Move hardcoded offset into a variable.
318         Print out ASTAT bit values when checking an ASTAT register.
319
320 2010-03-15  Robin Getz  <robin.getz@analog.com>
321
322         * bfin-sim.c (extract_mult): Handle M_IU.
323
324 2011-03-05  Mike Frysinger  <vapier@gentoo.org>
325
326         * Makefile.in, TODO, aclocal.m4, bfin-sim.c, bfin-sim.h,
327         bfroms/all.h, bfroms/bf50x-0.0.h, bfroms/bf51x-0.0.h,
328         bfroms/bf51x-0.1.h, bfroms/bf51x-0.2.h, bfroms/bf526-0.0.h,
329         bfroms/bf526-0.1.h, bfroms/bf527-0.0.h, bfroms/bf527-0.1.h,
330         bfroms/bf527-0.2.h, bfroms/bf533-0.1.h, bfroms/bf533-0.2.h,
331         bfroms/bf533-0.3.h, bfroms/bf537-0.0.h, bfroms/bf537-0.1.h,
332         bfroms/bf537-0.3.h, bfroms/bf538-0.0.h, bfroms/bf54x-0.0.h,
333         bfroms/bf54x-0.1.h, bfroms/bf54x-0.2.h, bfroms/bf54x_l1-0.0.h,
334         bfroms/bf54x_l1-0.1.h, bfroms/bf54x_l1-0.2.h, bfroms/bf561-0.5.h,
335         bfroms/bf59x-0.0.h, bfroms/bf59x_l1-0.1.h, config.in, configure,
336         configure.ac, devices.c, devices.h, dv-bfin_cec.c, dv-bfin_cec.h,
337         dv-bfin_ctimer.c, dv-bfin_ctimer.h, dv-bfin_dma.c, dv-bfin_dma.h,
338         dv-bfin_dmac.c, dv-bfin_dmac.h, dv-bfin_ebiu_amc.c, dv-bfin_ebiu_amc.h,
339         dv-bfin_ebiu_ddrc.c, dv-bfin_ebiu_ddrc.h, dv-bfin_ebiu_sdc.c,
340         dv-bfin_ebiu_sdc.h, dv-bfin_emac.c, dv-bfin_emac.h, dv-bfin_eppi.c,
341         dv-bfin_eppi.h, dv-bfin_evt.c, dv-bfin_evt.h, dv-bfin_gptimer.c,
342         dv-bfin_gptimer.h, dv-bfin_jtag.c, dv-bfin_jtag.h, dv-bfin_mmu.c,
343         dv-bfin_mmu.h, dv-bfin_nfc.c, dv-bfin_nfc.h, dv-bfin_otp.c,
344         dv-bfin_otp.h, dv-bfin_pll.c, dv-bfin_pll.h, dv-bfin_ppi.c,
345         dv-bfin_ppi.h, dv-bfin_rtc.c, dv-bfin_rtc.h, dv-bfin_sic.c,
346         dv-bfin_sic.h, dv-bfin_spi.c, dv-bfin_spi.h, dv-bfin_trace.c,
347         dv-bfin_trace.h, dv-bfin_twi.c, dv-bfin_twi.h, dv-bfin_uart.c,
348         dv-bfin_uart.h, dv-bfin_uart2.c, dv-bfin_uart2.h, dv-bfin_wdog.c,
349         dv-bfin_wdog.h, dv-bfin_wp.c, dv-bfin_wp.h, dv-eth_phy.c, gui.c,
350         gui.h, insn_list.def, interp.c, linux-fixed-code.h, linux-fixed-code.s,
351         linux-targ-map.h, machs.c, machs.h, proc_list.def, sim-main.h,
352         tconfig.in: New Blackfin port.