OSDN Git Service

Regenerate cgen files, update copyright year.
[pf3gnuchains/pf3gnuchains3x.git] / sid / component / cgen-cpu / mep / ChangeLog
1 2010-01-02  Doug Evans  <dje@sebabeach.org>
2
3         * mep-cop1-16-decode.cxx, * mep-cop1-16-decode.h, * mep-cop1-16-defs.h,
4         * mep-cop1-16-model.cxx, * mep-cop1-16-model.h, * mep-cop1-16-sem.cxx,
5         * mep-cop1-32-decode.cxx, * mep-cop1-32-decode.h, * mep-cop1-32-defs.h,
6         * mep-cop1-32-model.cxx, * mep-cop1-32-model.h, * mep-cop1-32-sem.cxx,
7         * mep-cop1-48-decode.cxx, * mep-cop1-48-decode.h, * mep-cop1-48-defs.h,
8         * mep-cop1-48-model.cxx, * mep-cop1-48-model.h, * mep-cop1-48-sem.cxx,
9         * mep-cop1-64-decode.cxx, * mep-cop1-64-decode.h, * mep-cop1-64-defs.h,
10         * mep-cop1-64-model.cxx, * mep-cop1-64-model.h, * mep-cop1-64-sem.cxx,
11         * mep-core1-decode.cxx, * mep-core1-decode.h, * mep-core1-defs.h,
12         * mep-core1-model.cxx, * mep-core1-model.h, * mep-core1-sem.cxx,
13         * mep-cpu.h, * mep-decode.cxx, * mep-decode.h, * mep-defs.h,
14         * mep-desc.h, * mep-model.cxx, * mep-model.h,
15         * mep-sem.cxx: Regenerate.
16
17 2009-11-23  Doug Evans  <dje@sebabeach.org>
18
19         * mep-cop1-16-decode.cxx: Regenerate.
20         * mep-cop1-32-decode.cxx: Regenerate.
21         * mep-cop1-64-decode.cxx: Regenerate.
22         * mep-core1-decode.cxx: Regenerate.
23         * mep-decode.cxx: Regenerate.
24
25 2009-10-23  Doug Evans  <dje@sebabeach.org>
26
27         * mep-desc.h: Regenerate.
28         * mep-decode.cxx: Regenerate.
29         * mep-core1-decode.cxx: Regenerate.
30
31 2009-08-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32
33         * Makefile.am (CPU_SOURCES): Replace mep-ivc2.cxx with
34         ivc2-cop.cxx.
35         * Makefile.in: Regenerate.
36
37 2009-07-06  DJ Delorie  <dj@redhat.com>
38
39         * mep-cop1-16-decode.cxx: Regenerate.
40         * mep-cop1-16-decode.h: Regenerate.
41         * mep-cop1-16-defs.h: Regenerate.
42         * mep-cop1-16-model.cxx: Regenerate.
43         * mep-cop1-16-model.h: Regenerate.
44         * mep-cop1-16-sem.cxx: Regenerate.
45         * mep-cop1-32-decode.cxx: Regenerate.
46         * mep-cop1-32-decode.h: Regenerate.
47         * mep-cop1-32-defs.h: Regenerate.
48         * mep-cop1-32-model.cxx: Regenerate.
49         * mep-cop1-32-model.h: Regenerate.
50         * mep-cop1-32-sem.cxx: Regenerate.
51         * mep-cop1-48-decode.cxx: Regenerate.
52         * mep-cop1-48-decode.h: Regenerate.
53         * mep-cop1-48-defs.h: Regenerate.
54         * mep-cop1-48-model.cxx: Regenerate.
55         * mep-cop1-48-model.h: Regenerate.
56         * mep-cop1-48-sem.cxx: Regenerate.
57         * mep-cop1-64-decode.cxx: Regenerate.
58         * mep-cop1-64-decode.h: Regenerate.
59         * mep-cop1-64-defs.h: Regenerate.
60         * mep-cop1-64-model.cxx: Regenerate.
61         * mep-cop1-64-model.h: Regenerate.
62         * mep-cop1-64-sem.cxx: Regenerate.
63         * mep-core1-decode.cxx: Regenerate.
64         * mep-core1-decode.h: Regenerate.
65         * mep-core1-defs.h: Regenerate.
66         * mep-core1-model.cxx: Regenerate.
67         * mep-core1-model.h: Regenerate.
68         * mep-core1-sem.cxx: Regenerate.
69         * mep-cpu.h: Regenerate.
70         * mep-decode.cxx: Regenerate.
71         * mep-decode.h: Regenerate.
72         * mep-defs.h: Regenerate.
73         * mep-desc.h: Regenerate.
74         * mep-model.cxx: Regenerate.
75         * mep-model.h: Regenerate.
76         * mep-sem.cxx: Regenerate.
77
78 2009-06-23  DJ Delorie  <dj@redhat.com>
79
80         * ivc2-cop.cxx (ivc2_cphadd_w): Change to return value.
81         (ivc2_cpsubaca0u_b): Remove debug line.
82         * ivc2-cpu.h (ivc2_cpccadd_b): Change to return value.
83         * mep-cop1-16-decode.cxx: Regenerate.
84         * mep-cop1-16-sem.cxx: Regenerate.
85         * mep-cop1-32-decode.cxx: Regenerate.
86         * mep-cop1-32-sem.cxx: Regenerate.
87         * mep-cop1-48-decode.cxx: Regenerate.
88         * mep-cop1-48-sem.cxx: Regenerate.
89         * mep-cop1-64-decode.cxx: Regenerate.
90         * mep-cop1-64-sem.cxx: Regenerate.
91         * mep-core1-decode.cxx: Regenerate.
92         * mep-cpu.h: Regenerate.
93         * mep-decode.cxx: Regenerate.
94         * mep-desc.h: Regenerate.
95
96 2009-05-26  DJ Delorie  <dj@redhat.com>
97
98         * mep-cop1-32-decode.cxx: Regenerate.
99         * mep-cop1-32-decode.h: Regenerate.
100         * mep-cop1-32-sem.cxx: Regenerate.
101         * mep-cop1-48-sem.cxx: Regenerate.
102
103 2009-05-22  DJ Delorie  <dj@redhat.com>
104
105         * mep-cop1-16-decode.cxx: Regenerate.
106         * mep-cop1-16-decode.h: Regenerate.
107         * mep-cop1-16-model.cxx: Regenerate.
108         * mep-cop1-16-model.h: Regenerate.
109         * mep-cop1-16-sem.cxx: Regenerate.
110         * mep-cop1-64-decode.cxx: Regenerate.
111         * mep-cop1-64-decode.h: Regenerate.
112         * mep-cop1-64-model.cxx: Regenerate.
113         * mep-cop1-64-model.h: Regenerate.
114         * mep-cop1-64-sem.cxx: Regenerate.
115
116 2009-05-18  Kevin Buettner  <kevinb@redhat.com>
117
118         * mep.cxx (mep_cpu::reset): Call `h_regs_flush_write_queue'.
119
120 2009-04-30  DJ Delorie  <dj@redhat.com>
121
122         * Makefile.am: Regenerate.
123         * Makefile.in: Regenerate.
124         * common_model.cxx: Regenerate.
125         * mep-core1-decode.cxx: Regenerate.
126         * mep-core1-sem: Regenerate.
127         * mep-cpu.h: Regenerate.
128         * mep-decode.cxx: Regenerate.
129         * mep-desc.h: Regenerate.
130         * mep-sem.cxx: Regenerate.
131         * mep_ext1.h: Regenerate.
132         * ivc2-cop.cxx: New.
133         * ivc2-cpu.h: New.
134         * ivc2.h: New.
135         * mep-cop1-16-decode.cxx: New.
136         * mep-cop1-16-decode.h: New.
137         * mep-cop1-16-defs.h: New.
138         * mep-cop1-16-model.cxx: New.
139         * mep-cop1-16-model.h: New.
140         * mep-cop1-16-sem.cxx: New.
141         * mep-cop1-32-decode.cxx: New.
142         * mep-cop1-32-decode.h: New.
143         * mep-cop1-32-defs.h: New.
144         * mep-cop1-32-model.cxx: New.
145         * mep-cop1-32-model.h: New.
146         * mep-cop1-32-sem.cxx: New.
147         * mep-cop1-48-decode.cxx: New.
148         * mep-cop1-48-decode.h: New.
149         * mep-cop1-48-defs.h: New.
150         * mep-cop1-48-model.cxx: New.
151         * mep-cop1-48-model.h: New.
152         * mep-cop1-48-sem.cxx: New.
153         * mep-cop1-64-decode.cxx: New.
154         * mep-cop1-64-decode.h: New.
155         * mep-cop1-64-defs.h: New.
156         * mep-cop1-64-model.cxx: New.
157         * mep-cop1-64-model.h: New.
158         * mep-cop1-64-sem.cxx: New.
159
160         * mep.cxx (mep_cpu::mep_cpu): Add ivc2-decode? pin.
161         (mep_cpu::step_insns): Flush register write queu before looping,
162         and after each insn bundle.
163
164         * mep.h: Regenerate.
165         (mep_print_insn_set_ivc2_mode): Declare.
166         (mep_cpu): Add register write queues.  Add IVC2 support.
167         (decode_bundling): Likewise.
168         (step_one_insn): Likewise.
169
170 2009-04-17  DJ Delorie  <dj@redhat.com>
171         
172         * mep-core1-decode.cxx: Regenerate.
173         * mep-core1-decode.h: Regenerate.
174         * mep-decode.cxx: Regenerate.
175         * mep-decode.h: Regenerate.
176
177 2009-04-08  DJ Delorie  <dj@redhat.com>
178
179         * Makefile.am: Regenerate.
180         * Makefile.in: Regenerate.
181         * mep-core1-decode.cxx: Regenerate.
182         * mep-core1-decode.h: Regenerate.
183         * mep-core1-defs.h: Regenerate.
184         * mep-core1-model.cxx: Regenerate.
185         * mep-core1-model.h: Regenerate.
186         * mep-core1-sem.cxx: Regenerate.
187         * mep-decode.cxx: Regenerate.
188         * mep-decode.h: Regenerate.
189         * mep-defs.h: Regenerate.
190         * mep-desc.h: Regenerate.
191         * mep-model.cxx: Regenerate.
192         * mep-model.h: Regenerate.
193         * mep-sem.cxx: Regenerate.
194         * mep.cxx (mep_cpu): Connect
195         write-hint pin.
196         (do_cache): Add C5 support.
197         (do_cache_prefetch): Likewise.
198         (do_casb3, do_cash3, do_casw3): New.
199         * mep.h: Add C5 support and write-hint pin.
200         (do_casb3, do_cash3, do_casw3): New.
201
202 2009-02-02  DJ Delorie  <dj@redhat.com>
203
204         * Makefile.am: Update to new MeP configuration.
205         * Makefile.in: Likewise.
206         * common_model.cxx: Likewise.
207         * mep-core1-decode.cxx: Likewise.
208         * mep-cpu.h: Likewise.
209         * mep-decode.cxx: Likewise.
210         * mep-desc.h: Likewise.
211         * mep.h: Likewise.
212         
213 2007-08-13  Frank Ch. Eigler  <fche@redhat.com>
214
215         * common_model.h: Change #include guard name.
216
217 2007-01-03  Dave Brolley  <brolley@redhat.com>
218
219         * Makefile.am (libmep_la_LIBADD): Remove cgen-bitset.lo.
220         (cgen-bitset.lo): Target removed.
221         * Makefile.in: Regenerated.
222
223 2006-10-23  Dave Brolley  <brolley@redhat.com>
224
225         * mep.cxx (step_insns): Restore save_pc in all cases.
226         * common_model.h (class mep_common_model): Do not define MAX_UNITS or
227         UNIT_U_EXEC.
228
229 2006-09-27  Dave Brolley  <brolley@redhat.com>
230
231         * mep.cxx (step_insns): Don't decrement this->gprof_counter when
232         stalled. Temporarily restore the pc of the insn before calling
233         stop_after_insns_p so that any generated gprof trace uses that pc.
234         * Makefile.am (libmep_la_LIBADD): Add cgen-bitset.lo.
235         (cgen-bitset.lo): New target.
236         * Makefile.in: Regenerated.
237
238 2006-08-29  Dave Brolley  <brolley@redhat.com>
239
240         * mep.h (done_insn): Clear bit_insn_p.
241         (done_cti_insn): Clear bit_insn_p.
242         (check_option_bit): Set bit_insn_p.
243         (bit_insn_p): New member of mep_cpu.
244         (bit_insn_bad_address_pin): New member of mep_cpu.
245         (bit_insn_bad_address_pin_handler): New method of mep_cpu.
246         * mep.cxx (mep_cpu): Initialize bit_insn_bad_address_pin. Add
247         bit-insn-bad-address pin.
248         (reset): Initizlize bit_insn_p.
249         (bit_insn_bad_address_pin_handler): New method of mep_cpu.
250
251 2005-08-24  Dave Brolley  <brolley@redhat.com>
252
253         * mep.cxx (cgen_set_csr_value): Ensure that the LTOM, ETOM and NTOM
254         fields of the the LP, EPC and NPC registers respectively are read-only
255         when VLIW is disabled.
256
257 2005-08-22  Dave Brolley  <brolley@redhat.com>
258
259         * Merge these changes:
260
261         2005-07-13  Dave Brolley  <brolley@redhat.com>
262
263         * mep.cxx (dynamic_config): New virtual override in mep_cpu.
264         (configure): Don't handle "insn-count=" here.
265         * fmax-cpu.h (fmax_fr_get_handler): Set the CAUSE field based on
266         'detected'.
267         * mep.h (dynamic_config): New virtual override in mep_cpu.
268         * mep*-model.cxx: Regenerated.
269         * mep*-sem.cxx: Regenerated.
270
271         2005-07-05  Dave Brolley  <brolley@redhat.com>
272
273         * fmax-cpu.h (fmax_fr_get_handler): Don't clear redundant 'inexact',
274         'overflow' or 'underflow' in the CAUSE field.
275
276         2005-06-21  Dave Brolley  <brolley@redhat.com>
277
278         * fmax-fpu.cxx (check_result): Set 'inexact' when 'underflow' is set.
279         * fmax-cpu.h (fmax_record_exception): Leave all FLAGS set.
280
281         2005-06-14  Dave Brolley  <brolley@redhat.com>
282
283         * fmax-cpu.h (fmax_record_exception): Leave overflow set in the
284         FLAG mask when overflow is not enabled and becomes inexact.
285         * fmax-fpu.cxx (check_result): Correct typo in comment.
286         * fmax-fp.cxx (integer): Set result to qnan if the input is
287         infinity.
288         (do_normal_underflow): New virtual override in fmax_fp.
289         (operator-): Don't apply 'neg' to nan.
290         * fmax-fp.h (do_normal_underflow): New virtual override in fmax_fp.
291
292         2005-06-06  Dave Brolley  <brolley@redhat.com>
293
294         * mep.cxx (mep_cpu): Initialize insn_buffer and
295         step_insn_count_1_required. Add step-insn-count-1-required
296         attribute. Add insn-buffer relation.
297         (do_syscall): Restore the passthrough pin to its previous
298         state after making the syscall.
299         (configure): Handle insn-count and model-busses.
300         * mep.h (step_insn_count_required): New member of mep_cpu.
301         (insn_buffer): Likewise.
302         (print_insn_summary): Check print_final_insn_count_p.
303         (disassemble): Restore the passthrough pin to its previous
304         state.
305         * hw-cpu-mep.xml: Add description of new interfaces.
306         * hw-cpu-mep.txt: Regenerated.
307
308         2005-05-29  Dave Brolley  <brolley@redhat.com>
309
310         * mep.h (branch): Call cgen_be_endian_cpu::branch.
311         (done_cti_insn): Call cgen_be_endian_cpu::done_cti_insn.
312         (configure): New virtual override in mep_cpu.
313         (get_gprof_sample_pin): New method of mep_cpu.
314         * mep.cxx (configure): New virtual override in mep_cpu.
315         * mep-core1-model.cxx,mep-core1-model-sem: Regenerated.
316         * mep-core2-model.cxx,mep-core2-model-sem: Regenerated.
317         * mep-model.cxx,mep-sem: Regenerated.
318
319         2005-05-20  Dave Brolley  <brolley@redhat.com>
320
321         * fmax-fpu.h (check_zero_sum): New method of fmax_fpu.
322         * fmax-fpu.cxx (check_zero_sum): New method of fmax_fpu.
323         (addsf): Call check_zero_sum.
324         (subsf): Likewise.
325
326         2005-05-18  Dave Brolley  <brolley@redhat.com>
327
328         * mep.cxx (do_ldz): Accept 'rm' by value.
329         * mep.h: (invalid_insn): Now virtual.
330         (do_ldz): Accept 'rm' by value.
331         * fmax.h (invalid_insn): New virtual override for fmax.
332         * fmax-fp.cxx (round_int_32): Preserve the sign for a
333         fraction shifted beyond its size.
334         * mep-cop2-16-decode.cxx: Regenerated.
335         * mep-cop2-32-decode.cxx: Regenerated.
336         * mep-cop2-48-decode.cxx: Regenerated.
337         * mep-cop2-64-decode.cxx: Regenerated.
338         * mep-core1-decode.cxx: Regenerated.
339         * mep-core2-decode.cxx: Regenerated.
340         * mep-core2-decode.h: Regenerated.
341         * mep-core2-model.cxx: Regenerated.
342         * mep-core2-model.h: Regenerated.
343         * mep-core2-sem.cxx: Regenerated.
344         * mep-decode.cxx: Regenerated.
345
346         2005-05-13  Dave Brolley  <brolley@redhat.com>
347
348         * fmax-fp.h (fmax_fp): New constructor taking 'enum cless_t'.
349         (operator+): New method of fmax_fp.
350         (operator-): New method of fmax_fp.
351         * fmax-fp.cxx (fmax_constant_qnan): New constant.
352         (integer): Return fmax_constant_qnan for nan input and for
353         input beyond the rang of an integer.
354         (round_int_32): Don't shift beyond the size of 'unrounded'.
355         (operator+): New method of fmax_fp.
356         (operator-): New method of fmax_fp.
357
358         2005-05-12  Dave Brolley  <brolley@redhat.com>
359
360         * mep.h (cgen_set_ccr_value): New virtual method of mep_cpu_cgen.
361         * avc-cpu.h: Remove avc_ccr_set_handler.
362         * avc.h: Renanme avc_ccr_set_handler to cgen_set_ccr_value.
363         * avc2-cpu.h: Remove avc2_ccr_set_handler.
364         * avc2.h: Renanme avc2_ccr_set_handler to cgen_set_ccr_value.
365         * fmax-cpu.h: Remove fmax_ccr_set_handler.
366         * fmax.h: Renanme fmax_ccr_set_handler to cgen_set_ccr_value.
367
368         2005-04-27  Dave Brolley  <brolley@redhat.com>
369
370         * fmax.h (fmax_ccr_set_handler): Actual implementation is now here.
371         * fmax-fpu.cxx (check_operand): Generated an exception for all
372         qnan operands.
373         * fmax-cpu.h (fmax_cc_set_handler): Now virtual with an empty
374         default implementation.
375         * mep_ext2.h: Regenerated.
376         * avc.h: New header.
377         * avc2.h: New header.
378         * avc-cpu.h: New header.
379         * avc2-cpu.h: New header.
380         * mep-cop2-32-decode.cxx: Regenerated.
381         * mep-cop2-32-decode.h: Regenerated.
382         * mep-cop2-32-model.cxx: Regenerated.
383         * mep-cop2-32-model.h: Regenerated.
384         * mep-cop2-32-sem.cxx: Regenerated.
385         * mep-core2-decode.cxx: Regenerated.
386         * mep-core2-sem.cxx: Regenerated.
387         * mep-cpu.h: Regenerated.
388
389         2005-04-22  Richard Sandiford  <rsandifo@redhat.com>
390
391         * Makefile.am, Makefile.in, common_model.cxx, mep.h,
392         mep_ext1.h: Apply automatic MeP-Integrator changes.
393         * mep-cop1-16-decode.cxx, mep-cop1-16-decode.h, mep-cop1-16-defs.h,
394         mep-cop1-16-model.cxx, mep-cop1-16-model.h, mep-cop1-16-sem.cxx,
395         mep-cop1-32-decode.cxx, mep-cop1-32-decode.h, mep-cop1-32-defs.h,
396         mep-cop1-32-model.cxx, mep-cop1-32-model.h, mep-cop1-32-sem.cxx,
397         mep-cop1-48-decode.cxx, mep-cop1-48-decode.h, mep-cop1-48-defs.h,
398         mep-cop1-48-model.cxx, mep-cop1-48-model.h, mep-cop1-48-sem.cxx,
399         mep-cop1-64-decode.cxx, mep-cop1-64-decode.h, mep-cop1-64-defs.h,
400         mep-cop1-64-model.cxx, mep-cop1-64-model.h,
401         mep-cop1-64-sem.cxx: Delete.
402         * mep-core1-decode.cxx, mep-core1-decode.h, mep-core1-model.cxx,
403         mep-core1-model.h, mep-core1-sem.cxx, mep-cpu.h, mep-decode.cxx,
404         mep-desc.h: Regenerate.
405         * mep-cop2-16-decode.cxx, mep-cop2-16-decode.h, mep-cop2-16-defs.h,
406         mep-cop2-16-model.cxx, mep-cop2-16-model.h, mep-cop2-16-sem.cxx,
407         mep-cop2-32-decode.cxx, mep-cop2-32-decode.h, mep-cop2-32-defs.h,
408         mep-cop2-32-model.cxx, mep-cop2-32-model.h, mep-cop2-32-sem.cxx,
409         mep-cop2-48-decode.cxx, mep-cop2-48-decode.h, mep-cop2-48-defs.h,
410         mep-cop2-48-model.cxx, mep-cop2-48-model.h, mep-cop2-48-sem.cxx,
411         mep-cop2-64-decode.cxx, mep-cop2-64-decode.h, mep-cop2-64-defs.h,
412         mep-cop2-64-model.cxx, mep-cop2-64-model.h, mep-cop2-64-sem.cxx,
413         mep-core2-decode.cxx, mep-core2-decode.h, mep-core2-defs.h,
414         mep-core2-model.cxx, mep-core2-model.h, mep-core2-sem.cxx: New files,
415         automatically generated by cgen.
416         * mep_ext2.h: New file, automatically generated by MeP-Integrator.
417
418         2005-04-20  Dave Brolley  <brolley@redhat.com>
419
420         * fmax.h (fmax_froundws): Access the fmax hardware
421         directly to avoid problems with CGEN.
422         * fmax-fpu.cxx (check_operand): Access the fmax hardware
423         directly to avoid problems with CGEN.
424         (check_result): Likewise.
425         (round): Likewise.
426
427         2005-04-12  Dave Brolley  <brolley@redhat.com>
428
429         * Makefile.am (mep-core1, mep-cop1-16, mep-cop1-32, mep-cop1-48) 
430         (mep-cop1-64): Remove unnecessary \ from before $(cgendir).
431         * Makefile.in: Regenerated
432         * mep.cxx (fp.h): #include it.
433         (step_insns): Catch fp:error after step_one_insn.
434         * mep.h (fpu_exception): New virtual method of mep_cpu.
435         * fmax.h: Rework all operations to check for exceptions.
436         (fpu_exception): New method.
437         * fmax-fpu.cxx (fmax_fp): Rework all operations to check for
438         exceptions. Code for fmax_fp moved to fmax-fp.cxx.
439         (mep.h): #include it.
440         (check_operand): New method of fmax_fp_ops.
441         (check_result): Likewise.
442         (round): Likewise.
443         (check_result): Now takes reference to fp.
444         (round): Likewise.
445         * fmax-fpu.h: Code for fmax_fp moved to fmax-fp.h.
446         (check_result): Now takes reference to fp.
447         (round): Likewise.
448         * fmax-cpu.h (fmax_handle_fpu_exception): Removed.
449         (FMAX_*_MASK): New constants.
450         (FMAX_CERR): New constant.
451         (fmax_reserved_operation_exception): New method.
452         (fmax_record_exception): New method.
453         * fmax-fp.cxx: New file.
454         * fmax-fp.h: New file.
455
456         2005-03-31  Dave Brolley  <brolley@redhat.com>
457
458         * Makefile.am (mep-core1): Call CGEN using "with-multiple-isa".
459         (mep-cop*): Likewise.
460         (mep-decsemdefs): Likewise.
461         * Makefile.in: Regenerated.
462         * mep-cpu.h: Regenerated.
463
464         2005-03-21  Dave Brolley  <brolley@redhat.com>
465
466         * mep.cxx (mep_cpu): Create 64 ccr<n> attributes (not 32).
467
468         2005-03-18  Dave Brolley  <brolley@redhat.com>
469
470         * mep.h: Add begin/end-copro-cpu-includes markers for MeP-Integrator.
471         Add begin/end-fpu-includes markers for MeP-Integrator.
472         (cgen_set_cr_value): Removed.
473         * mep.cxx (mep_cpu): Add ccr<n> attributes for the coprocessor
474         control registers.
475         (cgen_set_cr_value): Removed.
476         (reset): Don't initialize coprocessor control registers here.
477         * fmax-cpu.h: New source file.
478         * fmax-fpu.cxx: New source file.
479         * fmax-fpu.h: New source file.
480         * fmax.h: New source file.
481
482         2005-02-24  Dave Brolley  <brolley@redhat.com>
483
484         * mep.h (CORE_C4): New static member of mep_cpu.
485         * mep.cxx (reset): Set the LEND bit in CFG for MeP-c4.
486
487         2005-01-25  Dave Brolley  <brolley@redhat.com>
488
489         * mep-*: Regenerated with new copyright year.
490         * mep-core1-sem.cxx: Regenerated with fix for 'tas' insn.
491         * mep-sem.cxx: Regenerated with fix for 'tas' insn.
492
493         2005-01-09  Dave Brolley  <brolley@redhat.com>
494
495         * mep.cxx (cgen_set_csr_value): Remove redundant setting of writemask.
496
497         2004-11-10  Dave Brolley  <brolley@redhat.com>
498
499         * mep.h (step_one_insn): Adjust total_latency to account for a stall
500         when blockable.
501
502         2004-11-08  Dave Brolley  <brolley@redhat.com>
503
504         * mep.cxx (step_pin_handler): Do not set blocked_latency here.
505         * mep.h (parent_step_pin_handler): Do it here.
506         (pending_fetch_latency): Renamed to pending_latency.
507         (step_one_insn): Block the cpu for stalls, if blockable.
508
509         2004-11-02  Dave Brolley  <brolley@redhat.com>
510
511         * mep.cxx (memory_read_latency): Renamed to blocked_latency.
512         (record_memory_read_latency): Renamed to record_blocked_latency.
513         (mep_cpu): Add "cache-operation-status" pin.
514         (do_cache): Block and retry if operation status is 'busy'.
515         * mep.h (memory_read_latency): Renamed to blocked_latency.
516         (record_memory_read_latency): Renamed to record_blocked_latency.
517         (cache_operation_status_pin): New output pin.
518         (record_blocked_latency): Handle latency of zero.
519
520         2004-10-28  Dave Brolley  <brolley@redhat.com>
521
522         * mep.cxx (step_pin_handler): Remove log message.
523
524         2004-10-22  Dave Brolley  <brolley@redhat.com>
525
526         * mep.h (record_insn_memory_read_latency): New virtual method.
527         (record_data_memory_read_latency): New virtual method.
528         (record_memory_read_latency): New virtual method.
529         (stepped): New virtual override.
530         * mep.cxx (mep_cpu): Initialize memory_read_latency.
531         (step_pin_handler): Initialize memory_read_latency. Don't call stepped
532         here.
533         (handle_bus_error): call record_memory_read_latency.
534
535         2004-10-12  Dave Brolley  <brolley@redhat.com>
536
537         * mep.cxx: Rename gbif-passthrough pin to
538         downstream-passthrough. Rname gbif_passthrough_pin to
539         downstream_passthrough_pin.
540         * mep.h: Ditto.
541
542         2004-09-30  Dave Brolley  <brolley@redhat.com>
543
544         * mep.cxx (step_pin_handler): SID_SIG_CHILD_BLOCKED is now
545         ctl_child_blocked.
546         (handle_bus_error): Don't call child_wait_for_resume.
547         (mep_cpu_child_thread_root): Ditto.
548
549         2004-09-16  Dave Brolley  <brolley@redhat.com>
550
551         * mep.h (sidblockingutil.h): #include it.
552         (mep_cpu_child_thread_root): New function.
553         (mep_cpu): Inherit from blocking_component.
554         (mep_cpu::disassemble): Set gbif_passthrough_pin while disassembling.
555         (mep_cpu::gbif_passthrough_pin): New output pin.
556         (mep_cpu::step_pin_handler): New method.
557         (mep_cpu::handle_bus_error): Ditto.
558         (mep_cpu::handle_{insn,data},_memory_{read,write}_error): New virtual
559         overrides.
560         * mep.cxx (mep_cpu): Inherit from blocking_component. Add
561         gbif-passthrough pin.
562         (do_syscall): Set gbif_passthrough_pin while syscall is executing.
563         (mep_cpu::step_pin_handler): New method.
564         (mep_cpu::handle_bus_error): Ditto.
565         (mep_cpu_child_thread_root): New function.
566
567 2005-07-29  Dave Brolley  <brolley@redhat.com>
568
569         * mep-*.*: Regenerated.
570         * common_model.h (__MAX_UNITS_DEFINED): #undef it after using it.
571
572 2005-04-05  Richard Sandiford  <rsandifo@redhat.com>
573
574         * common-model.cxx: Reduce divergence from MeP-Integrator output.
575         * mep_ext1.h: Likewise.
576         * Makefile.am: Likewise.
577         * Makefile.in: Regenerate.
578
579 2004-08-20  Dave Brolley  <brolley@redhat.com>
580
581         * mep.cxx (set_endian): New virtual override in mep_cpu.
582         * mep.h (set_endian): New virtual override in mep_cpu.
583
584 2004-08-16  Dave Brolley  <brolley@redhat.com>
585
586         * mep.h (mep_cpu): Remove unused warn_write_to_code_pin. Add
587         current_insn_sampled and sample_gprof_pin.
588         * mep.cxx (mep_cpu): Initialize current_insn_sampled. Add
589         "sample-gprof" pin.
590         (step_insns): Drive sample_gprof_pin here. Set current_insn_sampled for
591         the next iteration, if we're stalled.
592
593 2004-07-20 Dave Brolley  <brolley@redhat.com>
594
595         * mep.h (check_option_icache): New method of mep_cpu.
596         * mep.cxx (do_cache): Check icache/dcache option here. Check for
597         CORE_H1 as appropriate.
598         * mep-core1-sem.cxx: Regenerated.
599         * mep-sem.cxx: Regenerated.
600
601 2004-06-24  Dave Brolley  <brolley@redhat.com>
602
603         * mep.cxx (mep_cpu): Add pins cache-prefetch,
604         data-cache-invalidate-all, and insn-cache-invalidate-all.
605         (cgen_set_csr_value): Add h1 register fields. Check for core_type ()
606         greater than CORE_C3 for C3 fields.
607         (opt_reg_value): Check for core_type () greater than CORE_C3 for C3
608         fields.
609         (init_caches): Ditto.
610         (do_cache): Handle invalidate line and invalidate all.
611         (do_cache_prefetch): New method.
612         (do_ldcb): Pass word_addr by value.
613         (do_stcb): Ditto. Also rn.
614         * mep.h (do_ldcb): Pass word_addr by value.
615         (do_stcb): Ditto. Also rn.
616         (do_cache_prefetch): New method.
617         (CORE_H1): New static constant.
618         (cache_prefetch_pin, data_cache_invalidate_all_pin, 
619         insn_cache_invalidate_all_pin): New pins.
620         (mep_cpu::disassemble): Pass machine_name () and machine () to
621         cgen_bi_endian_cpu::disassemble.
622         * Makefile.am (CGEN_MACH): New variable.
623         (mep-core1): Pass CGEN_MACH to CGEN.sh.
624         (mep-cop1-16, mep-cop1-32, mep-cop1-48, mep-cop1-64, mep-cpudesc) 
625         (mep-decsemdefs): Ditto.
626         * Makefile.in: Regenerated.
627
628 2004-06-24  Dave Brolley  <brolley@redhat.com>
629
630         * mep.cxx (mep_cpu): Initialize corrupt_caches. Add attribute
631         "corrupt-caches".
632         (init_caches): Only do this if corrupt_caches is set.
633         * mep.h (mep_cpu): New member: corrupt_caches.
634
635 2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
636
637         * mep.cxx (mep_cpu::mep_cpu): Treat $8 as the frame pointer, not $12.
638
639 2004-04-28  Dave Brolley  <brolley@redhat.com>
640
641         * mep.h (init_caches): New method of mep_cpu.
642         * mep.cxx (init_caches): New method of mep_cpu.
643         (reset): Call init_caches.
644
645 2004-04-08  Dave Brolley  <brolley@redhat.com>
646
647         * mep.cxx (do_smcp): Output semantic trace before execution.
648
649 2004-04-01  Dave Brolley  <brolley@redhat.com>
650
651         * mep.h (dsp_dmem_if_width): New member of mep_cpu.
652         (CORE_*): New constants for mep_cpu.
653         * mep.cxx (mep_cpu): Initialize dsp_dmem_if_width. Add the
654         "dsp-dmem-if-width" attribute.
655         (cgen_set_csr_value): Handle register 22 as VID on the C3 core.
656         (opt_reg_value): Include the CBS and DBS fields for C3.
657
658 2004-03-30  Dave Brolley  <brolley@redhat.com>
659
660         * mep.h (ucipin_arg4,dsppin_arg4,dsppin_arg7): New output pins.
661         * mep.cxx (mep_cpu): Call add_pin for "uci-arg4", "dsp-arg4" and
662         "dsp-arg7".
663         (do_DSP): Drive 0 on dsppin_arg4. Drive the entire dsp opcode on
664         dsppin_arg7.
665         (do_UCI): Drive the entire uci opcode on ucipin_arg4.
666
667 2004-03-22  Dave Brolley  <brolley@redhat.com>
668
669         * mep.cxx (cgen_set_csr_value): Trace the actual value written if it's
670         not the same as what was given.
671         (cgen_set_cr_value): Ditto.
672         * mep-cop1-16-sem.cxx: Regenerated.
673         * mep-cop1-48-sem.cxx: Regenerated.
674         * mep-cop1-64-sem.cxx: Regenerated.
675         * mep-core1-sem.cxx: Regenerated.
676         * mep.cxx: Regenerated.
677
678 2004-02-24  Dave Brolley  <brolley@redhat.com>
679
680         * mep.cxx (opt_reg_value): OPT.DBG is now always zero.
681
682 2004-02-23  Dave Brolley  <brolley@redhat.com>
683
684         * mep.h (insn_option_types): Remove WWTC and DUO.
685         (warn_write_to_code): New member of mep_cpu_cgen.
686         (dsp_user_out): Ditto.
687         (hwe_option): Ditto.
688         (config_index): Ditto.
689         (step_one_insn): Use dsp_user_out.
690         * mep.cxx (mep_cpu): Initialize config_index, warn_write_to_code,
691         dsp_user_out and hwe_option. "warn-write-to-code-option?" now mapped to
692         warn_write_to_code. "dsp-user-out-option?" dsp_user_out. Add new
693         attributes, "hwe_option? and "config-index"".
694         (opt_reg_value): Set bit 26 based on hwe_option.
695         (write_to_code_pin_handler): Use warn_write_to_code.
696         (check_write_to_text): Ditto.
697         (dbg_get_reg): Use register number 100 as the config index register.
698
699 2004-02-19  Dave Brolley  <brolley@redhat.com>
700
701         * mep.cxx (do_ldcb): Issue warning if read status is not
702         sid::bus::ok.
703         (do_stcb): Ditto for write status.
704
705 2004-02-18  Dave Brolley  <brolley@redhat.com>
706
707         * mep.cxx (do_smcp): Output trace results.
708
709 2004-02-16  Dave Brolley  <brolley@redhat.com>
710
711         * mep.h (insn_options_types): Add DUO.
712         (step_one_insn): Check insn_options[DUO].
713         * mep.cxx (mep_cpu): Add "dsp-user-out-option?" attribute.
714
715 2004-01-30  Dave Brolley  <brolley@redhat.com>
716
717         * mep.cxx (nmi_exception): Correct NMI vector address.
718
719 2003-12-03  Dave Brolley  <brolley@redhat.com>
720
721         * mep.h (zap_required): New member of mep_cpu.
722         (zap_scaches): No longer takes 'addr' argument.
723         * mep.cxx (mep_cpu): Initialize zap_required.
724         (write_to_code_pin_handler): Set zap_required rather than calling
725         zap_scaches here.
726         (step_insns): Call zap_scaches here if required.
727
728 2003-11-19  Dave Brolley  <brolley@redhat.com>
729
730         * mep.h (check_option_cp64): New method of mep_cpu.
731         * mep-core1-decode.cxx,mep-core1-sem.cxx: Regenerated.
732         * mep-decode.cxx,mep-sem.cxx: Regenerated.
733         * mep-desc.h: Regenerated.
734
735 2003-10-26  Dave Brolley  <brolley@redhat.com>
736
737         * mep-core-decode.cxx,mep-cop1-{16,48,64}-decode.cxx:
738         Regenerated.
739
740 2003-10-22  Richard Sandiford  <rsandifo@redhat.com>
741
742         * Makefile.am (mep-core*): Add .cpu file to CGEN.sh invocation.
743         (mep-cop*, mep-cpudesc, mep-decsemsdfs): Likewise.
744         * Makefile.in: Regenerated.
745
746 2003-10-10  Dave Brolley  <brolley@redhat.com>
747
748         * mep.cxx (step_insns): When handling a DSP exception,
749         save the pc and set the status to SEM_STATUS_BRANCH_TAKEN.
750
751 2003-10-10  Dave Brolley  <brolley@redhat.com>
752
753         For Stan Cox  <scox@redhat.com>
754         * mep.h (step_one_insn): Don't disassemble dsp instructions.
755
756 2003-10-10  Dave Brolley  <brolley@redhat.com>
757
758         * mep.h (done_insn): Restore trace_result_p.
759         * mep.cxx (mep_cpu): Initialize saved_trace_result_p.
760         (do_DSP): Save trace_result_p in trace_result_p_cache and
761         set it to false.
762         (saved_trace_result_p): New member of mep_cpu.
763         (trace_result_p_cache): Ditto.
764
765 2003-10-10  Dave Brolley  <brolley@redhat.com>
766
767         * mep.cxx (mep_cpu): Initialize write_to_code_pin, stepping. Add
768         "write-to-code-address" pin. Remove "warn-write-to-code" pin.
769         (write_to_code_pin_handler): New method of mep_cpu.
770         (step_insns): Don't drive warn_write_to_code_pin. Set/reset
771         'stepping' instead.
772         * mep.h (write_to_code_pin_handler): New method of mep_cpu.
773         (write_to_code_pin): New member of mep_cpu.
774         (stepping): Ditto.
775         (zap_scaches): New member of mep_cpu and mep_cpu_vliw.
776
777 2003-10-10  Dave Brolley  <brolley@redhat.com>
778
779         * mep.h (warn_write_to_code_pin): New member of mep_cpu.
780         * mep.cxx (mep_cpu): Add pin "warn-write-to-code"
781         (textSegmentAddress): Removed declaration.
782         (check_write_to_text): Don't call textSegmentAddress.
783         (step_insns): Drive warn_write_to_code_pin before and after
784         stepping.
785
786 2003-10-10  Dave Brolley  <brolley@redhat.com>
787         For Jim Blandy  <jimb@redhat.com>
788         Fix more locations that assume only 16 coprocessor control
789         registers.
790         * mep.cxx (mep_cpu, dbg_set_reg, reset): MeP V1.5 has 64
791         coprocessor control registers, not 16, for 144 registers in total,
792         not 96.
793
794 2003-10-10  Dave Brolley  <brolley@redhat.com>
795         For Jim Blandy  <jimb@redhat.com>
796         * mep.cxx (dbg_get_reg): There are 64 coprocessor control registers.
797
798 2003-10-10  Dave Brolley  <brolley@redhat.com>
799
800         For Stan Cox  <scox@redhat.com>
801         * mep.h (mep_cpu): New pin dsp-cycles.
802         * mep.cxx (mep_cpu): Likewise.
803         (do_DSP): Call update_total_latency.
804
805 2003-10-10  Dave Brolley  <brolley@redhat.com>
806
807         For Stan Cox  <scox@redhat.com>
808         * mep-sem.cxx: Regenerated.
809         * mep-core1-sem.cxx: Regenerated.
810
811 2003-10-10  Dave Brolley  <brolley@redhat.com>
812
813         * mep.cxx (step_insns): Save pc when stalled.
814
815 2003-10-10  Dave Brolley  <brolley@redhat.com>
816
817         * mep_basic.h (mep_basic): New method: core_model_step_latency.
818         * mep_ext1.h (mep_basic): New method: core_model_step_latency.
819         * mep.h (pending_fetch_latency): New member of mep_cpu_vliw.
820         (step_one_insn): Count insn fetch latency as part of the
821         the execution cycles of the insn which is delayed.
822         * common_model.h (class mep_common_model): New virtual override for
823         model_insn_before. step_latency now public.
824
825 2003-10-10  Dave Brolley  <brolley@redhat.com>
826
827         * mep.cxx (imem_address): New method of mep_cpu.
828         (check_write_to_text): Use imem_address.
829         * mep.h (imem_address): New method of mep_cpu.
830         (rcfg): New register number.
831
832 2003-10-07  Dave Brolley  <brolley@redhat.com>
833
834         For Stan Cox  <scox@redhat.com>
835         * mep.cxx (check_write_to_text): Tweak warning message.
836
837 2003-10-10  Dave Brolley  <brolley@redhat.com>
838
839         * mep_basic.h,mep_ext1.h (model_before): Update cpu latency and return
840         number of stall cycles.
841         (my_core_model): Provide new SCACHE argument.
842         * mep.h (step_one_insn): Move tracing to here. Delay until we know
843         we're not stalled. Call this->model_before for core insn.
844         * mep.cxx (config.h): #include it.
845         (step_insns): Handle SEM_STATUS_STALLED. Move tracing to step_one_insn.
846         * common_model.h (current_stall): New member of mep_common_model.
847         (save_total_latency): Ditto.
848         (gpr_busy): Ditto.
849         (num_gpr): Ditto.
850         (mep_common_model): Initialize gpr_busy.
851         (model_before): Return current_stall.
852         (model_u_use_gpr_before): New method.
853         (model_u_branch_after): Ditto.
854         (model_u_load_gpr_after): Ditto.
855         (model_u_mul_gpr_after): Ditto.
856         (step_latency): Ditto.
857         (set_gpr_busy): Ditto.
858         * common_model.cxx (config.h): #include it.
859         (all templates): New argument SCACHE added.
860         (model_u_use_gpr_before): New method.
861         (model_u_branch_after): Ditto.
862         (model_u_load_gpr_after): Ditto.
863         (model_u_mul_gpr_after): Ditto.
864         (step_latency): Ditto.
865         * Makefile.am (INCLUDES): Add -I..
866         * Makefile.in Regenerated.
867         * mep{,-core,-cop}*-{decode,sem,model}.{cxx,h}: Regenerated.
868
869 2003-10-07  Dave Brolley  <brolley@redhat.com>
870
871         For Stan Cox  <scox@redhat.com>
872         * mep.cxx (check_write_to_text): New method.
873         * mep.h (check_write_to_text): Likewise.
874         * mep-core1-sem.cxx: Regenerated after check_write_to_text change.
875         * mep-sem.cxx: Likewise.
876
877 2003-10-07  Dave Brolley  <brolley@redhat.com>
878
879         * mep.h (dummy_scache,dummy_idesc): Moved here from mep_basic.h.
880         * mep_basic.h (dummy_scache,dummy_idesc): Moved to mep.h.
881         (mep_basic.cpu): Remove *model*before and cop*model* methods.
882         * mep_ext1.h: Now generated by CGEN.
883         * common_model.cxx: Remove references to mep_ext[2-12]. Add
884         MeP-Integrator for generating these as necessary. Add marks for
885         generated instantiations.
886         * Makefile.am (CPU_SOURCES): Remove mep-{core,cop}[2-12]*.
887         (CPU_TARGETS, CPU_LIST): New macros.
888         (CGEN_TARGETS): Use CPU_TARGETS.
889         mep-{core,cop}[2-12]*: Removed.
890         * Makefile.in: Regenerated.
891         * mep_ext[2-12].h: Removed.
892         * mep-{core,cop}[2-12]*: Removed.
893         * mep-{core,cop}1*: Regenerated.
894         * mep-*.{cxx,h}: Regenerated.
895
896 2003-10-07  Dave Brolley  <brolley@redhat.com>
897
898         * mep.h (disassemble): Maintain CGEN_ISA_MASK to pass to
899         cgen_bi_endian_cpu::disassemble.
900         * Makefile.am (libmep_la_SOURCES): Add mep-{core,cop}[7-12]*.{cxx,h}.
901         (CGEN_TARGETS): Add mep-{core,cop}[7-12]*.
902         (mep-cpudesc): Add ext_{core,cop}[7-12]*.
903         (mep-{core,cop}[7-12]): New targets.
904         * Makefile.in: Regenerated.
905         (mep-{core,cop}*-decode.cxx): Regenerated.
906         (mep-cpu.h): Regenerated.
907         (mep-desc.h): Regenerated.
908         (mep-{core,cop}[7-12]*.{cxx.h}): New files.
909
910 2003-10-07  Dave Brolley  <brolley@redhat.com>
911
912         For Frank Ch. Eigler  <fche@redhat.com>
913         * mep.cxx (mep_cpu ctor): Add new uci/dsp pins.
914         (do_DSP, do_UCI): New functions.
915         (reset): Clear new dsp_exception_pending_p flag.
916         (step_insns): Handle new flag.
917         * mep.h: Corresponding changes.
918
919 2003-10-07  Dave Brolley  <brolley@redhat.com>
920
921         For Anthony Green  <green@redhat.com>
922         * mep.cxx (cgen_set_csr_value): Fix SAR write mask.
923
924 2003-06-27  Dave Brolley  <brolley@redhat.com>
925
926         * common_model.h (divide_busy): New member of mep_common_model.
927         (multiply_busy): Ditto.
928         (ldcb_busy): Ditto.
929         (ctrl_reg_busy): Ditto.
930         (model_u_ldcb_before, model_u_divide_before, model_u_multiply_before) 
931         (model_u_use_ctrl_reg_before, model_u_multiply_after) 
932         (model_u_stcb_after, model_u_divide_after) 
933         (model_u_ldcb_gpr_after): New methods of mep_common_model..
934         (set_ctrl_reg_busy, set_divide_busy, set_multiply_busy)
935         (set_ldcb_busy, set_current_stall, u_exec_cycles): New methods of
936         mep_common_model..
937         (CTRL_HI, CTRL_LO, num_ctrl_reg): New constants.
938         * common_model.cxx (model_u_ldcb_before): New method.
939         (model_u_divide_before, model_u_multiply_before) 
940         (model_u_use_ctrl_reg_before, model_u_multiply_after) 
941         (model_u_stcb_after, model_u_divide_after) 
942         (model_u_ldcb_gpr_after): New methods.
943         (all methods): Use set_current_stall. Use u_exec_cycles to get
944         the insns execution cycles.
945         (step_latency): Return immediately if there's no latency. Track
946         latency for control regs, multiply divide and stcb.
947
948 2003-06-25  Dave Brolley  <brolley@redhat.com>
949
950         * mep.cxx (ri_exception): Zero PSW.IEC and PSW.UMP before ORing in the
951         new value.
952         (hw_int_exception, swi_exception, break_exception) 
953         (zdiv_exception, cop_exception, dsp_exception): Ditto.
954
955 2003-04-22  Dave Brolley  <brolley@redhat.com>
956
957         * mep.h (step_one_insn): Call model_insn_{before,after} only for the
958         core model using information from the core and coprocessor models.
959         Don't call model_before at all.
960
961 2003-04-16  Dave Brolley  <brolley@redhat.com>
962
963         * mep.h (step_one_insn): Call *_model_insn_{before,after} and
964         model_{before,after} for each VLIW insn executed.
965         * Makefile.am (libmep_la_SOURCES): Add *model.cxx.
966         (mep-{core,cop}-*): Generate model.cxx and model.h.
967         * Makefile.in: Regenerated.
968         * mep_basic.h (mep_basic_cpu): Add a mep_common_model and
969         *model_*{before,after} methods.
970         * mep_ext*.h: Ditto.
971         * mep-*: Regenerated.
972         * common_model.cxx: New file.
973         * common_model.h: New file.
974         * mep-*-model.{cxx,h}: New files.
975
976 2003-01-28  Dave Brolley  <brolley@redhat.com>
977
978         * mep.cxx (mep_cpu): Initialize sleeping_p.
979         (interrupt_pin_handler): Test sleeping_p. Fall through to normal
980         handling when waking up.
981         (nmi_pin_handler): Ditto.
982         (do_sleep): New method of mep_cpu.
983         (step_insns): Test sleeping_p.
984         * mep.h (sleeping_p): New member of mep_cpu.
985         (do_sleep): New method of mep_cpu.
986         (mep-core*-sem.cxx, mep-sem.cxx): Regenerated.
987
988 2002-11-29  Ben Elliston  <bje@redhat.com>
989
990         * mep.h (mep_cpu::print_insn_summary): New overriding method.
991         * hw-cpu-mep.txt: Regenerate for common-xml changes.
992
993 2002-11-28  Dave Brolley  <brolley@redhat.com>
994
995         * mep-ALL-sem.cxx, mep-ALL-decode.*: Regenerate.
996
997 2002-11-22  Ben Elliston  <bje@redhat.com>
998
999         * mep-ALL-sem.cxx, mep-ALL-decode.*: Regenerate.
1000
1001 2002-11-22  Dave Brolley  <brolley@redhat.com>
1002
1003         * mep.cxx (mep_cpu): Initialize data_bus_width and num_timer_channels.
1004         Add data-bus-width and num-timer-channels attributes.
1005         (opt_reg_value): Compute values of TCN, BIS and LBS fields.
1006         * mep.h (data_bus_width): New member of mep_cpu.
1007         (num_timer_channels): Ditto.
1008
1009 2002-11-22  Frank Ch. Eigler  <fche@redhat.com>
1010
1011         * mep.cxx (vector_base_address): Remove default value in formal args.
1012
1013 2002-11-11  Frank Ch. Eigler  <fche@redhat.com>
1014
1015         * hw-cpu-mep.txt: Regenerated.
1016
1017 2002-09-19  Alexandre Oliva  <aoliva@redhat.com>
1018
1019         * Makefile.am (cgen-all): Break it up into multiple...
1020         (CGEN_TARGETS): ... listed here.
1021
1022 2002-09-11  Dave Brolley  <brolley@redhat.com>
1023
1024         * mep.cxx (interrupt_pin_handler): Use h_csr_set_internal.
1025         (interrupt_pin_handler): Ditto.
1026         (nmi_pin_handler): Ditto.
1027         (ri_exception): Ditto.
1028         (nmi_exception): Ditto.
1029         (hw_int_exception): Ditto.
1030         (swi_exception): Ditto.
1031         (break_exception): Ditto.
1032         (zdiv_exception): Ditto.
1033         (cop_exception): Ditto.
1034         (dsp_exception): Ditto.
1035         (step_insns): Ditto.
1036         * mep.h (h_csr_set_internal): New method of mep_cpu.
1037         * mep-core[1-6]-decode.cxx,-sem.cxx: Regenerated.
1038         * mep-decode.cxx,-sem.cxx: Regenerated.
1039
1040 2002-09-08  Anthony Green  <green@redhat.com>
1041
1042         * mep.cxx (cgen_set_csr_value): Handle r/w type for SAR, RPB, PSW,
1043         EXC and DBG.
1044
1045 2002-07-19  Jim Wilson  <wilson@redhat.com>
1046
1047         * mep.cxx (mep_cpu::step_insns): Do not set repeat_delayed_branch to
1048         true if second to last insn is a taken branch.
1049
1050 2002-07-16  Dave Brolley  <brolley@redhat.com>
1051
1052         * mep.h (mep_cpu): Add cache_flush_and_invalidate_pin and
1053         cache_index_flush_and_invalidate_pin.
1054         * mep.cxx (mep_cpu): Add cache-flush-and-invalidate and
1055         cache-index-flush-and-invalidate pins.
1056         (do_cache): Drive the cache_flush_and_invalidate_pin and
1057         cache_index_flush_and_invalidate_pin.
1058
1059 2002-06-28  Dave Brolley  <brolley@redhat.com>
1060
1061         * mep.h (check_option_dcache): New method.
1062
1063 2002-06-24  Ben Elliston  <bje@redhat.com>
1064
1065         * Makefile.am (CGENDEPS): Remove dependency on stamp-cgen.
1066
1067 2002-06-08  Ben Elliston  <bje@redhat.com>
1068
1069         * mep.h (mep_cpu::do_cache): New method.
1070         (mep_cpu::cache_flush_pin): New pin.
1071         (mep_cpu::cache_index_flush_pin): Likewise.
1072         (mep_cpu::cache_invalidate_pin): Likewise.
1073         (mep_cpu::cache_index_invalidate_pin): Likewise.
1074         * mep.cxx (mep_cpu constructor): Add pins for "cache-flush",
1075         "cache-index-flush", "cache-invalidate", "cache-index-invalidate".
1076         (mep_cpu::do_cache): Implement.
1077
1078 2002-06-07  Ben Elliston  <bje@redhat.com>
1079
1080         * mep.cxx (mep_cpu::invalid_insn): Handle RI exceptions correctly.
1081
1082 2002-05-23  Graydon Hoare  <graydon@redhat.com>
1083             Jim Wilson  <wilson@redhat.com>
1084
1085         * mep.h (mep_cpu::repeat_delayed_branch): New member.
1086         * mep.cxx (step_insns): Overhaul.
1087
1088 2002-05-21  Graydon Hoare  <graydon@redhat.com>
1089
1090         * mep.cxx (step_insns): Add CPU ID counter to listing when
1091         --trace-counter is enabled.
1092
1093 2002-05-07  Dave Brolley  <brolley@redhat.com>
1094
1095         * mep.cxx (mep_cpu): Add cop-data-bus-width attribute.
1096         (cgen_set_cr_value): New set handler for h-cr.
1097         (do_smcp): New function.
1098         (do_lmcp): Ditto.
1099         (do_smcpa): Ditto.
1100         (do_lmcpa): Ditto.
1101         (do_smcpi): Ditto.
1102         (do_lmcpi): Ditto.
1103         (do_smcp16): Ditto.
1104         (do_lmcp16): Ditto.
1105         * mep.h (cgen_set_cr_value): New set handler for h-cr.
1106         (do_smcp): New function.
1107         (do_lmcp): Ditto.
1108         (do_smcpa): Ditto.
1109         (do_lmcpa): Ditto.
1110         (do_smcpi): Ditto.
1111         (do_lmcpi): Ditto.
1112         (do_smcp16): Ditto.
1113         (do_lmcp16): Ditto.
1114         (cop_data_bus_width): New data member.
1115
1116 2002-05-06  Ben Elliston  <bje@redhat.com>
1117
1118         * mep.cxx (mep_cpu::reset): Go beneath h_csr_set() function to
1119         ensure that even read-only bits are initialised correctly.
1120
1121 2002-04-30  Graydon Hoare  <graydon@redhat.com>
1122
1123         * mep.cxx (mep_cpu): Initialize all options to false.
1124
1125 2002-04-01  DJ Delorie  <dj@redhat.com>
1126
1127         * mep-ALL-sem.cxx, mep-ALL-decode.*: Regenerate.
1128
1129 2002-03-21  Graydon Hoare  <graydon@redhat.com>
1130
1131         * mep.h (mep): Add hooks for mepcfgtool to include DSP/UCI code.
1132
1133 2002-03-20  Graydon Hoare  <graydon@redhat.com>
1134
1135         * mep-ALL-decode.*: Regenerate with ldc_hi/lo/lp constant field fix.
1136
1137 2002-03-19  Graydon Hoare  <graydon@redhat.com>
1138
1139         * mep-ALL-sem.cxx, mep-ALL-decode.*: Regenerate with aldc
1140         typo correction.
1141
1142 2002-03-17  Graydon Hoare  <graydon@redhat.com>
1143
1144         * mep-ALL-sem.cxx, mep-ALL-decode.*: Regenerate with special
1145         ldc/stc variants.
1146
1147 2002-03-14  Ben Elliston  <bje@redhat.com>
1148
1149         * hw-cpu-mep.txt: Regenerate with recent common-xml changes.
1150
1151 2002-03-11  Frank Ch. Eigler  <fche@redhat.com>
1152
1153         * mep.h, mep.cxx: Add insn-cache-enable/data-cache-enable pins.
1154         (update_cache_pins): New functions.  Add some callers.
1155         (cgen_get_csr_value, cgen_set_csr_value): New functions.
1156         * mep-ALL-sem.cxx, mep-ALL-decode.*, mep-cpu.h: Regenerated with
1157         graydon's attribute changes and h-csr access changes.
1158
1159 2002-02-27  Ben Elliston  <bje@redhat.com>
1160
1161         * mep.h (mep_cpu::ri_exception_p): New member.
1162         * mep.cxx (mep_cpu::mep_cpu): Initialise raise_ri_exception_p.
1163         Bind a new "raise-ri-exception?" attribute to this variable.
1164         (mep_cpu::invalid_insn): If raise_ri_exception_p is set via
1165         configuration, then invoke the RI exception handler, otherwise
1166         signal cpu_trap_invalid_insn as usual.
1167         * hw-mep-cpu.xml: Document "raise-ri-exception?" attribute.
1168
1169 2002-02-26  Ben Elliston  <bje@redhat.com>
1170
1171         * mep.cxx (mep_cpu::ri_exception): Set EPC.ETOM to PSW.OM. Clear
1172         PSW.OM to go into core mode when handling exceptions.
1173         (mep_cpu::hw_int_exception): Likewise.
1174         (mep_cpu::swi_exception): Likewise.
1175         (mep_cpu::break_exception): Likewise.
1176         (mep_cpu::zdiv_exception): Likewise.
1177         (mep_cpu::cop_exception): Likwise.
1178         (mep_cpu::dsp_exception): Likewise.
1179         (mep_cpu::nmi_exception): Set NPC.NTOM to PSW.OM. Clear PSW.OM to
1180         go into core mode when handling exceptions.
1181
1182         * mep-sem.cxx: Regenerate with today's mep-core.cpu reti fix.
1183
1184 2002-02-19  Graydon Hoare  <graydon@redhat.com>
1185
1186         * mep.cxx (mep_cpu): Drive -1 (no interrupts) on interrupt pin,
1187         at startup.
1188         (interrupt_pin_handler): Test HIE and IEC separately.
1189         (step_insns): Sense interrupt line on each iteration.
1190
1191 2002-02-06  Frank Ch. Eigler  <fche@redhat.com>
1192
1193         * mep_basic.h: Reordered declarations for more compiler compatibility.
1194
1195 2002-02-04  Frank Ch. Eigler  <fche@redhat.com>
1196
1197         * Makefile.am: Generate and build all mep-cop* and mep-core* sources.
1198         * Makefile.in: Regenerated.
1199         * mep-core*, mep-cop*: New generated files.
1200         * mep-decode.*, mep-sem.cxx, mep-defs.h, mep-desc.h: Regenerated.
1201         * mep_ext[1-6].h: New files.
1202         * mep.h, mep.cxx: Reorganized for multiple-core configuration.
1203
1204 2002-01-03  Don Howard  <dhoward@redhat.com>
1205
1206         * mep.cxx (mep_cpu): Increase the number of registers to include
1207         copro and copro control registers.
1208
1209 2002-01-02  Don Howard  <dhoward@redhat.com>
1210
1211         * mep.cxx (dbg_set_reg): Fixed register number range check.
1212
1213 2001-12-27  Frank Ch. Eigler  <fche@redhat.com>
1214
1215         * mep.cxx (flush_icache): New PC-taking variant function.
1216         (step_insns): Remove duplicate trace_counter call.
1217         * mep.h (flush_icache): Matching declaration.
1218
1219 2001-12-14  Frank Ch. Eigler  <fche@redhat.com>
1220
1221         * mep.h (mep_cpu): Add new engine_bundling member; remove
1222         branch_taken_p; rename engine -> engine_core.
1223         (mep_insn_bundling): New enum.
1224         (branch, done_insn, done_cti_insn): Rewrite.
1225         * mep.cxx (mep_cpu ctor): Update for field changes.
1226         (reset): Clear cr[] and ccr[].
1227         (flush_icache): Flush bundling cache.
1228         (decode_bundling): New function.
1229         (step_insns): Rewrite inner loop.
1230         * mep-decode.cxx, -sem.cxx: Regenerated.
1231
1232 2001-12-11  Ben Elliston  <bje@redhat.com>
1233
1234         * mep-decode.cxx: Regenerate.
1235
1236 2001-12-10  Ben Elliston  <bje@redhat.com>
1237
1238         * mep-decode.cxx, mep-sem.cxx: Regenerate.
1239
1240 2001-12-08  Ben Elliston  <bje@redhat.com>
1241
1242         * mep.cxx (hw_int_exception): Clean up trace output.
1243         (ri_exception): Likewise.
1244         (nmi_exception): Likewise.
1245         (swi_exception): Likewise.
1246         (break_exception): Likewise.
1247         (zdiv_exception): Likewise.
1248
1249 2001-12-07  Frank Ch. Eigler  <fche@redhat.com>
1250
1251         * mep.cxx (mep_cpu ctor): Leave VL32 unset and clear CCFG.
1252
1253 2001-12-05  Frank Ch. Eigler  <fche@redhat.com>
1254
1255         * mep.cxx (dsp_exception): New function.
1256         * mep.h (*_exception): Take simple PCADDR arg type.
1257
1258 2001-12-04  Ben Elliston  <bje@redhat.com>
1259
1260         * mep.h (mep_cpu::interrupt_channel): New member.
1261         (mep_cpu::hip_p): New method.
1262         * mep.cxx (mep_cpu ctor): Initialise interrupt_pending_p,
1263         interrupt_channel members.
1264         (interrupt_pin_handler): Guard against bad pin values.  For
1265         inactive and active pin activity, set PSW.HIP accordingly.
1266         (vector_base_address): Re-write.
1267
1268 2001-12-04  Frank Ch. Eigler  <fche@redhat.com>
1269
1270         * mep.h (insn_option_type): VL32, VL64: Add.
1271         * mep.cxx (mep_cpu ctor, opt_reg_value): Handle VL32/VL64 options.
1272
1273 2001-11-19  Ben Elliston  <bje@redhat.com>
1274
1275         * mep.cxx (zdiv_exception): Set EXC.EXC.
1276
1277 2001-11-16  John Healy  <jhealy@redhat.com>
1278
1279         * mep-cop1-48-sem.cxx, mep-cop1-48-decode.cxx: Regenerated.
1280
1281 2001-11-16  John Healy  <jhealy@redhat.com>
1282
1283         * mep-cop1-32-decode.cxx, mep-cop1-32-decode.h, mep-cop1-32-sem.cxx,
1284         mep-cop1-48-decode.cxx, mep-cop1-48-decode.h, mep-cop1-48-sem.cxx:
1285         Regenerated.
1286
1287 2001-11-14  John Healy  <jhealy@redhat.com>
1288
1289         * mep-desc.h: Regenerated.
1290
1291 2001-11-14  John Healy  <jhealy@redhat.com>
1292
1293         * mep-cop{2,3,4,5,6,7}-32*: New files.
1294         * Makefile.am: Added targets for generation of files for coprocessors
1295         2 through 7.  Commented out all but those related to 32-bit ISAs since
1296         no other ISAs are used at this time in the coprocessor definitions.
1297         * Makefile.in: Regenerated.
1298         * mep.cxx (step_insns): Cleaned up tracing a bit.  Fixed error in
1299         instruction execution logic.
1300         (mep_cpu::mep_cpu): Added initializations for scache engines for 
1301         ISAs involving 32-bit insns in coprocessors 2 through 7.  Left
1302         commented out since support is not complete.
1303         (mep_cpu::flush_icache): Flush 32-bit engines for coprocessors 2
1304         through 7.  Also left commented out for now.
1305         * mep.h (mep_cpu): Added scache engines for ISAs involving 32-bit
1306         insns in coprocessors 2 through 7.  Also left commented out for now.
1307         * mep-cop1-64-decode.cxx, mep-cop1-64-decode.h, mep-cop1-64-sem.cxx:
1308         Regenerated
1309
1310 2001-11-13  Ben Elliston  <bje@redhat.com>
1311  
1312         * mep.cxx (ri_exception, hw_int_exception, break_exception,
1313         zdiv_exception, cop_exception): Fix thinko when moving PSW.UMC to
1314         PSW.UMP. Tidy trace output.
1315  
1316 2001-11-08  Frank Ch. Eigler  <fche@redhat.com>
1317
1318         * mep-*: Regenerated.
1319
1320 2001-11-07  Frank Ch. Eigler  <fche@redhat.com>
1321
1322         * mep.cxx (vector_base_address): Correct evm/eva bit extraction typos.
1323
1324 2001-11-06  John Healy  <jhealy@redhat.com>
1325
1326         * mep.cxx (step_insns): Added vliw support.
1327         (mep_cpu::mep_cpu): Initialize corpocessor scache engines.
1328         (mep_cpu::flush_icache): Flush coprocessor engines.
1329         * mep.h (mep_cpu): Added scache engines for coprocessor isas.
1330
1331 2001-11-01  John Healy  <jhealy@redhat.com>
1332
1333         * Makefile.am: Added new targets to generate cop1-specific files .
1334         * Makefile.in: Regenerated.
1335         * mep-cop1-16-decode.cxx: New file.
1336         * mep-cop1-16-decode.h: Ditto.
1337         * mep-cop1-16-defs.h: Ditto.
1338         * mep-cop1-16-sem.cxx: Ditto.
1339         * mep-cop1-32-decode.cxx: Ditto.
1340         * mep-cop1-32-decode.h: Ditto.
1341         * mep-cop1-32-defs.h: Ditto.
1342         * mep-cop1-32-sem.cxx: Ditto.
1343         * mep-cop1-48-decode.cxx: Ditto.
1344         * mep-cop1-48-decode.h: Ditto.
1345         * mep-cop1-48-defs.h: Ditto.
1346         * mep-cop1-48-sem.cxx: Ditto.
1347         * mep-cop1-64-decode.cxx: Ditto.
1348         * mep-cop1-64-decode.h: Ditto.
1349         * mep-cop1-64-defs.h: Ditto.
1350         * mep-cop1-64-sem.cxx: Ditto.
1351         * mep.h: Regenerated.
1352
1353 2001-10-30  John Healy  <jhealy@redhat.com>
1354
1355         * mep-decode.cxx, mep-desc.h: Regenerated.
1356
1357 2001-10-29  Frank Ch. Eigler  <fche@redhat.com>
1358
1359         With Don Howard <dhoward@redhat.com>:
1360         * mep.cxx (dbg_get/set_reg): Use h_*_get/set routines
1361         instead of direct h_*[] access.  Handle coprocessor registers.
1362
1363 2001-10-25  Frank Ch. Eigler  <fche@redhat.com>
1364
1365         * mep.cxx (ri_exception): Use correct exception vector.
1366
1367 2001-10-25  John Healy  <jhealy@redhat.com>
1368         
1369         * mep.cxx (mep_cpu::ri_exception): Added vliw handling.
1370         (mep_cpu::nmi_exception): Added vliw handling.
1371         (mep_cpu::hw_int_exception): Added vliw handling.
1372         (mep_cpu::swi_exception): Added vliw handling.
1373         (mep_cpu::break_exception): Added vliw handling. 
1374         (mep_cpu::zdiv_exception): Added vliw handling.
1375         (mep_cpu::cop_exception): New routine.
1376         * mep.h (mep_cpu): Added cop_exception member function.
1377         * mep-cpu.h, mep-decode.cxx, mep-desc.h, mep-sem.cxx: Regenerated.
1378         * mep-desc.h: Regenerated.
1379
1380 2001-10-24  Frank Ch. Eigler  <fche@redhat.com>
1381
1382         * mep.cxx (*_exception): Trace iff trace_result_p, not *_semantics_p.
1383
1384 2001-10-23  Frank Ch. Eigler  <fche@redhat.com>
1385
1386         * mep.h (swi_pending_p): Simplified & moved from here ...
1387         * mep.cxx: ... to here.
1388
1389 2001-10-04  Frank Ch. Eigler  <fche@redhat.com>
1390
1391         * mep-sem.cxx: Regenerated with trace_result_p change.
1392         * mep.cxx (step_insns): Revamp tracing logic.
1393
1394 2001-10-03  Frank Ch. Eigler  <fche@redhat.com>
1395
1396         * mep.cxx (reg): Eliminate weird static.  Fix users.
1397         (mep_cpu ctor): Standardize csr/gpr initialization.
1398         Export csrNN attributes.  Kill processor-id etc. attributes.
1399         Make syscall-NN alias attributes.
1400         (get_cache_size etc.): Remove attribute handler functions.
1401         (reset): Standardize csr reset.
1402         (invalid_insn): Defer to ri_exception() if trap_unhandled.
1403         (do-syscall): Simplify.
1404         (dbg_get_reg, dbg_set_reg): Support little-endian.
1405         (step_insns): Ditto for disassembly.
1406         * mep.h: Corresponding changes.
1407
1408 2001-09-27  John Healy  <jhealy@redhat.com>
1409
1410         * mep-desc.h: Regenerated.
1411
1412 2001-09-26  Ben Elliston  <bje@redhat.com>
1413
1414         * mep-decode.cxx: Regenerate.
1415         * mep-decode.h: Likewise.
1416         * mep-sem.cxx: Likewise.
1417
1418         * mep.cxx (mep_cpu::ri_exception): Set EXC correctly and improve
1419         the trace output for reserved instruction exception.
1420
1421 2001-09-25  Ben Elliston  <bje@redhat.com>
1422
1423         * mep-sem.cxx: Regenerate.
1424
1425 2001-09-24  Ben Elliston  <bje@redhat.com>
1426
1427         * mep.h (mep_cpu::branch_taken_p): New member.
1428         (mep_cpu::branch): Set branch_taken_p.
1429         * mep.cxx (mep_cpu ctor): Initialise branch_taken_p.
1430         (mep_cpu::step_insns): Simplify repeat block logic.
1431
1432 2001-09-21  Ben Elliston  <bje@redhat.com>
1433
1434         * mep.h (mep_cpu::get_processor_rev): New method.
1435         (mep_cpu::set_processor_rev): Likewise.
1436         * mep.cxx (mep_cpu ctor): Initialise ID and RCFG. Add a new
1437         "processor-rev" attribute.
1438         (mep_cpu::reset): Reset certain CSRs.
1439         (mep_cpu::get_processor_id): Implement.
1440         (mep_cpu::set_processor_id): Likewise.
1441
1442         * mep-cpu.h: Regenerate.
1443
1444 2001-09-20  Ben Elliston  <bje@redhat.com>
1445
1446         * mep.h (mep_cpu::swi_pending_p): Mask EXC register appropriately
1447         before applying it to the PSW. Move this function out of the class
1448         declaration and reformat for readability.
1449
1450 2001-09-20  Ben Elliston  <bje@redhat.com>
1451
1452         * mep-cpu.h: Regenerate.
1453         * mep.h (mep_cpu_cgen::opt_reg_value): New pure virtual function.
1454         (mep_cpu::opt_reg_value): Declare.
1455
1456         * mep.cxx (mep_cpu::opt_reg_value): Implement.
1457
1458 2001-09-19  Ben Elliston  <bje@redhat.com>
1459
1460         * mep-cpu.h: Regenerate.
1461
1462 2001-09-04  graydon hoare  <graydon@redhat.com>
1463
1464         * mep.h (debugger_bus_with_control_bus_vision): New class.
1465         (mep_cpu::debugger_bus): New member.
1466         * mep.cxx (mep_cpu ctor): Initialize it.
1467
1468 2001-08-17  Ben Elliston  <bje@redhat.com>
1469
1470         * mep.h (mep_cpu::hw_debugger_p): New member.
1471         * mep.cxx (mep_cpu ctor): Initialise it.
1472         (mep_cpu ctor): Add a "hardware-debugger?" attribute.
1473
1474 2001-08-16  graydon hoare  <graydon@redhat.com>
1475
1476         * Makefile.am: gcc -> $(CC) fix.
1477         * Makefile.in: Regenerate.
1478
1479 2001-08-15  graydon hoare  <graydon@redhat.com>
1480
1481         * Makefile.am: Add support for building and
1482         linking invididual objects from opcodes.
1483         * Makefile.in: Regenerate.
1484
1485 2001-08-15  Ben Elliston  <bje@redhat.com>
1486
1487         * mep-decode.cxx: Regenerate.
1488         * mep-sem.cxx: Likewise.
1489
1490 2001-08-10  Ben Elliston  <bje@redhat.com>
1491
1492         * mep.h (mep_cpu::{get,set}_cache_size): Declare.
1493         (mep_cpu::{get,set}_data_cache_size): Likewise.
1494         (mep_cpu::{get,set}_insn_cache_size): Likewise.
1495         * mep.cxx (mep_cpu ctor): Clear CCFG. Add two new virtual
1496         attributes: "insn-cache-size" and "data-cache-size".
1497         (mep_cpu::{get,set}_cache_size): Define.
1498         (mep_cpu::{get,set}_data_cache_size): Likewise.
1499         (mep_cpu::{get,set}_insn_cache_size): Likewise.
1500
1501         * mep-cpu.h: Regenerate.
1502
1503 2001-08-03  matthew green  <mrg@redhat.com>
1504
1505         * mep.h (dtor): Add throw() specifier.
1506
1507 2001-07-25  Frank Ch. Eigler  <fche@redhat.com>
1508
1509         * mep.cxx (dbg_{get,set}_reg): Handle regno16 == h_pc.
1510         (mep_cpu ctor): Fix expedited register list.
1511
1512 2001-07-25  Ben Elliston  <bje@redhat.com>
1513
1514         * mep.cxx (dbg_get_reg): Access target registers directly.
1515         (dbg_set_reg): Likewise.
1516
1517 2001-07-24  matthew green  <mrg@redhat.com>
1518
1519         * mep.cxx (do_ldcb, do_stcb): Rework to avoid GCC 2.95.3 errors.
1520
1521 2001-07-18  Ben Elliston  <bje@redhat.com>
1522
1523         * mep.cxx (reg): Give file scope.
1524         (mep_cpu constructor): Make "nmi" a watchable pin.
1525         (nmi_p): New method.  Use it in other methods, where applicable.
1526         (step_insns): Handle pending NMIs.
1527         * mep.h (nmi_p): New.
1528         (nmi_suspended_p): Likewise.
1529
1530 2001-07-13  John Healy  <jhealy@redhat.com>
1531
1532         * mep-decode.cxx: Regenerated.
1533         * mep-desc.h: Regenerated.
1534
1535 2001-07-13  Ben Elliston  <bje@redhat.com>
1536
1537         * Makefile.am (check-local): Rename target from "checkme".
1538
1539 2001-07-11  Frank Ch. Eigler  <fche@redhat.com>
1540
1541         * mep.cxx (step_insns): Fetch insn in 16-bit pieces.
1542         * mep-decode.cxx: Regen with funny-endian fixes.
1543         * mep-desc.h: Regen with ...INSN_CHUNK_BITSIZE... macro.
1544
1545 2001-07-11  Frank Ch. Eigler  <fche@redhat.com>
1546
1547         * hw-pu-mep.xml: Add <?xml ... ?> prefix.
1548
1549 2001-07-11  Frank Ch. Eigler  <fche@redhat.com>
1550
1551         * mep.cxx (dbg_set_reg): Correct regno>=16 case.
1552
1553 2001-07-09  Ben Elliston  <bje@redhat.com>
1554
1555         * mep.h (ri_exception): New method.
1556         (nmi_exception): Likewise.
1557         (npc): New enumerator.
1558         (halted_p): New method.
1559         (nmi_pin): New member.
1560         (nmi_pin_handler): New method.
1561         (nmi_suspended_p): New member.
1562         (swi_pending_p): Consider the state of PSW.NMI.
1563         * mep.cxx (mep_cpu constructor): Initialise nmi_pin.
1564         (reset): Clear nmi_suspended_p.
1565         (halted_p): New method.
1566         (interrupt_pin_handler): Test PSW.NMI.
1567         (nmi_pin_handler): Implement.
1568         (ri_exception): Likewise.
1569         (nmi_exception): Likewise.
1570         (hw_int_exception): Return vector, not @vector.
1571         (swi_exception): Likewise.
1572         (break_exception): Likewise.
1573         (zdvi_exception): Likewise.
1574         (step_insns): Check for NMI interrupts.
1575         * mep-decode.cxx: Regenerate.
1576         * mep-desc.h: Likewise.
1577         * mep-sem.cxx: Likewise.
1578         
1579 2001-07-04  graydon hoare  <graydon@redhat.com>
1580
1581         * configure.in: Add maintainer-mode doc building configury.
1582         * configure: Regenerate.
1583         * Makefile.am: Add maintainer-mode doc building.
1584         * Makefile.in: Regenerate.
1585
1586 2001-07-05  Ben Elliston  <bje@redhat.com>
1587
1588         * mep.h (hw_int_exception): New method.
1589         (swi_pending_p): Rename from "swi_pending".
1590         (interrupt_pin): New member.
1591         (interrupt_pending_p): Likewise.
1592         (interrupt_pin_handler): New method.
1593         * mep.cxx (mep_cpu constructor): Initialise interrupt_pin.
1594         (reset): Clear interrupt_pending_p.
1595         (interrupt_pin_handler): Implement.
1596         (hw_int_exception): Likewise.
1597         (step_insns): Handle any pending interrupts. Use swi_pending_p(),
1598         not the former swi_pending().
1599         * Makefile.am (DEJAGNUTESTS): Add mep-arch.exp.
1600         * Makefile.in: Regenerate.
1601
1602 2001-07-05  Ben Elliston  <bje@redhat.com>
1603
1604         * mep.h (swi_exception): New method.
1605         (reset_pin): Remove member.
1606         (reset_handler): Likewise.
1607         (swi_pending): New method.
1608         * mep.cxx (mep_cpu constructor): Don't initialise reset_pin.
1609         (reset_handler): Remove.
1610         (swi_exception): New method.
1611         (step_insns): Test for pending SWIs.
1612
1613 2001-07-04  Ben Elliston  <bje@redhat.com>
1614
1615         * Makefile.am (cgen-mep): Don't generate write.cxx after all.
1616         * Makefile.in: Regenerate.
1617         * mep-write.cxx: Remove.
1618         * mep-decode.cxx: Regenerate.
1619         * mep-decode.h: Likewise.
1620         * mep-defs.h: Likewise.
1621         * mep-sem.cxx: Likewise.
1622         
1623         * Makefile.am (pkgdata_DATA): Add hw-cpu-mep.txt.
1624         (cgen-mep): Generate write.cxx.
1625
1626         * Makefile.in: Regenerate.
1627         * mep-write.cxx: New file.
1628
1629         * hw-cpu-mep.txt: Generate.
1630
1631 2001-07-03  Ben Elliston  <bje@redhat.com>
1632
1633         * mep.h (zdiv_exception): New method.
1634         (break_exception): Likewise.
1635         (reset_pin): New callback_pin.
1636         (reset_handler): New method.
1637         (vector_base_address): Likewise.
1638         (psw, epc, exc, cfg): New enumerators.
1639         * mep.cxx (mep_cpu ctor): Initialise reset_pin. Add "reset" pin.
1640         (reset_handler): Implement.
1641         (vector_base_address): Likewise.
1642         (break_exception): Likewise.
1643         (zdiv_exception): Likewise.
1644         * mep-decode.cxx: Regenerate.
1645         * mep-desc.h: Likewise.
1646         * mep-sem.cxx: Likewise.
1647
1648 2001-07-02  Ben Elliston  <bje@redhat.com>
1649
1650         * mep.cxx (reset): Clear general purpose registers correctly.
1651
1652 2001-06-29  graydon hoare  <graydon@redhat.com>
1653
1654         * hw-cpu-mep.xml: Add.
1655
1656 2001-06-28  Jeff Johnston  <jjohnstn@redhat.com>
1657
1658         * mep.cxx (mep_cpu::memory_trap): Remove warning code that is under
1659         control of now removed flag debug_exec_p.
1660         * hw-cpu-mep.txt: Remove all debug-exec? references.
1661
1662 2001-06-26  Frank Ch. Eigler  <fche@redhat.com>
1663
1664         * Makefile.am (ACLOCAL_AMFLAGS): Refer to $srcdir.
1665         * Makefile.in: Regenerated.
1666
1667 2001-06-21  matthew green  <mrg@redhat.com>
1668
1669         * Makefile.am: Formatting consistency.
1670         * Makefile.in: Regenerate.
1671
1672 2001-06-20  matthew green  <mrg@redhat.com>
1673
1674         * Makefile.am (BFDINCLUDES): Set unconditionally.
1675         * mep.cxx: Remove CGEN_BFD_DISASSEMBLER conditional.  Do not
1676         #include "config.h".
1677         * configure.in (AM_CONFIG_HEADER, CY_SID_BFD_DISASM_CHECK): Delete.
1678         * config.in: Delete.
1679         * aclocal.m4: Regenerated.
1680         * configure: Likewise.
1681         * Makefile.in: Likewise.
1682
1683 2001-06-14  Frank Ch. Eigler  <fche@redhat.com>
1684
1685         * mep.cxx (dbg_get_reg, dbg_set_reg): Correct register number
1686         conversion when accessing CSRs (e.g., PC).
1687
1688 2001-06-14  Frank Ch. Eigler  <fche@redhat.com>
1689
1690         * mep.cxx (invalid_insn, memory_trap): Implement more completely.
1691
1692 2001-06-07  matthew green  <mrg@redhat.com>
1693
1694         * mep.cxx (step_insns): disassemble() method takes new name parameter.
1695
1696 2001-06-05  Ben Elliston  <bje@redhat.com>
1697
1698         * hw-cpu-mep.txt (accessors): Document "control-space" accessor.
1699
1700 2001-06-01  Ben Elliston  <bje@redhat.com>
1701
1702         * mep-decode.cxx: Regenerate.
1703
1704 2001-05-31  Ben Elliston  <bje@redhat.com>
1705
1706         * mep.cxx (mep_cpu::reset): Clear general purpose registers.
1707         (mep_cpu constructor): Add register attributes for g.p. registers.
1708         * hw-cpu-mep.txt: New file.
1709
1710 2001-05-30  matthew green  <mrg@redhat.com>
1711
1712         * Makefile.am (BFDINCLUDES): New variable conditional on
1713         CGEN_BFD_DISASSEMBLER, added on the end of $(INCLUDES).
1714         * configure.in: Call AM_CONFIG_HEADER(config.h:config.in).  Use
1715         CY_SID_BFD_DISASM_CHECK.
1716         * mep.cxx: Include "config.h". Add trace counter & trace disassembly
1717         support, the latter conditional on CGEN_BFD_DISASSEMBLER.  Convert
1718         trace_result_p to trace_semantics_p in C instruction implementations.
1719         * Makefile.in: Regenerated.
1720         * aclocal.m4: Likewise.
1721         * mep-sem.cxx: Likewise.
1722         * config.in: Likewise.
1723         * configure: Likewise.
1724
1725 2001-05-30  Ben Elliston  <bje@redhat.com>
1726
1727         * mep-cpu.h, mep-decode.cxx, mep-decode.h: Regenerate.
1728         * mep-sem.cxx: Likewise.
1729
1730         * mep.h (mep_cpu::big_endian_p): New method.
1731         (mep_cpu::get_processor_id): Likewise.
1732         (mep_cpu::set_processor_id): Likewise.
1733         * mep.cxx (mep_cpu constructor): Make "processor-id" a virtual
1734         attribute. Use get/set_processor_id methods. Initialise $id.
1735         (mep_cpu::reset): Zero all control/special registers.
1736         (mep_cpu::get_processor_id): Implement.
1737         (mep_cpu::set_processor_id): Likewise.
1738         (mep_cpu::step_insns): Add logic for repeat blocks.
1739
1740 2001-05-29  Ben Elliston  <bje@redhat.com>
1741
1742         * mep.cxx (mep_cpu::mep_cpu): Register a number of "syscall-argN",
1743         "syscall-result", "syscall-error" and "syscall-trap" attributes.
1744         (mep_cpu::do_syscall): Rewrite to use sw-gloss-generic/libgloss.
1745         * mep.h (mep_cpu::do_syscall): Include pc in params.
1746         (mep_cpu::syscall_arg0): New member.
1747         (mep_cpu::syscall_arg1): Likewise.
1748         (mep_cpu::syscall_arg2): Likewise.
1749         (mep_cpu::syscall_arg3): Likewise.
1750         (mep_cpu::syscall_error): Likewise.
1751         (mep_cpu::syscall_result): Likewise.
1752         (mep_cpu::syscall_trap_num): Likewise.
1753         
1754 2001-05-25  Ben Elliston  <bje@redhat.com>
1755
1756         * mep.h (mep_cpu::do_swi): Rename from this ..
1757         (mep_cpu::do_syscall): .. to this.
1758         * mep.cxx: Likewise.
1759         * mep-decode.cxx, mep-decode.h, mep-sem.cxx: Regenerate.
1760         
1761         * mep.h (mep_cpu::check_option): New method.
1762         (mep_cpu::check_option_abs): Likewise.
1763         (mep_cpu::check_option_ave): Likewise.
1764         (mep_cpu::check_option_bit): Likewise.
1765         (mep_cpu::check_option_clip): Likewise.
1766         (mep_cpu::check_option_cp: Likewise.
1767         (mep_cpu::check_option_debug): Likewise.
1768         (mep_cpu::check_option_div): Likewise.
1769         (mep_cpu::check_option_dsp): Likewise.
1770         (mep_cpu::check_option_ldz): Likewise.
1771         (mep_cpu::check_option_minmax): Likewise.
1772         (mep_cpu::check_option_mul): Likewise.
1773         (mep_cpu::check_option_sat): Likewise.
1774         (mep_cpu::check_option_uci): Likewise.
1775
1776         * mep-decode.cxx, mep-sem.cxx: Regenerate.
1777
1778 2001-05-24  Ben Elliston  <bje@redhat.com>
1779
1780         * mep.h (mep_cpu::insn_option_types): Enumerate.
1781         (mep_cpu::insn_options): New member.
1782         * mep.cxx (mep_cpu constructor): Add attributes for the optional
1783         instruction classes. Enable these options by default.
1784
1785 2001-05-24  Ben Elliston  <bje@redhat.com>
1786
1787         * mep.h (mep_cpu::delayed_branch): Remove.
1788         (mep_cpu::delay_slot_p): Remove.
1789         (mep_cpu::do_ldcb): New method.
1790         (mep_cpu::do_stcb): Likewise.
1791         (mep_cpu::control_bus): New member.
1792         (mep_cpu): Move private members beneath public ones.
1793         * mep.cxx (mep_cpu constructor): Add "control-space" accessor and
1794         create register attributes needed by gdb.
1795         (mep_cpu::do_ldcb): Implement.
1796         (mep_cpu::do_stcb): Likewise.
1797         (mep_cpu::step_insn): Remove delayed branch logic.
1798
1799         * mep-decode.cxx, mep-sem.cxx: Regenerate.
1800
1801 2001-05-23  Ben Elliston  <bje@redhat.com>
1802
1803         * mep.h (mep::mep_cpu::skip): Remove; MeP has no exposed delays.
1804         (mep::mep_cpu::do_swi): Move method body to mep.cxx.
1805         * mep.cxx (mep::mep_cpu constructor): Clean up.
1806         (mep::mep_cpu::do_swi): Implement method.
1807         (mep::mep_cpu::dbg_get_reg): Likewise.
1808         (mep::mep_cpu::dbg_set_reg): Likewise.
1809
1810 2001-05-22  Ben Elliston  <bje@redhat.com>
1811
1812         * mep-decode.cxx, mep-sem.cxx: Regenerate.
1813
1814 2001-05-21  Ben Elliston  <bje@redhat.com>
1815
1816         * mep.cxx (mep::mep_cpu::do_ldz): Implement fully.
1817
1818         * mep-decode.cxx, mep-sem.cxx: Regenerate.
1819
1820 2001-05-18  Ben Elliston  <bje@redhat.com>
1821
1822         * mep-decode.cxx, mep-sem.cxx: Regenerate.
1823
1824 2001-05-17  Ben Elliston  <bje@redhat.com>
1825
1826         * mep-decode.h, mep-decode.cxx, mep-sem.cxx: Regenerate.
1827
1828 2001-05-16  Ben Elliston  <bje@redhat.com>
1829
1830         * mep.cxx (mep::mep_cpu::mep_cpu): Add a "processor-id" attribute
1831         which is tied to the $id control/special register.
1832
1833         * mep-cpu.h: Regenerate.
1834
1835 2001-05-15  Ben Elliston  <bje@redhat.com>
1836
1837         * mep-cpu.h, mep-sem.cxx: Regenerate.
1838
1839 2001-05-14  Ben Elliston  <bje@redhat.com>
1840
1841         * mep-decode.cxx, mep-decode.h, mep-sem.cxx: Regenerate.
1842
1843         * Makefile.am (DEJAGNUTESTS): Define.
1844         (checkme): New target.
1845         * Makefile.in: Regenerate.
1846
1847 2001-05-11  Ben Elliston  <bje@redhat.com>
1848
1849         * mep.h (mep::mep_cpu::do_swi): New method.
1850         * mep.cxx (mep::mep_cpu::step_insns): Fetch 16-bit words for now.
1851
1852         * mep-decode.cxx, mep-decode.h, mep-sem.cxx: Regenate.
1853
1854 2001-05-10  Ben Elliston  <bje@redhat.com>
1855
1856         * mep-decode.cxx, mep-decode.h, mep-sem.cxx: Regenerate.
1857
1858 2001-04-03  Ben Elliston  <bje@redhat.com>
1859
1860         * Makefile.am (libmep_la_SOURCES): Add mep.cxx.
1861         * Makefile.in: Regenerate.
1862         * mep-sem.cxx: Likewise.
1863         * mep.h (mep::mep_cpu::do_ldz): Don't inline; move to ..
1864         * mep.cxx: New file.
1865
1866         * mep-cpu.h, mep-decode.cxx: Regenerate.
1867         * mep.h (mep::mep_cpu::do_ldz): New method.
1868
1869         * mep.h: New file.
1870
1871 2001-04-02  Ben Elliston  <bje@redhat.com>
1872
1873         * mep-decode.cxx, mep-decode.h, mep-sem.cxx: Regenerate.
1874
1875 2001-03-28  Ben Elliston  <bje@redhat.com>
1876
1877         * Makefile.am: Reinstate targets.
1878         * Makefile.in: Regenerate.
1879         * mep-cpu.h, mep-decode.cxx, mep-decode.h: New files.
1880         * mep-defs.h, mep-desc.h, mep-sem.cxx: Likewise.
1881         
1882         * Makefile.am: Disable most targets for now.
1883         * Makefile.in: Regenerate.
1884
1885 2001-03-22  Ben Elliston  <bje@redhat.com>
1886
1887         * configure.in (RH_CGEN_MAINT): Invoke.
1888         * configure: Regenerate.
1889         * Makefile.in: Likewise.
1890         * aclocal.m4: Likewise.
1891
1892 2001-03-20  Ben Elliston  <bje@redhat.com>
1893
1894         * Makefile.am: New file.
1895         * configure.in: Likewise.
1896         * Makefile.in: Generate.
1897         * configure: Likewise.
1898         * aclocal.m4: Likewise.