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