OSDN Git Service

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