OSDN Git Service

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