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