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