1 Tue Aug 26 10:39:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
3 * sim-if.c (sim_kill): Delete.
4 (sim_create_inferior): Add ABFD argument.
5 (sim_load): Move setting of PC from here.
6 (sim_create_inferior): To here.
7 (sim_load): Delete, use sim-hload.c instead.
9 * Makefile.in (SIM_OBJS): Add sim-hload.o module.
11 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
13 * configure: Regenerated to track ../common/aclocal.m4 changes.
16 Mon Aug 25 15:54:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
18 * sim-if.c (sim_open): Add ABFD argument.
20 Tue Jul 22 10:16:16 1997 Doug Evans <dje@canuck.cygnus.com>
22 * sim-main.h (M32R_DEFAULT_MEM_SIZE): New macro.
23 * sim-if.c (sim_open): Use it.
25 Wed Jun 4 12:48:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
27 * sim-main.h (WITH_ENGINE): Disable the common engine for now.
29 Tue May 27 14:15:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
31 * sim-if.c (sim_read): Pass NULL cpu to sim_core_read_buffer.
32 (sim_write): Ditto for write.
34 * m32r.c (do_trap): Ditto for read/write.
36 Tue May 20 10:18:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
38 * sim-if.c (sim_open): Add callback argument.
39 (sim_set_callbacks, sim_callback): Delete.
40 (sim_load): Set STATE_LOADED_P.
42 Mon May 19 12:55:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
44 * Makefile.in (SIM_OBJS): Link in sim-abort.o as a stub for
47 Mon May 5 12:45:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
49 * sim-if.c (sim_open): Update to reflect changes to core in
51 * mem-ops.h (GETMEMQI, GETMEMHI, GETMEMSI, GETMEMDI, GETMEMUQI,
52 GETMEMUHI, GETMEMUSI, GETMEMUDI, SETMEMQI, SETMEMHI, SETMEMSI,
53 SETMEMDI, SETMEMUQI, SETMEMUHI, SETMEMUSI, SETMEMUDI): Ditto.
55 Sat May 3 08:38:55 1997 Doug Evans <dje@seba.cygnus.com>
57 * decode.c (decode): Add computed goto support.
59 Fri May 2 16:30:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
61 * mem-ops.h: Stub additional core read/write arguments.
63 * sim-main.h: Declare sim_cia - type SI.
64 (struct _sim_cpu): Move base type to end per common.
65 (struct _sim_state): Ditto.
67 Thu May 1 11:15:34 1997 Doug Evans <dje@canuck.cygnus.com>
69 Merge from branch into devo. CGEN generic files moved to common
70 directory. K&R C support is no longer provided.
72 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
74 * configure: Regenerated to track ../common/aclocal.m4 changes.
76 Sat Apr 12 12:57:33 1997 Felix Lee <flee@yin.cygnus.com>
78 * Makefile.in, seman-cache.c: new file, for wingdb build.
79 * sim-alloca.h: fixed for wingdb.
81 Mon Apr 7 13:33:29 1997 Doug Evans <dje@seba.cygnus.com>
83 * decode.c (*): m32r_cgen_insn_table renamed to ..._entries.
84 * mainloop.in: Use CGEN_INSN_INDEX instead of CGEN_INSN_TYPE.
85 * simdefs.h (INSN_NAME): m32r_cgen_insn_table renamed to ..._entries.
87 Fri Apr 4 19:23:12 1997 Doug Evans <dje@canuck.cygnus.com>
89 * cgen-utils.in (ex_illegal): Fill in abuf->length, abuf->addr.
90 (exc_illegal): Likewise.
91 * decode.c (decode_vars): Add decode_illegal.
92 * genmloop.sh: #include "cpu-opc.h".
93 * sem-switch.c (case_INSN_ILLEGAL): Declare.
94 (labels): Add case_INSN_ILLEGAL.
95 (SWITCH): Add INSN_ILLEGAL case.
97 Wed Mar 26 12:34:00 1997 Doug Evans <dje@canuck.cygnus.com>
99 * model.c (model_module): Use 0 not NULL.
101 * genmloop.sh (sim_main_loop): Handle k&r c.
103 * sem-switch.c: Regenerate to get k&r c support.
104 * semantics.c: Likewise.
106 * m32r.c (ADD_{OV,CA}_SI,SUB_{OV,CA}_SI): Renamed to {ADD,SUB}[OC]FSI.
107 (ADDCSI,SUBCSI): New functions.
108 * sem-switch.c (addv,addv3,addx,subv,subx): Fix carry bit handling.
109 * semantics.c (addv,addv3,addx,subv,subx): Fix carry bit handling.
111 * simcache.c (simcache_{install,init,uninstall}): Use
112 DECLARE_MODULE_INSTALL_HANDLER.
113 (simcache_option_handler): Use DECLARE_OPTION_HANDLER.
115 * utils.c: #include "semops.h".
117 Tue Mar 11 14:30:26 1997 Doug Evans <dje@seba.cygnus.com>
119 * profile.c (profile_print_simcache): Fix thinko in printf text.
121 * simdefs.h (struct argbuf): Add member to fmt_20 so it's not empty.
123 Mon Mar 10 11:06:29 1997 Doug Evans <dje@seba.cygnus.com>
125 * m32r.c (h_cr_get): Rewrite.
127 * sem-switch.c (rte): bcarry renamed to bcond.
128 * semantics.c (rte): Likewise.
129 * simdefs.h (CPU_STATE): Likewise.
131 * config.in (HAVE_SYS_TIME_H): Add.
132 * configure.in: Check for sys/time.h.
133 * configure: Regenerated.
134 * utils.c: Include sys/time.h if present.
136 * common.c (sim_parse_args): Account for NULL terminating entry
137 in long_options table.
139 * genmloop.sh (RUN_FAST_P): Don't run fast if tracing.
140 Always use cache if configured in.
141 * mainloop.in (do_extract_insn{16,32}): New functions.
142 (normal,fast): Call them. Handle starting in left slot.
143 * simcache.c (simcache_option_handler): Disallow -c0.
144 * sem-switch.c (TRACE_RESULT): Redefine so no tracing.
146 * profile.c (profile_print_simcache): Fix percentage calc.
148 * Makefile.in (INCLUDE_DEPS): Delete simcommon.h.
150 Sun Mar 9 20:42:17 1997 Doug Evans <dje@seba.cygnus.com>
152 * Makefile.in (COMMON_{PRE,POST}_CONFIG_FRAG): Add delimiters for.
153 (M32R_INCLUDE_DEPS): Use cpu-sim.h instead of m32r-sim.h.
155 (mrun.o): Don't depend on M32R_INCLUDE_DEPS.
156 (sim-if.o,m32r.o,utils.o): Likewise.
157 (common.o): Don't explicitly depend on mod-list.h.
158 (mainloop.c): Pass CPU to genmloop.sh.
159 (stamp-modules): Depend on configure.
160 (decode.o): Depend on decode,h, memops.h, semops.h, cpu-opc.h.
161 (extract.o): Depend on decode.h, memops.h, semops.h.
162 (semantics.o,seman-cache.o): Likewise.
163 (model.o,ops.o): Depend on memops.h.
164 (extr-cache.o): Disable building for the moment.
166 * simcommon.h: Delete, move contents into cgen-sim.h.
167 * cgen-sim.h: Don't include ansidecl.h,bfd.h,simfns.h.
168 (UINT,CGEN_CAT3): Define.
169 ({extract,semantic}_fn_t): Renamed to {EXTRACT,SEMANTIC}_FN.
170 (decode_t): Renamed to DECODE.
172 * simfns.h: Delete, contents moved to memops.h,semops.h.
173 * memops.h: New file.
174 * semops.h: New file.
175 * decode.h: Renamed from semantics.h.
177 * sim-argv.h: New file.
178 * Makefile.in (memory.o,trace.o,profile.o,simcache.o,common): Add
179 dependency of sim-argv.h.
181 * sim-alloca.h: New file.
182 * common.c: Include it.
183 * Makefile.in (common.o): Add dependency.
185 * config.in (HAVE_TIME_H,HAVE_SYS_RESOURCE_H): Add.
186 (HAVE_GETRUSAGE,HAVE_TIME): Add.
187 * configure.in: sinclude ../common/aclocal.m4.
188 Check for headers time.h, sys/resource.h.
189 Check for functions time, getrusage.
190 (sim_link_{files,links}): Add link cpu-opc.h.
191 (sim_profile): Add simcache.
192 (SIM_AC_PROFILE): Add simcache, profile.o.
193 (simcache module): Delete extr-cache.o for now.
194 (--enable-sim-cache): Allow specification of default cache size.
195 * configure: Regenerated.
197 * decode.c: #include cgen-sim.h,memops.h,semops.h,decode.h,
198 cpu-sim.h,cpu-opc.h. Don't include m32r-sim.h.
201 * extract.c: #include cgen-sim.h,decode.h,cpu-sim.h.
202 Don't include m32r-sim.h.
203 (*): Define/Undef FLD macro. Use it to reference ARGBUF.
204 Simplify profiling test with PROFILE_MODEL_P.
205 (mvfc,mvtc): Fix access of control registers.
206 * semantic.c: #include cgen-sim.h,memops.h,semops.h,decode.h,cpu-sim.h.
207 Don't include m32r-sim.h.
208 (*): Define/Undef FLD macro. Use it to reference ARGBUF.
209 Simplify profiling test with PROFILE_MODEL_P.
210 (mvfc,mvtc): Fix access of control registers.
212 * sem-switch.c: New file, for GCC computed goto support.
214 * genmloop.sh: Add #include's of bfd.h,callback.h,cgen-sim.h,
215 memops.h,semops.h,trace.h,cpu-sim.h.
216 (RUN_FAST_P): Change default to run fast if cache size > 0
218 (sim_main_loop): Record execution time.
219 Record instruction count even in fast mode.
220 (init): Allow cpu to provide init code in mainloop.in.
221 (FAST): Define as 0 or 1 depending on fast mode.
222 * mainloop.in (normal): Combine with fast case.
223 Add support for GCC computed gotos. Count simcache hits/misses.
224 (init): Initialize "switch" labels if GNUC.
226 * cgen-utils.in: Don't include opcode/cgen.h.
227 Include cgen-sim.h, cpu-opc.h.
228 * common.c: Don't include simcommon.h,mod-list.h. Include cgen-sim.h.
229 * m32r-sim.h: Don't include mod-list.h
230 (RUN_FAST_P): Delete.
231 * m32r.c: Don't include profile.h. #include ansidecl.h,cgen-sim.h,
232 semops.h,memory.h,trace.h
233 (h_cr_get,h_cr_set): New functions.
234 * memory.c: #include cgen-sim.h,callback.h.
235 * ops.c: Don't include profile.h,m32r-sim.h.
236 Include cgen-sim.h,memops.h,cpu-sim.h.
237 (MEMOPS_DEFINE_INLINE): Renamed from SIMFNS_DEFINE_INLINE.
238 * trace.c: Include cgen-sim.h,cpu-opc.h.
239 * trace.h (trace_insn_{init,fini}): Declare.
241 * model.c: Don't include signal.h,stdlib.h,m32r-sim.h.
242 Include cgen-sim.h,cpu-sim.h,cpu-opc.h.
243 Regenerate to get new insn aliases.
245 * mrun.c: #include "ansidecl.h".
246 (STATE): Use struct sim_state instead.
248 * profile.c: Surround #include <stdlib.h> with HAVE_STDLIB_H.
249 Don't include simcommon.h. Include cgen-sim.h,cpu-opc.h.
250 (PROFILE_{READ,WRITE}_MASK): Replace with PROFILE_MEMORY_MASK.
251 (profile_print_simcache): New function.
252 (profile_print): Call it. Print simulator speed stats.
253 * profile.h (PROFILE_{READ,WRITE}_MASK): Replace with
255 (MODULE_PROFILE_SIMCACHE_P): Define.
256 (PROFILE_SIMCACHE_MASK): Define.
257 (PROFILE_COUNT): New members total_insn_count,exec_time.
258 New members simcache_hits,simcache_misses.
259 (PROFILE_SIMCACHE_{HITS,MISSES}): Define.
260 (PROFILE_MODEL_P): New macro.
261 (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): New macros.
263 * sim-if.c: Surround #include <stdlib.h> with HAVE_STDLIB_H.
264 Don't include simcommon.h,m32r-sim.h. Include cgen-sim.h,cpu-sim.h.
265 (sim_resume): Use USING_SIMCACHE_P instead of RUN_FAST_P.
266 (sim_info): Pass verbose to profile_print.
268 * simcache.c: Include cgen-sim.h,callback.h.
269 (USING_SIMCACHE_P): Replace with SIMCACHE_P.
270 (simcache_option_handler): Ensure cache size at least 2.
271 Allow config time specification of default cache size.
272 * simcache.h (struct simcache): Support GCC computed gotos.
273 (SIMCACHE_DEFAULT_CACHE_SIZE): USe CONFIG_SIM_CACHE_SIZE if defined.
274 (USING_SIMCACHE_P): New macro.
276 * simdefs.h: Don't include m32r-opc.h.
277 (CGEN_MAX_SIM_INSNS): Define.
278 (CPU_STATE): Regenerate.
279 (ARGBUF): Regenerate.
280 (extract,semantic handler decls): Delete, moved to decode.h.
282 * tconfig.in: Don't include cgen-sim.h,m32r-sim.h.
283 (USE_SEM_SWITCH): Define.
285 * utils.c: Include bfd.h,time.h,sys/resource.h.
286 (sim_time_get,sim_time_elapsed): New functions.
287 * cgen-sim.h (SIM_TIME,sim_time_get,sim_time_elapsed): Declare.
289 Fri Jan 31 20:25:06 1997 Doug Evans <dje@canuck.cygnus.com>
291 * configure.in (AC_CHECK_HEADERS): Handle i386-windows.
292 * configure: Regenerated.
293 * model.c: #include <stdlib.h>.
294 * simcache.c: #include "libiberty.h".
295 * simcommon.h (alloca): Handle i386-windows.
297 * common.c: #include libiberty.h.
298 (sim_signal_to_host): Return 5 if wingdb.
300 Mon Jan 27 15:22:49 1997 Doug Evans <dje@seba.cygnus.com>
302 * configure.in (sim_cache): Enabled by default now, pass default
303 cache size to --enable-sim-cache.
304 * simcache.c (simcache_option_handler): Allow -c 0.
306 * simdefs.h,simfns.h: Regenerate
307 * decode.c,extract.c,model.c,ops.c,semantics.c: Regenerate.
309 Tue Jan 21 16:21:01 1997 Doug Evans <dje@seba.cygnus.com>
311 Add model profiling support.
312 * configure.in: Handle --enable-sim-model.
313 (sim_profile): Add model.
314 * Makefile.in (model.o): Add rule.
315 * cgen-sim.h (UNIT,INSN_TIMING,MACH,MODEL): New types.
316 * extract.c (*): Add model profiling support.
317 * m32r.c (model_mark_{get,set}_h_gr): New functions.
318 (model_mark_{busy,unbusy}_reg): New functions.
319 * profile.c (profile_option_handler): Recognize --profile model.
320 (profile_print_model): New function.
321 (profile_print): Call it.
322 * profile.h (MODULE_profile_model,MODULE_PROFILE_MODEL_P): Define.
323 (PROFILE_MODEL_MASK,PROFILE_LABEL_WIDTH): Define.
324 (PROFILE_COUNT): New members cycle_count,cti_stall_count,
325 load_stall_count,taken_count,untaken_count.
326 * semantics.c (*): Add model profiling support.
327 * simcommon.h (struct sim_state): New members mach,model.
328 * simdefs.h (CPU_PROFILE,MODEL_TYPE,UNIT_TYPE): New type.
329 (MAX_MODELS,MAX_UNITS): Define.
330 * tconfig.in (STATE_EXTRA_MEMBERS): Add cpu_profile.
332 * Makefile.in (INCLUDE_DEPS): Add $(SIM_MODULES_HDRS).
333 (stamp-modules): Depend on genmodlist.sh.
334 * common.c (standard_options): Add --max-insns.
335 (copy_argv): New function.
336 * tconfig.in (SIM_HAVE_MAX_INSNS): Define.
337 * genmloop.sh: Allow mainloop.in to contain support code.
338 * mainloop.in: Move do_insn16,do_insn32 here.
339 * m32r.c (do_trap): Handle SYS_argvlen,SYS_argv,SYS_read.
340 * sim-if.c (sim_open): Don't set max insn count.
341 (sim_create_inferior): Save argv,envp.
342 * simcommon.h (struct sim_state): New members argv,envp.
343 * simdefs.h ([GS]ETTWI,[GS]ETTUWI,[GS]ETTAI): Define.
344 ([GS]ETMEMWI,[GS]ETMEMUWI,[GS]ETMEMAI): Define.
345 (ARGBUF): New members h_gr_get, h_gr_set.
346 * trace.c (trace_insn_init,trace_insn_fini): New functions.
347 (trace_printf): Print to buffer, output later by trace_insn_fini.
348 * trace.h (TRACE_INSN_{INIT,FINI}): Define.
350 Thu Dec 19 16:01:59 1996 Doug Evans <dje@canuck.cygnus.com>
352 * configure.in (AC_FUNC_ALLOCA): Call.
353 * configure: Regenerate.
354 * config.h (HAVE_ALLOCA_H): Add.
355 * simcommon.h: Add alloca support.
356 (DECLARE_MODULE_INSTALL_HANDLER): Define.
357 (DECLARE_OPTION_HANDLER): Define.
358 (MEM_FN): Declare using PARAMS.
359 (DECLARE_MEM_FN): Define.
360 * trace.c (trace_result): Tweak for !STDC.
361 * cgen-sim.h (UDI_FN_SUPPORT): Define if ! HAVE_LONGLONG.
362 * cgen-utils.in (disasm_sprintf): Fix va_arg call in !STDC case.
363 * common.c (sim_print_help_fn): Use PARAMS.
364 (standard_option_handler): Fix decl for !STDC systems.
365 * memory.c: #include <stdio.h>
366 (mem_flat_{install,init,uninstall}): Fix decl for !STDC systems.
367 (mem_flat_{read,write},mem_flat_option_handler): Likewise.
368 * profile.c (profile_install): Likewise.
369 (profile_option_handler): Likewise.
371 Thu Dec 19 11:06:19 1996 Doug Evans <dje@seba.cygnus.com>
373 * semantics.c (*): Don't suffix big unsigned numbers with "U".
374 Prefix them with 0x instead.
376 * cgen-sim.h (DI_FN_SUPPORT): Define if ! HAVE_LONGLONG.
377 (SLADI,SRADI,CONVSIDI,CONVDISI): Delete, moved to simfns.h.
378 * semantics.c (machi,maclo,macwhi,macwlo,mulhi,mullo): Implement.
379 (mulwhi,mulwlo,mvtachi,mvtaclo,rac,rach): Implement.
380 * simfns.h: Add decls for functional DI,UDI,SF,DF,XF,TF support.
381 Add support for boolean and/or.
382 * utils.c: Redo naming of DI functional support.
383 (ANDDI,ORDI,ADDDI,MULDI,GEDI,LEDI,CONVHIDI): New functions.
385 Tue Dec 17 12:57:48 1996 Doug Evans <dje@seba.cygnus.com>