3 * sim-main.h (struct sim_state): Change cpu to an array of pointers.
4 (STATE_CPU): Handle WITH_SMP.
8 * configure: Regenerate.
12 * Makefile.in (SIM_OBJS): Delete sim-engine.o and sim-hrw.o.
16 * config.in, configure: Regenerate.
20 * tconfig.h (SIM_HAVE_BIENDIAN): Delete.
24 * configure: Regenerate.
28 * configure: Regenerate.
32 * configure: Regenerate.
36 * configure: Regenerate.
40 * Makefile.in (CONFIG_DEVICES): Delete.
41 (SIM_OBJS): Delete CONFIG_DEVICES.
45 * aclocal.m4, config.in, configure: Regenerate.
46 * tconfig.in: Rename file ...
47 * tconfig.h: ... here.
51 * tconfig.in [HAVE_DV_SOCKSER]: Delete.
55 * Makefile.in (SIM_RUN_OBJS): Delete.
59 * configure.ac: Default simulator hardware to off again
60 without emitting errors when off or dv-sockser.o unavailable.
61 * configure: Regenerate.
65 * configure: Regenerate.
69 * configure: Regenerate.
70 * config.in: Regenerate.
74 * configure: Regenerate.
78 * aclocal.m4, configure: Regenerate.
82 * configure: Regenerate.
86 * configure.ac: Fail if dv-sockser.o not available.
87 Error when --disable-sim-hardware is specified.
88 * configure: Regenerated.
92 * config.in, configure: Regenerate.
97 * interp.c: Include config.h before system header files.
101 * aclocal.m4, config.in, configure: Regenerate.
105 * aclocal.m4: New file.
106 * configure: Regenerate.
110 * configure.ac: Change include to common/acinclude.m4.
114 * configure.ac: Change AC_PREREQ to 2.64. Delete AC_CONFIG_HEADER
115 call. Replace common.m4 include with SIM_AC_COMMON.
116 * configure: Regenerate.
120 * sim-if.c (sim_do_command): Delete.
124 * sh64.c (trap_handler): Change zfree to free.
128 * sh-desc.h: Regenerate.
132 * decode-media.c, * decode-media.h: Regenerate.
136 * decode-compact.c, * decode-media.c, * defs-compact.h, * defs-media.h,
137 * sem-compact-switch.c, * sem-compact.c, * sem-media-switch.c,
138 * sem-media.c, * sh-desc.c, * sh-desc.h: Regenerate.
146 * configure: Regenerate.
150 * arch.c, * arch.h, * cpu.c, * cpu.h, * cpuall.h, * decode-compact.c,
151 * decode-compact.h, * decode-media.c, * decode-media.h,
152 * defs-compact.h, * defs-media.h, * sem-compact-switch.c,
153 * sem-compact.c, * sem-media-switch.c, * sem-media.c, * sh-desc.c,
154 * sh-desc.h, * sh-opc.h: Regenerate, update copyright year.
159 * cpuall.h: Regenerate.
160 * decode-compact.c: Regenerate.
161 * decode-compact.h: Regenerate.
162 * decode-media.c: Regenerate.
163 * decode-media.h: Regenerate.
164 * defs-compact.h: Regenerate.
165 * defs-media.h: Regenerate.
169 * arch.c: Regenerate.
170 * arch.h: Regenerate.
173 * cpuall.h: Regenerate.
174 * decode-compact.c: Regenerate.
175 * decode-compact.h: Regenerate.
176 * decode-media.c: Regenerate.
177 * decode-media.h: Regenerate.
178 * defs-compact.h: Regenerate.
179 * defs-media.h: Regenerate.
180 * sem-compact-switch.c: Regenerate.
181 * sem-compact.c: Regenerate.
182 * sem-media-switch.c: Regenerate.
183 * sem-media.c: Regenerate.
184 * sh-desc.c: Regenerate.
185 * sh-opc.h: Regenerate.
187 * Makefile.in (SIM_EXTRA_DEPS): Add sh-desc.h sh-opc.h.
188 (sh-desc.o): New rule.
189 (sh-desc.h,sh-desc.c,sh-opc.h): Replaces rule for desc.h.
190 (all generated file rules): Specify generated file with full path.
194 * sh-desc.h: Regenerate.
198 * config.in: Regenerate.
199 * configure: Likewise.
201 * configure: Regenerate.
205 * configure: Regenerate to track ../common/common.m4 changes.
212 * configure: Regenerate.
216 * config.in, configure: Regenerate.
220 * Contribute the following changes:
224 * sh64-sim.h (sh64_fipr,sh64_fiprs,sh64_fldp,sh64_fstp,sh64_ftrv)
225 (sh64_fpref): New functions.
226 * sh64.c (sh64_fipr,sh64_fiprs,sh64_fldp,sh64_fstp,sh64_ftrv)
227 (sh64_fpref): New functions.
228 (sh_models): Add sh2e, sh2a, sh2a_nofpu, sh4_nofpu, sh4a,
229 sh4a_nofpu and sh4al.
230 (sh2e_mach): New MACH.
231 (sh2a_fpu_mach): New MACH.
232 (sh2a_nofpu_mach): New MACH.
233 (sh4_nofpu): New MACH.
234 (sh4a_mach): New MACH.
235 (sh4a_nofpu_mach): New MACH.
236 (sh4al_mach): New MACH.
237 * Makefile.in (stamp-*): Depend on $(CGEN_CPU_DIR)/sh-sim.cpu. Pass
238 archfile to CGEN script.
239 * arch.c: Regenerated.
240 * arch.h: Regenerated.
241 * cpu.c: Regenerated.
242 * cpu.h: Regenerated.
243 * cpuall.h: Regenerated.
244 * decode-compact.c: Regenerated.
245 * decode-compact.h: Regenerated.
246 * decode-media.c: Regenerated.
247 * decode-media.h: Regenerated.
248 * defs-compact.h: Regenerated.
249 * defs-media.h: Regenerated.
250 * sem-compact-switch.c: Regenerated.
251 * sem-compact.c: Regenerated.
252 * sem-media-switch.c: Regenerated.
253 * sem-media.c: Regenerated.
254 * sh-desc.c: Regenerated.
255 * sh-desc.h: Regenerated.
256 * sh-opc.h: Regenerated.
260 * configure: Regenerated.
264 * configure: Regenerated.
268 * sh-desc.h: Move extern declaration of sh_cgen_ifld_table after
273 * configure.ac: New file.
274 * configure.in: Remove.
275 * configure: Regenerate.
276 * defs-media.h (sem_fields): Add missing sfmt_ldhil member.
277 * sim-if.c (sim_open): Use struct bfd instead of struct _bfd.
278 (sim_create_inferior): Ditto.
282 * configure: Regenerate for ../common/aclocal.m4 update.
286 * sem-media-switch.c, sem-media.c: Regenerate.
290 * sh64.c: Update path of "callback.h".
294 * sh64.c: Include correct file for register numbers.
298 * sim-if.c (sh64_disassemble_insn): Use print_insn_sh instead of
303 * Makefile.in (stamp-arch): Use $(CGEN_CPU_DIR).
304 (stamp-desc): Likewise.
305 (stamp-cpu): Likewise.
306 (stamp-defs-compact): Likewise.
307 (stamp-defs-media): Likewise.
308 (stamp-decode-compact): Likewise.
309 (stamp-decode-media): Likewise.
313 * sim-if.c (sim_open): Set sh64_idesc_{media,compact} to NULL.
314 * sh64-sim.h (sh64_idesc_{compact,media}): Declare extern.
315 * sh64.c (sh64_idesc_{compact,media}): Make non-static.
319 * sh64.c (SYS_argc, SYS_argn, SYS_argnlen): Define.
320 (trap_handler): Implement these syscalls.
321 (count_argc): New function.
325 * sh64.c (trap_handler): Implement time.
327 * sh64.c (fetch_str): New function.
328 (trap_handler): Re-implement write, and implement lseek, read,
333 * sh64.c (sh64_fetch_register): When fetching the PC, return the
334 PC value and set the LSB according to the current ISA.
338 * sh64.c (trap_handler): Use sim_engine_halt to indicate a program
339 has terminated, not exit!
343 * sh64.c (sh64_fcnvds): Re-implement.
345 * sh64.c: Include "bfd.h".
346 (trap_handler): New function. Consolidate function bodies of
347 sh64_trapa and sh64_compact_trapa.
348 (sh64_trapa): Use it.
349 (sh64_compact_trapa): Likewise.
353 * sem-media.c, sem-media-switch.c: Regenerate.
354 * sem-compact.c, sem-compact-switch.c: Likewise.
356 * sh64.c (sh64_trapa): Adhere to SH64 sys call conventions.
358 * cpu.h, sh-desc.c, sh-desc.h, sh-opc.h: Regenerate.
359 * decode-media.c, decode-media.h, defs-media.h: Likewise.
360 * sem-compact.c, sem-compact-switch.c: Likewise.
361 * sem-media.c, sem-media-switch.c: Likewise.
365 * sim-main.h (CIA_SET): Encode the current instruction set mode
366 when setting the cia.
370 * sh64.c (sh64_store_register): Do not set insn set mode--allow
371 sh64_h_pc_set() to do it.
372 (shmedia_init_cpu): Do not initialise the insn set mode--let the
373 loader set it based on bit 0 of the executable's starting address.
374 (shcompact_init_cpu): Likewise.
375 * mloop-compact.c (sh64_compact_pbb_begin): Emit a warning message
376 about malformed programs which have illegal insns in delay slots.
377 (sh64_compact_pbb_cti_chain): Examine the least significant bit of
378 the new pc, not the current instruction set mode to determine if
379 the next pbb in the chain will consist of SHmedia instructions.
380 * mloop-media.c (sh64_media_pbb_cti_chain): Likewise for SHcompact
381 switches. Set bit 0 when setting the pc for the next SHmedia pbb.
383 * cpu.c, cpu.h: Regenerate.
384 * sem-compact.c, sem-compact-switch.c: Likewise.
385 * sem-media.c, sem-media-switch.c: Likewise.
387 * sh64.c (sh64_compact_trapa): Use sim_io_write_{stdout,error}(),
388 not stdio functions to emit output when executing write traps.
392 * sh64.c (sh64_compact_trapa): Support writing to stderr. Flush
393 output stream after each (compound) write.
397 * sem-media.c, sem-media-switch.c: Regenerate.
401 * sem-compact.c, sem-compact-switch.c: Regenerate.
406 * cpu.c, cpu.h: Regenerate.
407 * sem-media.c, sem-media-switch.c: Likewise.
411 * sim-if.c (sh64_disassemble_insn): Set arch and mach fields using
414 * sem-compact.c, sem-compact-switch.c: Regenerate.
418 * sh64.c (sh64_nsb): Re-implement correctly.
422 * sh64.c (sh64_nsb): Re-implement.
426 * cpu.c, cpu.h: Regenerate.
427 * sem-compact.c, sem-compact-switch.c: Likewise.
428 * sem-media.c, sem-media-switch.c: Likewise.
429 * sh-desc.c: Likewise.
433 * mloop-compact.in, mloop-media.in: Remove.
434 * mloop-compact.c, mloop-media.c: New files.
435 * eng-compact.c, eng-media.c: Likewise.
436 * Makefile.in (mloop-compact.c): Remove target.
437 (stamp-mloop-compact): Likewise.
438 (mloop-media.c): Likewise.
439 (stamp-mloop-media): Likewise.
440 (sh64-clean): Update.
441 (stamp-mloop): Remove.
445 * sh64.c (sh64_prepare_run): Rename from shmedia_prepare_run.
446 (shcompact_prepare_run): Remove.
447 (sh2_mach, sh3_mach, sh3e_mach, sh4_mach, sh5_mach): Update.
451 * sh64.c (sh64_idesc_media, sh64_idesc_compact): New variables.
453 (sh64_engine_run_full): Only compute idesc tables once.
454 (sh64_engine_run_fast): Likewise.
455 (shmedia_prepare_run): Do nothing.
456 (shcompact_prepare_run): Likewise.
458 * sem-compact.c, sem-compact-switch.c: Regenerate.
459 * sem-media.c, sem-media-switch.c: Likewise.
463 * sem-media.c, sem-media-switch.c: Regenerate.
467 * sh64.c (sh64_store_register): When storing a new PC, set ISA
468 mode based on the value of bit 0.
470 * sh64.c: Include "sim-sh64.h" for GDB interfacing.
471 (sh64_fetch_register): Implement.
472 (sh64_store_register): Likewise.
474 * sh64-sim.h (sh64_fmacs): Declare.
475 (sh64_ftrcdl, sh64_ftrcdq, sh64_ftrcsl): Likewise.
477 * sem-media.c, sem-media-switch.c: Regenerate.
481 * sh64-sim.h (sh64_compact_trapa): Renamed from sh64_trapa.
482 (sh64_trapa): Renamed from sh64_trap.
483 * sh64.c (sh64_trapa): Call sh64_compact_trapa for handling.
484 Apply renaming described above.
486 * decode-media.c, decode-media.h, defs-media.h: Regenerate.
487 * sem-media.c sem-media-switch.c: Likewise.
488 * sh-desc.c, sh-desc.h, sh-opc.h: Likewise.
492 * cpu.c, cpu.h, sh-desc.c: Regenerate.
493 * sem-media.c, sem-media-switch.c: Likewise.
494 * sem-compact.c, sem-compact-switch.c: Likewise.
495 * sh64-sim.h (sh64_ftrvs): Declare.
496 * sh64.c (sh64_ftrvs): Bug fixes.
498 * sh64.c (sh64_fcmpgtd): Fix order of arguments to sim_fpu_is_gt.
499 (sh64_fcmpgts): Likewise.
503 * decode-media.c, decode-media.h: Regenerate.
504 * defs-media.h: Likewise.
505 * sem-media.c, sem-media-switch.c: Likewise.
506 * sh-desc.c: Likewise.
510 * decode-media.c, decode-media.h: Regenerate.
511 * defs-media.h: Likewise.
512 * sem-media.c, sem-media-switch.c: Likewise.
516 * decode-media.c, decode-media.h: Regenerate.
517 * sem-media.c, sem-media-switch.c: Likewise.
519 * defs-media.h: Regenete.
520 * decode-compact.c, decode-media.c: Likewise.
524 * sh64.c (sh64_fcmpund): Return a BI.
525 (sh64_fcmpuns): Likewise.
526 (sh64_nsb): Treat source value as unsigned.
527 (sh64_compact_model_insn_before): New function.
528 (sh64_media_model_insn_before): Likewise.
529 (sh64_compact_model_insn_after): Likewise.
530 (sh64_media_model_insn_after): Likewise.
531 (sh_models): Use sh5_mach for "sh5".
532 * sh64-sim.h: Add missing function prototypes.
534 * cpu.c, cpu.h, defs-media.h, sh-desc.c: Regenerate.
535 * decode-media.c, decode-media.h: Likewise.
536 * sem-media.c, sem-media-switch.c: Likewise.
540 * mloop-compact.in, mloop-media.in: Use @prefix@.
541 * Makefile.in (stamp-mloop-compact): Pass -outfile-suffix option
542 to make generated files safe in the presence of parallel makes.
543 (stamp-mloop-media): Likewise.
545 * decode-media.c, defs-media.h: Regenerate.
549 * sh64-sim.h: Add function prototypes from sh64.c.
551 * Makefile.in (SH64_OBJS): Add ISA variant objects.
552 (SIM_EXTRA_DEPS): Do not depend on opcodes headers.
553 (SH64_INCLUDE_DEPS): Update for ISA variants.
554 (stamp-mloop-compact, stamp-mloop-media): New targets.
555 (decode-compact.o, sem-compact.o): New rules.
556 (decode-media.o, sem-media.o): Likewise.
557 (sh64-clean): Update.
558 (stamp-all, stamp-mloop, stamp-decode, stamp-defs): New targets.
559 (stamp-desc, stamp-cpu): Likewise.
560 (stamp-defs-compact, stamp-defs-media): Likewise.
561 (stamp-decode-compact, stamp-decode-media): Likewise.
563 * defs-compact.h, defs-media.h: Regenerate.
567 * sh64-sim.h (sh64_fcmpeqd, sh64_fcmpeqs): Declare.
568 (sh64_fcmpged, sh64_fcmpges): Likewise.
569 (sh64_fcmpgtd, sh64_fcmpgts): Likewise.
571 * sh64.c (sh64_endian): New function.
572 (sh64_fcmpeqd, sh64_fcmpeqs): Return a BI.
573 (sh64_fcmpged, sh64_fcmpges): Likewise.
574 (sh64_fcmpgtd, sh64_fcmpgts): Likewise.
575 (sh64_trap): Implement a basic syscall facility.
576 (sh64_trapa): Exit with return code in R5, not 0.
577 (sh64_model_sh5_u_exec): Remove.
578 (sh64_engine_run_full): New function.
579 (sh64_engine_run_fast): Likewise.
580 (shmedia_prepare_run): Likewise.
581 (shcompact_prepare_run): Likewise.
582 (sh64_get_idata): Likewise.
583 (sh64_init_cpu): Likewise.
584 (shmedia_init_cpu): Likewise.
585 (shcompact_init_cpu): Likewise.
586 (sh64_model_init): Likewise.
588 (sh5_imp_properties): Likewise.
589 (sh2_mach, sh3_mach, sh4_mach, sh5_mach): Define.
591 * sem-compact.c, sem-compact-switch.c: Regenerate.
595 * sh64-sim.h (sh64_endian): Declare.
596 * sim-main.h (sim_cia): Use UDI, not USI.
597 (WITH_PROFILE_MODEL_P): Remove.
598 * sim-if.c (sim_sh64_disassemble_insn): Remove.
599 (sh64_disassemble_insn): New function.
600 (sim_open): Use as this CPU's disassembler.
602 * decode.h (WITH_PROFILE_MODEL_P): Undefine.
604 * decode-compact.c, decode-media.c: Regenerate.
605 * defs-compact.h, defs-media.h: Likewise.
606 * sem-compact.c, sem-compact-switch.c: Likewise.
607 * sh-desc.c, sh-desc.h: Likewise.
608 * cpu.c, cpu.h, cpuall.h: Likewise.
612 * arch.c, sh-desc.c, sh-desc.h: Regenerate.
614 * tconfig.in (SIM_HAVE_BIENDIAN): Define.
615 * configure.in (SIM_AC_OPTION_BIGENDIAN): Do not hard-wire a
616 target byte order, but default to big endian.
617 * configure: Regenerate.
621 * sim-main.h (WITH_PROFILE_MODEL_P): Define.
622 * sh64-sim.h (ISM_COMPACT, ISM_MEDIA): New enums.
624 * sh-desc.c, sh-desc.h: Regenerate.
625 * arch.c, cpu.h, cpuall.h: Regenerate.
626 * decode.h (WITH_PROFILE_MODEL_P): Remove.
628 * mloop-compact.in, mloop-media.in: New files.
629 * decode.h: Likewise.
633 * sem-compact.c, sem-compact-switch.c: Generate.
634 * sem-media.c, sem-media-switch.c: Likewise.
638 * sh-desc.c, sh-desc.h, sh-opc.h: Generate.
640 * arch.c, arch.h, cpuall.h, cpu.c, cpu.h: Generate.
641 * decode-compact.c, decode-compact.h: Likewise.
642 * decode-media.c, decode-media.h: Likewise.
643 * sh64-sim.h: New file.
644 * sim-main.h: Likewise.
648 * sim-if.c: New file.
653 * config.in: New file.
654 * tconfig.in: Likewise.
655 * configure.in: Likewise.
656 * configure: Generate.
657 * Makefile.in: New file.