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