OSDN Git Service

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