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