]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/common/ChangeLog
2000-03-23 Dave Brolley <brolley@redhat.com>
[thirdparty/binutils-gdb.git] / sim / common / ChangeLog
CommitLineData
f8603f2f
DB
12000-03-23 Dave Brolley <brolley@redhat.com>
2
3 * cgen-fpu.h: Rename extsfdf to fextsfdf. Rename truncdfsf to
4 ftruncdfsf.
5 * cgen-accfp.c (fextsfdf): New function.
6 (ftruncdfsf): New function.
7 (cgen_init_accurate_fpu): Initialize fextsfdf and ftruncdfsf.
8
0f831eb3
JJ
92000-03-13 Jeff Johnston <jjohnstn@cygnus.com>
10
11 * cgen-ops.h: Added TRUNCSISI.
12
e88acae7
FCE
132000-03-08 Dave Brolley <brolley@redhat.com>
14
15 * cgen-par.h (cgen_write_queue_kind): Add CGEN_FN_SF_WRITE.
16 (CGEN_WRITE_QUEUE_ELEMENT): Add fn_sf_write.
17 (sim_queue_fn_si_write): Last argument is has type USI.
18 (sim_queue_fn_sf_write): New function.
19 * cgen-par.c (sim_queue_fn_si_write): Declare 'value' as USI.
20 (sim_queue_fn_sf_write): New function.
21 (cgen_write_queue_element_execute): Handle CGEN_FN_SF_WRITE.
22
baa7ae6f
AC
23Tue Feb 22 16:45:09 2000 Andrew Cagney <cagney@b1.cygnus.com>
24
25 * run.c (main): When SIM_HAVE_ENVIRONMENT enable tracing with
26 sim_set_trace and run simulator using sim_resume.
27 (main): Add option ``-o'' - operating environment. Only continue
28 after a signal when operating environment.
29 (main): Always set REASON and SIGRC using sim_stop_reason.
30 (sim_trace): Delete extern declaration.
31
6d358e86
NC
322000-02-08 Nick Clifton <nickc@cygnus.com>
33
34 * callback.c: Fix compile time warning messages.
35 * run.c: Fix compile time warning messages.
36
ed9a39eb
JM
371999-12-17 Dave Brolley <brolley@cygnus.com>
38
39 * sim-profile.h: (set_profile_option_mask): Add prototype.
40 * sim-profile.c (set_profile_option_mask): No longer static.
41
c4093a6a
JM
42Wed Dec 8 21:47:13 1999 Andrew Cagney <cagney@b1.cygnus.com>
43
44 * sim-arange.c: Include <string.h>
45
de57eccd
JM
461999-12-07 Dave Brolley <brolley@cygnus.com>
47
c4093a6a 48 * sim-options.c (print_help): '=' required before optional argument.
de57eccd
JM
49 * cgen-par.h (CGEN_FN_MEM_QI_WRITE): New enumerator.
50 (CGEN_FN_MEM_HI_WRITE): New enumerator.
51 (CGEN_FN_MEM_SI_WRITE): New enumerator.
52 (CGEN_FN_MEM_DI_WRITE): New enumerator.
53 (CGEN_FN_MEM_DF_WRITE): New enumerator.
54 (CGEN_FN_MEM_XI_WRITE): New enumerator.
55 (fn_mem_qi_write): New union members.
56 (fn_mem_hi_write): New union members.
57 (fn_mem_si_write): New union members.
58 (fn_mem_di_write): New union members.
59 (fn_mem_df_write): New union members.
60 (fn_mem_xi_write): New union members.
61 (sim_queue_fn_mem_qi_write): New function.
62 (sim_queue_fn_mem_hi_write): New function.
63 (sim_queue_fn_mem_si_write): New function.
64 (sim_queue_fn_mem_di_write): New function.
65 (sim_queue_fn_mem_df_write): New function.
66 (sim_queue_fn_mem_xi_write): New function.
67 * cgen-par.c (sim_queue_fn_mem_qi_write): New function.
68 (sim_queue_fn_mem_hi_write): New function.
69 (sim_queue_fn_mem_si_write): New function.
70 (sim_queue_fn_mem_di_write): New function.
71 (sim_queue_fn_mem_df_write): New function.
72 (sim_queue_fn_mem_xi_write): New function.
73 (cgen_write_queue_element_execute): Handle CGEN_FN_MEM_QI_WRITE,
74 CGEN_FN_MEM_HI_WRITE, CGEN_FN_MEM_SI_WRITE, CGEN_FN_MEM_DI_WRITE,
75 CGEN_FN_MEM_DF_WRITE, CGEN_FN_MEM_XI_WRITE.
76
c2d11a7d
JM
771999-12-01 Dave Brolley <brolley@cygnus.com>
78
79 * cgen-accfp.c (subsf): Check status code.
80 (mulsf): Ditto.
81 (negsf): Ditto.
82 (abssf): Ditto.
83 (sqrtsf): Ditto.
84 (invsf): Ditto.
85 (minsf): Ditto.
86 (maxsf): Ditto.
87 (subdf): Ditto.
88 (muldf): Ditto.
89 (divdf): Ditto.
90 (negdf): Ditto.
91 (absdf): Ditto.
92 (sqrtdf): Ditto.
93 (invdf): Ditto.
94 (mindf): Ditto.
95 (maxdf): Ditto.
96
971999-11-26 Dave Brolley <brolley@cygnus.com>
98
99 * cgen-par.h (fn_df_write): Mode of data is DF.
100 (sim_queue_fn_df_write): Mode of data is DF.
101 * cgen-par.c (sim_queue_fn_df_write): Mode of data is DF.
102
1031999-11-22 Dave Brolley <brolley@cygnus.com>
104
105 * cgen-trace.c (SIZE_TRACE_BUF): Inxrease size of trace buffer.
106 * cgen-par.h (CGEN_WRITE_QUEUE_SIZE): Increase size of queue.
107
11cf8741
JM
1081999-11-04 Dave Brolley <brolley@cygnus.com>
109
110 * cgen-par.h (cgen_write_queue_kind): Add CGEN_FN_XI_WRITE and
111 CGEN_MEM_XI_WRITE members.
112 (CGEN_WRITE_QUEUE_ELEMENT): Add fn_xi_write and mem_xi_write members.
113 (sim_queue_fn_xi_write): New function.
114 (sim_queue_mem_xi_write): New function.
115
116 * cgen-par.c (sim_queue_fn_xi_write): New function.
117 (sim_queue_mem_xi_write): New function.
118 (cgen_write_queue_element_execute): Handle CGEN_FN_XI_WRITE and
119 CGEN_MEM_XI_WRITE.
120
e514a9d6
JM
1211999-10-22 Dave Brolley <brolley@cygnus.com>
122
123 * cgen-par.h (insn_address): New field in CGEN_WRITE_QUEUE_ELEMENT.
124 (CGEN_WRITE_QUEUE_ELEMENT_IADDR): New macro.
125 * cgen-par.c: Set insn_address for each queued write. Get pc from
126 cpu when executing queued writes.
127
1281999-10-19 Dave Brolley <brolley@cygnus.com>
129
130 * cgen-par.h (sim_queue_fn_pc_write): New function.
131 (CGEN_FN_PC_WRITE): New enumerator.
132 (fn_pc_write): New union member.
133 * cgen-par.c (sim_queue_fn_pc_write): New function.
134 (cgen_write_queue_element_execute): Handle CGEN_FN_PC_WRITE.
135
917317f4
JM
1361999-10-18 Dave Brolley <brolley@cygnus.com>
137
138 * cgen-par.h (CGEN_MEM_DI_WRITE): New enumerator.
139 (CGEN_MEM_DF_WRITE): New enumerator.
140 (mem_di_write): New union member.
141 (mem_df_write): New union member.
142 * cgen-par.c (sim_queue_mem_di_write): New function.
143 (sim_queue_mem_df_write): New function.
144 (cgen_write_queue_element_execute): Handle CGEN_MEM_DI_WRITE and
145 CGEN_MEM_DF_WRITE.
146 * cgen-accfp.c (divsf): Check for division errors.
147
1481999-10-14 Doug Evans <devans@casey.cygnus.com>
149
150 * cgen-engine.h (EXTRACT_INT,EXTRACT_UINT): Delete.
151
2df3850c
JM
1521999-10-07 Dave Brolley <brolley@cygnus.com>
153
154 * cgen-par.h (CGEN_FN_HI_WRITE): New enumerator.
155 (fn_hi_write): New union member.
156 (sim_queue_fn_hi_write): New function.
157 * cgen-par.c (sim_queue_fn_hi_write): New function.
158 (cgen_write_queue_element_execute): Handle CGEN_FN_HI_WRITE.
159
2acceee2
JM
1601999-09-29 Doug Evans <devans@casey.cygnus.com>
161
162 * cgen-defs.h (sim_engine_invalid_insn): New arg `vpc'.
163 Change type of result to SEM_PC.
164
165Wed Sep 29 14:43:57 1999 Dave Brolley <brolley@cygnus.com>
166
167 * cgen-defs.h (sim_engine_invalid_insn): Now returns PC.
168
6426a772
JM
1691999-09-25 Doug Evans <devans@casey.cygnus.com>
170
171 * cgen-ops.h (SUBWORD*): Delete cpu arg.
172 (JOIN*): Delete cpu arg.
173
174Tue Sep 21 17:14:16 1999 Dave Brolley <brolley@cygnus.com>
175
176 * genmloop.sh (@cpu@_scache_lookup): No longer takes last_insn_p
177 parameter.
178 (SET_LAST_INSN_P): Set last_insn_p flag in the scache element.
179
c2c6d25f
JM
180Mon Sep 20 21:44:06 1999 Geoffrey Keating <geoffk@cygnus.com>
181
182 * sim-fpu.c (i2fpu): Keep the guard bits sticky when converting
183 large values.
184
7fc5b5ad
AC
185Tue Feb 8 16:33:48 2000 Andrew Cagney <cagney@b1.cygnus.com>
186
187 * run.c (main): Check the sim_stop_reason and only halt simulation
188 when a valid stop condition is identified.
189
c2c6d25f
JM
190Wed Sep 15 14:12:37 1999 Andrew Cagney <cagney@b1.cygnus.com>
191
192 * hw-tree.c, hw-properties.c, hw-instances.c: Include "sim-io.h".
193
194Tue Sep 14 14:15:47 1999 Dave Brolley <brolley@cygnus.com>
195
196 * cgen-par.h (CGEN_BI_WRITE): New enumerator.
197 (bi_write): New union element.
198 (sim_queue_bi_write): New function.
199 * cgen-par.c (sim_queue_bi_write): New function.
200 (cgen_write_queue_element_execute): Handle CGEN_BI_WRITE.
201
d4f3574e
SS
202Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
203
204 * configure: Regenerated to track ../common/aclocal.m4 changes.
205
206 * aclocal.m4 (WERROR_CFLAGS, WARN_CFLAGS): Merge from
207 ../gdb/configure.in.
208 * Make-common.in (WERROR_CFLAGS, WARN_CFLAGS): Define.
209 (SIM_WERROR_CFLAGS, SIM_WARN_CFLAGS): Define.
210 (SIM_WARNINGS): Delete
211 (CONFIG_CFLAGS): Update.
212
213Tue Aug 31 16:01:42 1999 Dave Brolley <brolley@cygnus.com>
214
215 * cgen-par.c: New file.
216 * cgen-par.h: New file.
217 * cgen-sim.h (cgen-par.h): #include it.
218 * cgen-cpu.h (write_queue): New field.
219 (CPU_WRITE_QUEUE): New access macro.
220 * Make-common.in (CGEN_MAIN_CPU_DEPS): Add cgen-par.h.
221 (cgen-par.o): New target.
222
104c1213
JM
2231999-08-28 Doug Evans <devans@casey.cygnus.com>
224
225 * cgen-types.h (mode_type,MODE_VOID): Renamed from MODE_VM.
226 * cgen-utils.c (mode_names): Update.
227
53a5351d
JM
2281999-08-20 Doug Evans <devans@casey.cygnus.com>
229
230 * genmloop.sh: New args -parallel-generic-write, -parallel-only.
231 * cgen-engine.h (SEMANTIC_FN): Don't use version with PAREXEC
232 buffer arg if WITH_PARALLEL_GENWRITE.
233 (struct insn_sem): Handle WITH_PARALLEL_GENWRITE.
234 (struct idesc): Ditto.
235
236Wed Aug 18 18:17:28 1999 Doug Evans <devans@canuck.cygnus.com>
237
238 * sim-model.c (model_option_handler): Add \n to error message.
239
96baa820
JM
2401999-08-08 Doug Evans <devans@casey.cygnus.com>
241
242 * cgen-engine.h (SEM_FN_NAME,SEMF_FN_NAME): Delete.
243 (insn_sem): Rewrite.
244 (sem_fn_desc): New struct.
245 (idesc): Rewrite.
246 * genmloop.sh (scache case,@cpu@_scache_lookup): Profile scache hit,
247 misses if ! FAST_P.
248 (scache case): Split into non-parallel/parallel versions.
249 (@cpu@_engine_run_{full,fast}): Call @cpu@_{sem,semf}_init_idesc_table
250 if not use semantic switch version.
251
2521999-08-04 Doug Evans <devans@casey.cygnus.com>
253
254 * cgen-defs.h (SEM_BRANCH_TYPE): New enum.
255 * cgen-engine.h (SEM_BRANCH_UNTAKEN,SEM_BRANCH_UNCACHEABLE): Delete.
256 (SEM_BRANCH_INIT_EXTRACT): Delete.
257 (SEM_BRANCH_INIT): Replace npc_ptr with br_type.
258 (SEM_BRANCH_FINI): Ditto.
259 (SEM_BRANCH_VIA_ADDR): Ditto.
260 (SEM_BRANCH_VIA_CACHE): Ditto. Delete cachvarptr arg.
261 (SEM_BRANCH_ADDR_CACHE): Delete.
262 (SEM_SKIP_COMPILE,SEM_SKIP_INSN): New macros.
263 * cgen-scache.h (cpu_scache): Replace member pbb_pr_npc_ptr with
264 pbb_br_type.
265 * genmloop.sh (eng.hin): Update prototype of ${cpu}_pbb_cti_chain.
266 (@cpu@_pbb_begin): Initialize branch_target.
267 (@cpu@_pbb_cti_chain): Replace arg new_vpc_ptr with br_type.
268 (@cpu@_engine_run_full): Replace local pbb_br_npc_ptr with
269 pbb_br_type.
270 (@cpu@_engine_run_fast): Ditto.
271
adf40b2e
JM
272Fri Jul 16 14:47:53 1999 Dave Brolley <brolley@cygnus.com>
273
274 * cgen-utils.c (RORSI): New function.
275 (ROLSI): New function.
276
2771999-07-14 Doug Evans <devans@casey.cygnus.com>
278
279 * Makefile.in (TAGS): Tweak TAGS regex.
280 * cgen-mem.h (*): Add TAGS markers.
281
43e526b9
JM
282Sun Jul 11 23:47:20 1999 Andrew Cagney <cagney@b1.cygnus.com>
283
284 * sim-resume.c (sim_resume): Ensure that the siggnal [sic] is only
285 passed in when sim_resume is first entered - don't re-pass it
286 after a restart.
287
288Sun Jul 11 23:34:44 1999 Andrew Cagney <cagney@b1.cygnus.com>
289
290 * sim-options.c (standard_option_handler): Add OPTION_LOAD_VMA and
291 OPTION_LOAD_LMA but only when is defined.
292 (standard_options): When SIM_HANDLES_LMA is defined include
293 options --load-lma and --load-vma.
294 (standard_install): Initialize STATE_LOAD_AT_LMA_P.
295
296 * sim-base.h (STATE_LOAD_AT_LMA_P): Define.
297 (struct sim_state_base): Add load_at_lma_p.
298 * sim-hload.c (sim_load): Replace SIM_HANDLES_LMA with
299 STATE_LOAD_AT_LMA_P.
300
301Sun Jul 11 12:03:36 1999 Andrew Cagney <cagney@b1.cygnus.com>
302
303 * nrun.c (main): Re-format loop gnu style.
304
9846de1b
JM
305Wed Jul 7 19:56:03 1999 Andrew Cagney <cagney@b1.cygnus.com>
306
307 * dv-sockser.c (connected_p): Initialize addrlen.
308
3091999-07-06 Dave Brolley <brolley@cygnus.com>
310
311 * cgen-accfp.c (floatsidf): New function.
312 (fixdfsi): New function.
313
3141999-07-06 Doug Evans <devans@casey.cygnus.com>
315
316 * sim-model.c (sim_model_init): Issue error if machine is unsupported.
317
43ff13b4
JM
3181999-07-05 Doug Evans <devans@casey.cygnus.com>
319
320 * Make-common.in (CGEN_MAIN_CPU_DEPS): Add cgen-fpu.h.
321 (cgen-fpu.o,cgen-accfp.o): Add rules for.
322 * cgen-fpu.c: New file.
323 * cgen-fpu.h: New file.
324 * cgen-accfp.c: New file.
325 * cgen-cpu.h (CGEN_CPU): New member fpu.
326 * cgen-mem.h: Redo fp support.
327 * cgen-ops.h: Delete k&r support. Redo fp support.
328 * cgen-sim.h: Include cgen-fpu.h.
329 * cgen-types.h (SF,DF,XF,TF): Moved to cgen-fpu.h.
330
085dd6e6
JM
3311999-06-23 Doug Evans <devans@casey.cygnus.com>
332
333 * cgen-engine.h (TARGET_SEM_BRANCH_FINI): Remove cruft at end of
334 ifndef.
335 * genmloop.sh (@cpu@_scache_lookup): Delete unused local var.
336 (@cpu@_pbb_cti_chain): Minor clean up.
337
cd0fc7c3
SS
3381999-05-08 Felix Lee <flee@cygnus.com>
339
340 * aclocal.m4: Use AC_EXEEXT instead of AM_EXEEXT. Delete defn of
341 AM_CYGWIN32 and AM_EXEEXT.
342 * configure: Regenerate.
343
7a292a7a
SS
344Fri Apr 16 16:43:22 1999 Doug Evans <devans@charmed.cygnus.com>
345
346 * sim-core.c (device_error,device_io_read_buffer,
347 device_io_write_buffer): Delete decls.
348 * sim-core.h: Put them here.
349
350 * sim-core.c (sim_core_read_buffer): Pass sd to device_io_read_buffer.
351 (sim_core_write_buffer): Pass sd to device_io_write_buffer.
352 * sim-n-core.h (sim_core_read_aligned_N): Ditto.
353 (sim_core_write_aligned_N): Ditto.
354
3551999-04-14 Stephane Carrez <stcarrez@worldnet.fr>
356
357 * sim-memopt.c (sim_memory_uninstall): Don't look into
358 free()d memory.
359
3601999-04-14 Doug Evans <devans@casey.cygnus.com>
361
362 * cgen-utils.scm (virtual_insn_entries): Update attribute definition.
363
3641999-04-13 Doug Evans <devans@casey.cygnus.com>
365
366 * sim-core.c (sim_core_read_buffer): Handle NULL cpu when WITH_DEVICES.
367 (sim_core_write_buffer): Ditto.
368
3691999-04-02 Keith Seitz <keiths@cygnus.com>
370
371 * sim-io.c (sim_io_poll_quit): Only call the poll_quit callback
372 after the interval counter has expired.
373 (POLL_QUIT_INTERVAL): Define. Used to tweak the frequency of
374 poll_quit callbacks. May be overridden by Makefile.
375 (poll_quit_counter): New global.
376 * sim-events.c: Remove all mentions of ui_loop_hook. The
377 host callback "poll_quit" will serve the purpose.
378 * run.c: Add definition of ui_loop_hook when NEED_UI_LOOP_HOOK
379 is defined.
380 * nrun.c: Remove declaration of ui_loop_hook.
381
382Wed Mar 31 18:55:41 1999 Doug Evans <devans@canuck.cygnus.com>
383
384 * cgen-run.c (sim_resume): Don't tell main loop to run "forever"
385 if being used by gdb.
386
3871999-03-22 Doug Evans <devans@casey.cygnus.com>
388
389 * cgen-types.h (XF,TF): Tweak.
390 * cgen-ops.h: Redo inline support. Delete DI_FN_SUPPORT,
391 in cgen-types.h.
392 (SUBWORD*,JOIN*): Define.
393 * cgen-trace.c (sim_cgen_disassemble_insn): Update, base_insn_bitsize
394 moved into cpu descriptor.
395 * sim-model.h (MACH): New member `num'.
396
c906108c
SS
3971999-02-09 Doug Evans <devans@casey.cygnus.com>
398
c906108c
SS
399 * cgen-cpu.h (CGEN_DISASSEMBLER): New type.
400 (CGEN_CPU): Member opcode renamed to cpu_desc.
401 New members get_idata,disassembler.
402 * cgen-defs.h (CGEN_INSN_VIRTUAL_P): CGEN_INSN_ATTR renamed to
403 CGEN_INSN_ATTR_VALUE.
404 (CGEN_STATE): Delete member opcode_table.
405 (sim_disassemble_insn): Delete decl.
406 * cgen-engine.h (struct insn_sem): Moved to here from <cpu>-decode.c.
407 (struct idesc): Moved to here from <cpu>-decode.h.
408 * cgen-run.c (prime_cpu): Call prepare_run callback.
409 * cgen-trace.h (SFILE): New type.
410 (sim_disasm_sprintf): Declare.
411 (sim_disasm_read_memory,sim_disasm_perror_memory): Declare.
412 (sim_cgen_disassemble_insn): Declare.
413 * cgen-trace.c: Include errno.h,dis-asm.h. Don't include cpu-opc.h.
414 (insn_fields): Delete.
415 (trace_insn_fini): STATE_OPCODE_TABLE (sd) replaced with
416 CPU_CPU_DESC (cpu).
417 (trace_insn): Call CPU_DISASSEMBLER hook.
418 (sim_disasm_sprintf): New function.
419 (sim_disasm_read_memory): New function.
420 (sim_disasm_perror_memory): New function.
421 (sim_cgen_disassemble_insn): New function.
422 * cgen-utils.c: Don't include cpu-opc.h.
423 (virtual_insn_entries): New static local.
424 (cgen_virtual_insn_table): Renamed from cgen_virtual_opcode_table.
425 (cgen_insn_name): Rewrite.
426 (disasm_sprintf,sim_disassemble_insn): Moved to cgen-trace.c.
427 * cgen.sh (desc): New file generator handler.
428 * genmloop.sh: -parallel changed to -parallel-read/-parallel-write.
429 Define WITH_PARALLEL_READ/WITH_PARALLEL_WRITE appropriately.
430 Don't include cpu-opc.h,cpu-sim.h.
431 * sim-model.c (model_set): Delete SIM_DESC arg.
432 (sim_model_set): Update.
433 * sim-model.h (MACH): New member prepare_run.
434
4351999-01-28 Frank Ch. Eigler <fche@cygnus.com>
436
437 * sim-memopt.c (memory_option_handler): Avoid memset() calls
438 if redundant with allocator functions.
439
440Wed Jan 27 17:19:09 1999 Doug Evans <devans@canuck.cygnus.com>
441
442 * cgen-engine.h (EXTRACT_LSB0_{INT,UINT}): Fix.
443
444 * sim-profile.h: Make like sim-trace.h.
445 (PROFILE_USEFUL_MASK): New macro.
446 * sim-profile.c (profile_options): Make like trace_options, allow
447 optional on|off arg where applicable.
448 (set_profile_option_mask): New function.
449 (sim_profile_set_option): New function.
450 (profile_option_handler): Simplify.
451 Have -p only enable selected things, not everything.
452 Add missing break to OPTION_PROFILE_PC_RANGE.
453 * cgen-scache.c (scache_options): Allow optional on|off arg to
454 --profile-scache.
455 (scache_option_handler): Use sim_profile_set_option.
456
4571999-01-26 Frank Ch. Eigler <fche@cygnus.com>
458
459 * sim-memopt.c (memory_options): Add MEMORY_FILL option.
460 (memory_option_handler): Implement MEMORY_FILL option. Make
461 MEMORY_CLEAR an alias for MEMORY_FILL=0.
462 (parse_ulong_value): New function.
463 (do_memopt_add): Allocate all buffers. Optionally fill them.
464
4651999-01-15 Richard Henderson <rth@cygnus.com>
466
467 * hw-events.c (hw_event_queue_schedule): _vtracef takes a
468 va_list, not an integer.
469 * sim-events.c (sim_events_schedule): Likewise.
470
471 * sim-types.h (UNSIGNED32, UNSIGNED64): Properly cast to
472 the appropriate type.
473
4741999-01-14 Doug Evans <devans@casey.cygnus.com>
475
476 * cgen-defs.h (PCADDR,CIA): Define in terms of IADDR.
477 (sim_disassemble_insn): Update prototype.
478 (sim_engine_invalid_insn): Ditto.
479 * cgen-engine.h (SEMANTIC_FN): Add !WITH_SCACHE version.
480 (SEM_BRANCH_INIT): PCADDR->IADDR.
481 (SEM_NBRANCH_FINI): New macro for !WITH_SCACHE case.
482 * cgen-scache.c (scache_lookup,scache_lookup_or_alloc): PCADDR->IADDR.
483 * cgen-scache.h (*): Ditto.
484 * cgen-trace.c (*): Ditto.
485 * cgen-trace.h (*): Ditto.
486 * cgen-utils.c (*): Ditto.
487 * cgen-types.h (integer modes): Use signedNN/unsignedNN types.
488 (insn_t): Delete.
489 * genmloop.sh (@cpu@_fill_argbuf): Add !WITH_SCACHE support.
490 (simple engine framework): Rewrite.
491 * sim-module.c (modules): Install model module sooner (and in
492 particular before the profile module).
493
4941999-01-12 Doug Evans <devans@casey.cygnus.com>
495
496 * sim-model.h (sim_mach_lookup_bfd_name): Add prototype.
497 * sim-model.c (sim_mach_lookup_bfd_name): New function.
498 (sim_model_init): Call it.
499
500 * cgen-trace.c (trace_insn): Pass pc to trace_prefix for virtual insns.
501
5021999-01-05 Doug Evans <devans@casey.cygnus.com>
503
504 * Make-common.in (CGEN_INCLUDE_DEPS): Add cgen-defs.h, cgen-engine.h.
c906108c
SS
505 * cgen-engine.h (SEM_BRANCH_FINI): New arg pcvar, all uses updated.
506 (SEM_BRANCH_INIT_EXTRACT): New macro.
507 (SEM_BRANCH_INIT): Add taken_p.
508 (TARGET_SEM_BRANCH_FINI): Provide default definition.
509 (SEM_BRANCH_FINI): Use it.
510 (SEM_INSN): Update.
511 * cgen-run.c (sim_resume): Handle tracing of last insn.
512 * cgen-scache.h (WITH_SCACHE): Define as 0 if not defined.
513 * cgen-trace.c (current_abuf): New static global.
514 (trace_insn_init): Initialize it.
515 (trace_insn_fini): Use it.
516 (trace_insn): Set it.
517 * cgen.sh (arch case): Pass -m ${mach} to cgen.
518 * genmloop.sh (@cpu@_emit_before): Only define if WITH_SCACHE_PBB.
519 (@cpu@_emit_after): Ditto.
520 (simple @cpu@_engine_run_full): New local `pc'. Initialize semantic
521 labels if WITH_SEM_SWITCH_FULL.
522 * sim-model.c: Include bfd.h.
523 (sim_model_init): New function.
524 (sim_model_install): Record init fn.
525 * sim-model.h (MACH): New member bfd_name.
526 * sim-module.c (modules): Initialize model before scache.
527
5281998-12-24 Frank Ch. Eigler <fche@cygnus.com>
529
530 * dv-sockser.c (DEFAULT_TIMEOUT): Increase to 1 ms.
531
532 * nrun.c (main): Remain in simulation loop for traps and
533 exceptions when in operating environment mode.
534 (ui_loop_hook): New stub hook for standalone use.
535 * sim-events.c (sim_events_process): Call ui_loop_hook
536 periodically on CYGWIN host.
537
538 * sim-reason.c (sim_stop_reason): Return host signal numbers
539 to gdb on sim_stopped and sim_signalled cases.
540 * sim-engine.c (sim_engine_halt): Call SIM_CPU_EXCEPTION_SUSPEND
541 hook just before longjmp.
542 * sim-resume.c (sim_resume): Call SIM_CPU_EXCEPTION_RESUME
543 hook just before sim_engine_run.
544
545 * sim-n-core.h (sim_core_trace_M): Allay const warning.
546 * sim-trace.h (trace_generic): Ditto.
547 * sim-trace.c (trace_generic): Ditto.
548
5491998-12-14 Doug Evans <devans@casey.cygnus.com>
550
551 * Make-common.in (SIM_MAIN_DEPS): New var.
552 (CGEN_MAIN_CPU_DEPS): New var.
553 * aclocal.m4: Add --enable-cgen-maint option.
554 * cgen-mem.h (GETMEM*): New arg `pc'. Pass to sim_core routine.
555 (SETMEM*): Ditto.
556 (GETIMEM*): Pass pc value to sim_core routine.
557
558Fri Dec 11 16:58:36 1998 Andrew Cagney <cagney@b1.cygnus.com>
559
560 * hw-handles.c (hw_handle_add_ihandle, hw_handle_add_phandle):
561 Compare with ZERO not NULL.
562
563Thu Dec 10 14:14:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
564
565 * hw-properties.c, hw-instances.c, hw-tree.c: Include
566 "sim-assert.h".
567
5681998-12-09 Doug Evans <devans@casey.cygnus.com>
569
570 * sim-arange.c: Include libiberty.h, and stdlib.h if present.
571 * sim-trace.c: Include stdlib.h if present.
572 * dv-sockser.c: Include unistd.h if present.
573 (dv_sockser_init): Add missing arg to call to sim_io_eprintf.
574 * cgen-scache.c (scache_flush): Delete unused locals i,sc.
575
5761998-12-08 James E Wilson <wilson@wilson-pc.cygnus.com>
577
578 * gennltvals.sh: Add i960.
579 * nltvals.def: Rebuild.
580
5811998-12-04 Doug Evans <devans@casey.cygnus.com>
582
583 * cgen-defs.h: New file, old cgen-sim.h.
584 * cgen-sim.h: Simple header that includes others.
585 * sim-arange.c: New file.
586 * sim-arange.h: New file.
587 * sim-basics.h: Include it.
588 * Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-arange.o.
589 (sim-arange.o): Add rule for.
590 * sim-cpu.h (sim_cpu_msg_prefix): Add prototype.
591 (sim_io_eprintf_cpu): Add prototype.
592 * sim-inline.h (HAVE_INLINE): Define if GNUC.
593 (INLINE2): New macro.
594 (EXTERN_INLINE): New macro.
595 * sim-module.c (sim_post_argv_init): Initialize cpu backlink
596 before calling module init fns.
597 * sim-profile.c (OPTION_PROFILE_*): Move into enum.
598 (profile_init): New function.
599 (profile_options): New option --profile-range.
600 (profile_option_handler): Handle --profile-range.
601 (profile_print_insn): Qualify address range specific section titles.
602 (profile_print_addr_ranges): New function.
603 (profile_info): Print address ranges if specified.
604 (profile_install): Set profile_init init fn.
605 * sim-profile.h (PROFILE_DATA): New member `range'.
606 * sim-trace.c (trace_init): New function.
607 (trace_options): New option --trace-range.
608 (trace_option_handler): Handle --trace-range.
609 (trace_install): Set trace_init init fn.
610 * sim-trace.h (TRACE_DATA): New member `range'.
611 * sim-utils.c (sim_cpu_msg_prefix): New function.
612 (sim_io_eprintf_cpu): New function.
613 * cgen-engine.h (PC_IN_TRACE_RANGE_P): New macro.
614 (PC_IN_PROFILE_RANGE_P): New macro.
615 * cgen-trace.c (trace_insn_init): Set current_insn to NULL.
616 (trace_insn_fini): New arg abuf. All callers updated.
617 Exit early if trace_insn not called. Check ARGBUF_PROFILE_P before
618 printing cycle counts.
619 * cgen-trace.h (trace_insn_fini): Update prototype.
620 (TRACE_RESULT_P): New macro.
621 (TRACE_INSN_INIT,TRACE_INSN_FINI): New arg abuf. All callers updated.
622 (TRACE_INSN): Check ARGBUF_TRACE_P.
623 (TRACE_EXTRACT,TRACE_RESULT): New arg abuf. All callers updated.
624 * cgen-types.h (SIM_INLINE): Delete.
625 (SIM_HAVE_MODEL,SIM_HAVE_ADDR_RANGE): Define.
626 * cgen-utils.c: Don't include cgen-engine.h
627 * genmloop.sh (@cpu@_fill_argbuf): New function.
628 (@cpu@_fill_argbuf_tp): New function.
629 (@cpu@_emit_before,@cpu@_emit_after): New functions.
630 (@cpu@_pbb_begin): Prefix cti_sc,insn_count with '_'.
631 (SET_CTI_VPC,SET_INSN_COUNT): Update.
632 (@cpu@_pbb_before): Check ARGBUF_PROFILE_P before calling
633 doing profiling. Update call to TRACE_INSN_INIT,TRACE_INSN_FINI.
634 (@cpu@_pbb_after): Check ARGBUF_PROFILE_P before calling
635 doing profiling. Update call to TRACE_INSN_FINI.
636
637 * sim-memopt.c (sim_memory_uninstall): Result type is `void'.
638
6391998-12-03 Frank Ch. Eigler <fche@cygnus.com>
640
641 * sim-memopt.c (sim_memory_uninstall): Deallocate all memory
642 regions.
643
6441998-12-01 Doug Evans <devans@casey.cygnus.com>
645
646 * sim-inline.c (SIM_INLINE_P): Fix typo.
647
6481998-11-30 Doug Evans <devans@casey.cygnus.com>
649
650 * cgen-utils.c (cgen_virtual_opcode_table): Update.
651
652Tue Nov 24 18:40:03 1998 Andrew Cagney <cagney@b1.cygnus.com>
653
654 * gennltvals.sh: Add v850 and d10v. Sort alphabetically.
655 * nltvals.def: Re-generate.
656
657Mon Nov 23 13:28:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
658
659 * sim-core.c (reverse_n, sim_core_uninstall, sim_core_init,
660 sim_core_map_attach, sim_core_map_detach, next_event_queue,
661 new_sim_core_mapping): Only define when EXTERN_SIM_CORE_P, pacify
662 GCC.
663 * sim-events.c (sim_events_uninstall, sim_events_suspend,
664 sim_events_resume, sim_events_zalloc, insert_sim_event): Ditto.
665
6661998-11-22 Doug Evans <devans@tobor.to.cygnus.com>
667
668 * genmloop.sh (${cpu}_pbb_chain): Watch for Ctrl-C's.
669 (${cpu}_pbb_cti_chain): Ditto.
670
6711998-11-18 Doug Evans <devans@casey.cygnus.com>
672
673 * Make-common.in (cgen-utils.o): Depend on cgen-engine.h.
c906108c
SS
674 * cgen-engine.h (EXTRACT_[ML]SB0_{INT,UINT}): New macros.
675 (EXTRACT_INT,EXTRACT_UINT): New macros.
676 (SEM_SEM_ARG): New macro.
677 (SEM_NEXT_VPC): New arg `pc'.
678 * cgen-sim.h (EXTRACT_SIGNED,EXTRACT_UNSIGNED): Delete.
679 (sim_disassemble_insn): Update prototype.
680 * cgen-trace.c (current_insn,insn_fields): New static locals.
681 (trace_insn): Set them.
b83266a0 682 * cgen-utils.c: #include cgen-engine.h.
c906108c
SS
683 (sim_disassemble_insn): New arg insn_fields.
684 Handle variable length insns.
685 * genmloop.sh: Only emit pbb decls if -pbb.
686 (${cpu}_scache_lookup): New arg `vpc'.
687 (scache support): Fetch pc before entering loop.
688
689 * gennltvals.sh: Add fr30 support.
690 * nltvals.def: Rebuild.
691
692Wed Nov 18 10:22:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
693
694 * sim-types.h: Re-do type system so that GCC's attribute and mode
695 are used to specify types. Handle case of ALPHA.
696
6971998-11-13 Frank Ch. Eigler <fche@elastic.org>
698
699 * aclocal.m4: Add tests for dlopen family.
700 * config.in: Regenerated.
701
702Wed Nov 11 14:02:25 1998 Doug Evans <devans@canuck.cygnus.com>
703
704 * sim-hload.c (sim_load): Pass `prog_name' to sim_load_file, not NULL.
705
706Wed Nov 4 23:51:19 1998 Doug Evans <devans@seba.cygnus.com>
707
708 * genmloop.sh (eng.hin): Rename HAVE_PARALLEL_EXEC to
709 HAVE_PARALLEL_INSNS, define as 0 or 1. Emit decls of fns in mloop.cin.
710 * cgen-engine.h: Typedefs of IADDR,CIA,SEM_ARG,SEM_PC moved ...
711 * cgen-sim.h: ... to here.
712
713Wed Oct 28 12:00:57 1998 Andrew Cagney <cagney@b1.cygnus.com>
714
715 * aclocal.m4 (enable-build-warnings): Replace
716 enable-sim-warnings. Extend =LIST syntax so that prepend and
717 append of options is possible. Drop -Werror, add
718 -Wstrict-prototypes for GDB compatibility.
719 * Make-common.in (SIM_WARNINGS): Update.
720
721Mon Oct 19 13:56:32 1998 Doug Evans <devans@seba.cygnus.com>
722
723 * Make-common.in (CGEN_INCLUDE_DEPS): Define.
724 (sim-core.o): Delete duplicate dependence on $(SIM_EXTRA_DEPS).
725 (sim-cpu.o,sim-endian.o,sim-hw.o): Ditto.
726 (cgen-run.o,cgen-scache.o,cgen-trace.o,cgen-utils.o): Delete
727 explicit cgen header dependencies, require SIM_EXTRA_DEPS to include
728 CGEN_INCLUDE_DEPS.
729 * cgen-cpu.h: New file.
730 * cgen-engine.h: New file.
731 * cgen-scache.h: New file.
732 * cgen-sim.h: Delete portions moved to new files.
733 * genmloop.sh: Generate two files eng.hin,mloop.cin explicitly,
734 rather than sending result to stdout.
735
736Fri Oct 9 14:20:22 1998 Doug Evans <devans@seba.cygnus.com>
737
738 * Make-common.in (sim-reg.o): New rule.
739 (cgen-run.o): New rule.
740 * cgen-ops.h: Delete many BI macros. Change all UBI -> BI.
741 * cgen-run.c (prime_cpu): New function.
742 * cgen-scache.c: Add pseudo-basic-block (pbb) scaching support.
743 (scache_option_handler, case OPTION_PROFILE_SCACHE): Handle explicitly
744 mentioned cpu.
745 (scache_flush_cpu,scache_lookup,scache_lookup_or_alloc): New fns.
746 * cgen-sim.h (CGEN_INSN_VIRTUAL_TYPE): New enum.
747 (CGEN_INSN_VIRTUAL_P): New macro.
748 (SEM_PC): New typedef.
749 (SEMANTIC_FN): Change type of result to SEM_PC.
750 (SEM_SET_FULL_CODE,SEM_SET_FAST_CODE,SEM_SET_CODE): New macros.
751 (IDESC_CTI_P,IDESC_SKIP_P): New macros.
752 (SCACHE_MAP): New typedef.
753 (CPU_SCACHE): Add pbb support.
754 (scace_lookup,scache_lookup_or_alloc,scache_flush_cpu): Declare.
755 (SEM_BRANCH_INIT_EXTRACT,SEM_BRANCH_INIT,SEM_BRANCH_FINI): New macros.
756 (CGEN_CPU): New members running_p,insn_count,{fast,full}_engine_fn,
757 max_slice_insns.
758 (INSN_NAME): Delete.
759 (cgen_insn_name): Declare.
760 (sim_engine_invalid_insn): Renamed from sim_engine_illegal_insn.
761 * cgen-trace.c (trace_buf): Shrink from 1024 to 256 bytes.
762 (first_insn_p): Make static.
763 (trace_insn): Handle virtual insns specially.
764 (cgen_trace_printf): Ensure we haven't overflowed the buffer.
765 * cgen-types.h (UBI): Delete.
766 (MODE_TYPE): New enum.
767 (HOSTINT,HOSTUINT,HOSTPTR): Delete.
768 * cgen-utils.c (mode_names): Delete UBI. Add INT,UINT,PTR.
769 (cgen_virtual_opcode_table): New global.
770 (cgen_insn_name): New function.
771 (sim_disassemble_insn): Ignore virtual insns.
772 * genmloop.sh: Delete top level loop generation. Add pbb support.
773 * sim-cpu.h (CPU_INSN_NAME_FN): New typedef.
774 (sim_cpu_base): New members max_insns,insn_name,model_data.
775 (CPU_PC_GET,CPU_PC_SET): New macros.
776 (sim_pc_get,sim_pc_set): Declare.
777 * sim-model.c (model_set): Call model init fn.
778 * sim-model.h (MODEL_FN): New typedef.
779 (INSN_TIMING): New member model_fn.
780 (MODEL): New members num,init.
781 * sim-profile.c (sim_profile_print_bar): Renamed from print_bar.
782 All callers updated.
783 (profile_insn_init): New fn.
784 (profile_print_insn): Update, INSN_NAME -> CPU_INSN_NAME.
785 Exit early if insn profiling not supported.
786 (profile_print_memory): Update, MAX_MODES -> MODE_TARGET_MAX.
787 (profile_install): Record profile_insn_init as init fn.
788 (profile_uninstall): Free PROFILE_INSN_COUNT if non-null.
789 * sim-profile.h: Update, MAX_MODES -> MODE_TARGET_MAX.
790 (PROFILE_DATA): Delete member exec_time.
791 Change insn_count to pointer to array, rather than the array.
792 (sim_profile_print_bar): Declare.
793
794Wed Oct 7 16:56:42 1998 Doug Evans <devans@seba.cygnus.com>
795
796 * cgen-run.c: New file.
797 * sim-reg.c: New file.
798
799Mon Sep 14 10:58:19 1998 Frank Ch. Eigler <fche@cygnus.com>
800
801 * aclocal.m4: Add checks for -lsocket and -lnsl.
802
803 * dv-sockser.c (dv_sockser_init): Use SO_REUSEADDR to
804 allow local port reuse on listening socket.
805
806Tue Sep 1 15:36:52 1998 Frank Ch. Eigler <fche@cygnus.com>
807
808 * sim-config.h: Remove reference to linux kernel header.
809
810Tue Aug 25 12:45:27 1998 Frank Ch. Eigler <fche@cygnus.com>
811
812 * dv-sockser.c (sockser_addr): Make variable non-static.
813
814Mon Aug 24 11:47:37 1998 Joyce Janczyn <janczyn@cygnus.com>
815
816 * sim-hw.{c,h} (sim_hw_parse): Return struct hw pointer.
817
818Tue Aug 11 18:12:19 1998 Doug Evans <devans@canuck.cygnus.com>
819
820 * sim-events.c (sim_events_elapsed_time): Fix calculation.
821
822Tue Aug 4 20:36:46 1998 Jeff Holcomb <jeffh@cygnus.com>
823
824 * Make-common.in (install-common): Add $(EXEEXT) when installing
825 run.
826
827Mon Aug 3 11:46:01 1998 Doug Evans <devans@seba.cygnus.com>
828
829 * cgen-sim.h (cgen_state): New member opcode_table.
830 * cgen-utils.c (sim_disassemble_insn): Use it.
831
832Fri Jul 24 10:14:18 1998 Doug Evans <devans@canuck.cygnus.com>
833
834 * cgen-mem.h (DECLARE_SETT): Fix return type.
835 * cgen-sim.h (sim_engine_illegal_insn): Declare.
836 * cgen-scache.c: Include stdlib.h.
837 * cgen-trace.c (trace_extract): Use %lx for PCADDR.
838 * sim-model.c (model_option_handler): Remove unused variable `n'.
839
840Tue Jul 21 16:27:43 1998 Doug Evans <devans@seba.cygnus.com>
841
842 * cgen-utils.c: Include bfd.h.
843 (sim_disassemble_insn): Update call to CGEN_EXTRACT_FN.
844
845Wed Jul 8 18:24:10 1998 Jeffrey A Law (law@cygnus.com)
846
847 * sim-bits.h (EXTEND24): Fix typo.
848
849Wed Jul 8 17:41:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
850
851 * sim-events.c (ETRACE_P): New macro.
852 (struct _sim_event): Add member trace.
853 (sim_events_free): Reclaim trace message.
854
855 * sim-events.c, sim-events.h (sim_events_schedule_vtracef,
856 sim_events_schedule_tracef): New functions, include printf trace
857 information in argument list. If tracing, store asprintf'd trace
858 message in sim_event.
859
860 * hw-events.c, hw-events.h (hw_event_queue_schedule_tracef,
861 hw_event_queue_schedule_vtracef): New functions, mimic
862 sim_event_tracef.
863
864Mon Jul 6 15:51:14 1998 Jeffrey A Law (law@cygnus.com)
865
866 * sim-bits.h (EXTEND24): Define.
867
868Thu Jul 2 17:13:25 1998 Doug Evans <devans@seba.cygnus.com>
869
870 * cgen-sim.h (CPU_SCACHE): Make size unsigned.
871 (CPU_SCACHE_HASH_MASK): New macro.
872 (SCACHE_HASH_PC): Rewrite.
873 * genmloop.sh (engine_resume_{full,fast}): Move some of hash
874 computation out of main loop.
875
876Wed Jul 1 16:44:12 1998 Doug Evans <devans@seba.cygnus.com>
877
c906108c
SS
878 * cgen-sim.h (RECORD_IADDR): Delete.
879 * cgen-types.h (HOSTINT,HOSTUINT,HOSTPTR): New types.
880 * genmloop.sh (engine_resume_{full,fast}): Delete icount.
881
882Wed Jun 17 12:25:08 1998 Mark Alexander <marka@cygnus.com>
883
884 * gennltvals.def (mn10200): Add entry.
885 * nltvals.def: Regenerate with MN10200 additions.
886
887Wed Jun 17 13:18:28 1998 Andrew Cagney <cagney@b1.cygnus.com>
888
889 * sim-inline.h (EXTERN_*): Replace with EXTERN_*_P. Correct
890 documentation on how it works.
891
892 * sim-core.h, sim-core.c (sim_core_install, sim_core_attach,
893 sim_core_detach, sim_core_read_buffer, sim_core_write_buffer,
894 sim_core_set_xor, sim_core_xor_read_buffer,
895 sim_core_xor_write_buffer): Update.
896
897 * sim-events.h, sim-events.c (sim_events_install,
898 sim_events_watch_clock, sim_events_schedule_after_signal,
899 sim_events_schedule, sim_events_watch_sim, sim_events_watch_core,
900 sim_events_deschedule): Update.
901
902 * sim-fpu.h, sim-fpu.c (sim_fpu_zero, sim_fpu_one, sim_fpu_two,
903 sim_fpu_max32, sim_fpu_max64): Update.
904
905Sat Jun 13 07:45:38 1998 Doug Evans <devans@fallis.cygnus.com>
906
907 * cgen-trace.c (trace_insn_fini): Redo cycle handling.
908 * sim-profile.h (PROFILE_DATA): Rename cycle handling members.
909 * sim-profile.c (profile_print_model): Update.
910
911Fri Jun 12 18:35:07 1998 Doug Evans <devans@seba.cygnus.com>
912
913 * gennltvals.def (m32r): Use common syscall.h now.
914 (mn10300): Add entry.
915 * nltvals.def: Regenerate.
916
917 * sim-engine.c (sim_engine_get_run_state): New function.
918 * sim-engine.h (sim_engine_get_run_state): Declare it.
919
920Thu Jun 11 00:50:03 1998 Doug Evans <devans@seba.cygnus.com>
921
922 * sim-core.h (SIM_CORE_SIGNAL_FN): New typedef.
923 * sim-core.c (sim_core_signal): Make extern, always define.
924
925Wed Jun 10 16:02:29 1998 Doug Evans <devans@seba.cygnus.com>
926
927 * Make-common.in (CGEN_FLAGS_TO_PASS): New variable.
928 * cgen-ops.h (ANDIF): New macro.
929 (ANDIF[BQHSD]I): Delete.
930
931Thu Jun 4 13:53:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
932
933 * hw-events.c (create_hw_event, delete_hw_event): Delete.
934 (hw_event_queue_schedule, hw_event_queue_deschedule,
935 bounce_hw_event): Fix hw-event memory corruptions found by Joyce
936 Janczyn.
937
938 * hw-alloc.h (HW_NZALLOC): Define.
939
940 * Make-common.in (test-hw-events): Add target for testing the
941 hw-event code.
942
943Mon May 25 21:11:26 1998 Andrew Cagney <cagney@b1.cygnus.com>
944
945 * Make-common.in (SIM_COMMON_HW_OBJS): Add hw-handles.o and
946 hw-instances.o.
947 hw-handles.c, hw-instances.c, hw-handles.h, hw-instances.h: New
948 files.
949 * hw-main.h: Include hw-handles.h, hw-instances.h.
950 * hw-base.h ({create,delete}_hw_{handles,instances}_data): Declare
951 * hw-base.c (hw_create, hw_delete): Call same.
952
953Mon May 25 18:55:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
954
955 * dv-core.c: Include hw-main.h and sim-main.h.
956 * dv-pal.c: Include hw-main.h and sim-io.h.
957 * dv-glue.c: Include hw-main.h.
958
959 * hw-main.h: New file. Move list of includes to here.
960 * hw-base.h: From here.
961 * Make-common.in (hw_base_headers): Rename to hw_main_headers.
962 (hw-*.o, dv-*.o): Update.
963 * hw-tree.c, hw-base.c, hw-properties.c, hw-ports.c, hw-device.c,
964 hw-events.c, hw-alloc.c, sim-hw.c: Include hw-main.h instead of
965 sim-main.h.
966
967 * hw-base.h (do_hw_attach_regs, do_hw_poll_read_method,
968 do_hw_poll_read): Move declarations from here.
969 * hw-main.h: To here.
970
971 * hw-base.h (struct hw_device_descriptor, hw_finish_callback):
972 Move from here.
973 * hw-main.h (struct hw_descriptor, hw_finish_method): To here,
974 rename.
975 * Make-common.in (hw-config.h): Update
976 * hw-base.c, dv-pal.c, dv-glue.c: Update
977
978 * dv-glue.c, hw-device.h, hw-base.h, hw-ports.c: Rename
979 `*_callback' to `*_method.
980
981Mon May 25 18:41:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
982
983 * hw-base.h (set_*): Move set method macros from here.
984 * hw-device.h: To here.
985
986Mon May 25 18:21:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
987
988 * hw-base.h (create_hw_property_data, delete_hw_property_data):
989 Declare.
990
991 * hw-base.c (hw_create, hw_delete): Call
992 * hw-properties.c (create_hw_property_data,
993 delete_hw_property_data): Define.
994
995Mon May 25 17:40:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
996
997 * hw-device.c, hw-properties.c: Include hw-base.h
998
999 * hw-alloc.h, hw-alloc.c: New files. Move alloc code to here.
1000 * hw-device.c: From here.
1001 * hw-base.h: Include "hw-events.h".
1002
1003 * hw-base.h (create_hw_alloc_data, delete_hw_alloc_data): Declare.
1004 * hw-base.c (hw_create, hw_delete): Call.
1005 * hw-alloc.c (create_hw_alloc_data, delete_hw_alloc_data): Define.
1006
1007 * Make-common.in (SIM_NEW_COMMON_OBJS): Add hw-alloc.o.
1008 (hw-alloc.o): New target.
1009
1010Mon May 25 17:14:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
1011
1012 * hw-events.h, hw-events.c: New files. Move event code to here.
1013 * sim-hw.c: From here.
1014 * hw-base.h: Include "hw-events.h".
1015 * Make-common.in (SIM_NEW_COMMON_OBJS): Add hw-events.o.
1016 (hw-events.o): New target.
1017
1018 * hw-device.h (struct hw): Add struct hw_event_data events_of_hw.
1019 * hw-events.h (struct hw_event): Replace typedef hw_event.
1020
1021 * hw-base.h (create_hw_event_data, delete_hw_event_data): Declare.
1022 * hw-base.c (hw_create, hw_delete): Call.
1023 * hw-events.c (create_hw_event_data, delete_hw_event_data): Define.
1024
1025 * dv-pal.c: Update.
1026
1027Mon May 25 16:55:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
1028
1029 * hw-base.c (panic_hw_port_event, empty_hw_ports): Move from here.
1030 * hw-ports.c: To here.
1031
1032 * hw-base.h, hw-ports.c (create_hw_port_data,
1033 delete_hw_port_data): New functions.
1034 * hw-base.c (hw_delete, hw_create): Call same.
1035
1036 * hw-base.h (set_hw_ports, set_hw_port_event): Move set functions
1037 from here.
1038 * hw-ports.h: To here.
1039
1040Mon May 25 16:42:48 1998 Andrew Cagney <cagney@b1.cygnus.com>
1041
1042 * hw-device.c (hw_ioctl), hw-device.h (hw_ioctl_callback): Drop
1043 PROCESSOR and CIA arguments.
1044
1045Fri May 22 12:16:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
1046
1047 * aclocal.m4 (SIM_AC_OPTION_HW): Add enable / disable argument.
1048 Move common object files from here.
1049 * Make-common.in (SIM_COMMON_HW_OBJS): To here.
1050
1051Thu May 21 17:57:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
1052
1053 * sim-hw.c: Include ctype.h.
1054 (do_hw_poll_read): Do not assume EAGAIN.
1055
1056Wed May 20 04:37:57 1998 Doug Evans <devans@seba.cygnus.com>
1057
1058 * cgen-trace.c (first_insn_p): New static local.
1059 (trace_insn_init): Set it.
1060 (trace_insn_fini): Use TRACE_PREFIX.
1061 (trace_insn): Rewrite to use trace_prefix.
1062 * sim-trace.c (trace_prefix): Don't print filename arg if NULL.
1063 Adjust width accordingly.
1064
1065 * sim-profile.h (PROFILE_DATA): New member profile_any_p.
1066 (PROFILE_ANY_P,PROFILE_INSN_P,PROFILE_MEMORY): New macros.
1067 (PROFILE_SCACHE_P,PROFILE_PC_P,PROFILE_CORE_P): New macros.
1068 (PROFILE_COUNT_INSN,PROFILE_COUNT_READ,PROFILE_COUNT_WRITE): Simplify.
1069 (PROFILE_COUNT_CORE): Simplify.
1070 * sim-profile.c (profile_option_handler): Compute profile_any_p.
1071
1072Tue May 19 23:55:30 1998 Doug Evans <devans@seba.cygnus.com>
1073
1074 * cgen-ops.h (ADDCFSI): Fix typo.
1075
1076Sat May 16 12:44:52 1998 Doug Evans <devans@seba.cygnus.com>
1077
1078 * cgen-sim.h (CGEN_CPU): New members idesc_{read,sem}_init_p.
1079 * genmloop.sh: Use them rather than static locals.
1080
1081 * sim-engine.c (sim_engine_set_run_state): New function.
1082 * sim-engine.h (sim_engine_set_run_state): Declare.
1083 * genmloop.sh (pending_reason,pending_sigrc): New static locals.
1084 (@cpu@_engine_stop): New args reason,sigrc. All callers updated.
1085 (engine_resume): Reorganize. Allow synchronous exit from main loop.
1086
1087Fri May 15 16:06:05 1998 Doug Evans <devans@seba.cygnus.com>
1088
1089 * cgen-trace.c (trace_insn_init): New arg first_p.
1090 All callers updated.
1091 (trace_insn_fini): New arg last_p. All callers updated.
1092 * cgen-trace.h (trace_insn_init,trace_insn_fini): Update.
1093 (TRACE_INSN_INIT,TRACE_INSN_FINI): Update.
1094 * genmloop.sh (engine_resume): Update.
1095
1096Fri May 15 15:59:00 1998 Joyce Janczyn <janczyn@cygnus.com>
1097
1098 * Make-common.in (install-common): Run ranlib on installed copy of
1099 libsim.a.
1100
1101Fri May 15 15:03:00 1998 Joyce Janczyn <janczyn@cygnus.com>
1102
1103 * Make-common.in (install-common): Rename and install libsim.a.
1104
1105Tue May 12 15:23:57 1998 Andrew Cagney <cagney@b1.cygnus.com>
1106
1107 * sim-io.c (unistd.h): Include.
1108
1109Wed May 6 16:04:18 1998 Doug Evans <devans@seba.cygnus.com>
1110
1111 * Make-common (sim_main_headers): Sort.
1112 (cgen-*.o): Add cgen-sim.h dependency.
1113
1114 * cgen-scache.c (scache_init): Only allocate space if scache element
1115 size is non-zero.
1116 (scache_flush,scache_print_profile): Check if scache in use first.
1117
1118 * cgen-sim.h (IDESC): Provide forward declaration.
1119 (DECODE): Delete.
1120 (CGEN_CPU): Always define scache member. New members idesc,opcode.
1121 (cgen_cpu_max_extra_bytes): Declare.
1122 * cgen-utils.c (cgen_cpu_max_extra_bytes): New function.
1123
c906108c
SS
1124 * sim-cpu.h: New file. sim_cpu_base moved here.
1125 Move sim_cpu_lookup decl here.
1126 * sim-base.h: #include "sim-cpu.h".
1127 * sim-cpu.c: New file.
1128 * Make-common (sim_main_headers): Add sim-cpu.h.
1129 (sim-cpu.o): Add rule for.
1130
1131 * sim-model.c (set_model): Delete.
1132 (sim_model_set,model_set): New functions.
1133 (sim_model_install): Renamed from model_install.
1134 Don't set default model here.
1135 (model_option_handler): Rewrite --model processing.
1136 (sim_model_lookup,sim_mach_lookup): New functions.
1137 * sim-model.h (MAX_MODELS,MAX_INSNS): Delete.
1138 (insn_timing): Delete.
1139 (INSN_TIMING): New member `num'.
1140 (IMP_PROPERTIES): Always define scache_elm_size member.
1141 (MACH): New member init_cpu.
1142 (sim_machs): Renamed from machs.
1143 (sim_model_install): Renamed from model_install.
1144 (sim_model_set,sim_model_lookup,sim_mach_lookup): Declare.
1145 * sim-module.c (modules): Update.
1146
1147 * sim-profile.c (profile_print_insn): Add cpu arg to INSN_NAME macro.
1148
1149 * sim-io.c: #include <errno.h>.
1150
1151Wed May 6 12:39:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
1152
1153 * dv-pal.c (struct hw_pal_device): Add reader.
1154 (hw_pal_finish): Initialize reader.
1155 (scan_hw_pal): Use reader.
1156
1157 * hw-base.h, sim-hw.c (do_hw_poll_read): New function.
1158 (HW_IO_EOF, HW_IO_NOT_READY): Define.
1159 * dv-pal.c: Use.
1160
1161 * sim-io.h, sim-io.c (sim_io_poll_read): New function. Copy from
1162 ../ppc/main.c sim_io_read_stdin.
1163
1164Fri May 1 12:11:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
1165
1166 * hw-tree.h (hw_tree_print): Paramaterize with print and file
1167 arguments.
1168 * hw-tree.c: Update.
1169
1170 * hw-base.h (hw_port_event_callback): Delete CPU/CIA args.
1171 * hw-device.h (hw_io_read_buffer, hw_io_write_buffer): Delete
1172 CPU/CIA args.
1173 * hw-ports.h (hw_port_event): Ditto.
1174 * hw-ports.c (hw_port_event): Update.
1175 * hw-base.c (panic_hw_io_read_buffer, panic_hw_io_write_buffer):
1176 Update.
1177 * dv-pal.c (hw_pal_io_read_buffer, hw_pal_io_write_buffer):
1178 Update.
1179 (hw_pal_io_write_buffer): Call hw_halt not sim_engine_halt.
1180 (do_counter_event): Update.
1181 * dv-glue.c (hw_glue_io_read_buffer): Update.
1182 (hw_glue_port_event): Update.
1183
1184 * hw-device.h (SIM_DESC): Replace with struct sim_state.
1185 * hw-base.h (hw_create): Ditto.
1186 * hw-base.c (hw_create): Ditto.
1187
1188 * hw-device.c (hw_abort, hw_trace, hw_hw_event_queue_schedule,
1189 hw_event_queue_deschedule, hw_event_queue_time): Delete, moved
1190 from here to.
1191 * sim-hw.c: Here.
1192 * hw-device.h (hw_system_cpu): Declare.
1193 * sim-hw.c (hw_system_cpu): New function.
1194
1195 * sim-core.c (sim_core_map_attach, sim_core_attach): Call
1196 sim_hw_abort not hw_abort.
1197 (sim-hw.h): Include.
1198 (sim_core_read_buffer, sim_core_write_buffer): Call
1199 sim_hw_io_read_buffer and sim_hw_io_write_buffer. Do not pass CPU
1200 argument.
1201 (sim_core_set_xor): Do not pass CPU when aborting.
1202
1203 * sim-n-core.h (sim_core_read_aligned_N,
1204 sim_core_write_aligned_N): Call sim_hw_abort not hw_abort.
1205 (sim_core_read_aligned_N, sim_core_write_aligned_N): Call
1206 sim_cpu_hw_io_read_buffer and sim_cpu_hw_io_write_buffer. Does not
1207 return length.
1208
1209 * sim-hw.h: Declare sim_hw_io_{read,write}_buffer. Declare
1210 sim_hw_print.
1211 * sim-hw.c (sim_hw_io_read_buffer, sim_hw_io_write_buffer,
1212 sim_cpu_hw_io_read_buffer, sim_cpu_hw_io_write_buffer): New
1213 functions.
1214 (sim_hw_print): New function.
1215
1216 * sim-engine.h (sim_engine_vabort): Declare.
1217 * sim-engine.c (sim_engine_vabort): New function.
1218
1219Wed Apr 29 23:58:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
1220
1221 * sim-trace.c (print_data): For floating-point numbers trace raw
1222 hex value.
1223 (trace_result_fp2): New function.
1224 * sim-trace.h (trace_result_fp2): New declaration.
1225 (TRACE_FP_RESULT2): New macro.
1226
1227Tue Apr 28 18:28:58 1998 Geoffrey Noer <noer@cygnus.com>
1228
1229 * common/aclocal.m4: call AM_EXEEXT in SIM_AC_COMMON, define
1230 AM_CYGWIN32 and AM_EXEEXT.
1231 * common/Make-common.in: set EXEEXT, add missing EXEEXTs
1232 to run and install-common rules.
1233 * common/configure: regenerate
1234
1235Sat Apr 25 17:45:01 1998 Andrew Cagney <cagney@b1.cygnus.com>
1236
1237 * sim-types.h (cell_word): New type.
1238 (natural_cell): Delete type.
1239
1240Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
1241
1242 * configure: Regenerated to track ../common/aclocal.m4 changes.
1243 * config.in: Ditto.
1244
1245Sun Apr 26 15:25:07 1998 Tom Tromey <tromey@cygnus.com>
1246
1247 * acconfig.h (NEED_DECLARATION_PRINTF): Removed.
1248
1249Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
1250
1251 * configure: Regenerated to track ../common/aclocal.m4 changes.
1252 * config.in: Ditto.
1253
1254Fri Apr 24 11:38:08 1998 Tom Tromey <tromey@cygnus.com>
1255
1256 * acconfig.h: New file.
1257 * Make-common.in (top_builddir): New macro.
1258 (INTL_LIB): Removed.
1259 (INTLLIBS): New macro.
1260 (INTLDEPS): Likewise.
1261 (LIBDEPS): Use INTLDEPS.
1262 (EXTRA_LIBS): Use INTLLIBS.
1263 * aclocal.m4 (SIM_AC_COMMON): Call CY_GNU_GETTEXT.
1264 (CY_WITH_NLS, CY_GNU_GETTEXT, AM_PATH_PROG_WITH_TEST,
1265 AM_LC_MESSAGES): New macros from GNU gettext.
1266
1267Fri Apr 24 19:57:59 1998 Andrew Cagney <cagney@b1.cygnus.com>
1268
1269 * sim-config.h: Discard leading _ from macros.
1270 * sim-types.h: Ditto.
1271
1272Wed Apr 22 14:14:19 1998 Michael Meissner <meissner@cygnus.com>
1273
1274 * Make-common.in (CSEARCH): Add -I to intl directories.
1275 (INTL_LIB): Point to libintl.a.
1276 (LIBDEPS): Add $(INTL_LIB).
1277 (EXTRA_LIBS): Ditto.
1278
1279Tue Apr 21 12:44:27 1998 Doug Evans <devans@canuck.cygnus.com>
1280
1281 * cgen-types.h (GETHIDI,MAKEDI): Tweak.
1282
1283 * cgen-ops.h (ADDCFSI): Fix.
1284 (SUBCFSI): Tweak.
1285
1286Tue Apr 21 13:18:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
1287
1288 * sim-types.h (signed_address, unsigned_address): Define.
1289
1290Mon Apr 20 21:47:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
1291
1292 * sim-fpu.c (sim_fpu_2d): Don't return an SNaN, convert it into a
1293 QNaN.
1294
1295Thu Apr 16 10:30:14 1998 Andrew Cagney <cagney@b1.cygnus.com>
1296
1297 * sim-fpu.c, sim-fpu.h (sim_fpu_fractionto, sim_fpu_tofraction):
1298 New functions, pack / unpack sim_fpu struct using raw values.
1299 (sim_fpu_is): Differentiate between negative and positive
1300 infinity.
1301
1302Tue Apr 14 18:49:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
1303
1304 * sim-bits.h (EXTEND4): Define.
1305 (EXTEND4, EXTEND15, EXTEND11): Ditto.
1306
1307Tue Apr 14 16:31:35 1998 John Metzler <jmetzler@cygnus.com>
1308
1309 * sim-memopt.c (parse_addr): Sunos 4.5 does not have strtol
1310 declared so we need this cast to prevent long long addresses
1311 from being misconfigures. Results in access to unmapped memory.
1312
1313Tue Apr 14 13:19:14 1998 Doug Evans <devans@canuck.cygnus.com>
1314
1315 * Make-common.in (RUNTESTFLAGS): Define.
1316 (check): Pass RUNTESTFLAGS to recursive make.
1317
1318Tue Apr 14 15:09:19 1998 Andrew Cagney <cagney@b1.cygnus.com>
1319
1320 * sim-info.c (sim_info): Be verbose when either VERBOSE or
1321 STATE_VERBOSE_P.
1322
1323Sat Apr 4 23:24:17 1998 Andrew Cagney <cagney@b1.cygnus.com>
1324
1325 * aclocal.m4 (sim-inline): By default, disable sim-inline when
1326 cross compiling.
1327
1328Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
1329
1330 * aclocal.m4 (sim-cflags): Add -fomit-frame-pointer to defaults.
1331 (sim-inline): Update to match sim-inline.[hc]
1332 * configure: Regenerated to track ../common/aclocal.m4 changes.
1333
1334 * Make-common.in (sim_main_headers): Add sim-inline.h
1335
1336 * sim-bits.h (sim-bits.c): Include when H_REVEALS_MODULE_P.
1337 selected.
1338 * sim-endian.h (sim-endian.c): Ditto.
1339
1340 * sim-events.h (_SIM_EVENTS_H_): Replace with SIM_EVENTS_H.
1341 (sim_events_set_trace): Delete unused prototype.
1342
1343 * sim-core.h (_SIM_CORE_H_): Replace with SIM_CORE_H.
1344 * sim-core.c (_SIM_CORE_C_): Ditto for SIM_CORE_C.
1345
1346 * sim-fpu.h (sim-fpu.c): Include when H_REVEALS_MODULE_P.
1347 (sim_fpu_to232i, sim_fpu_to232u, sim_fpu_i232to, sim_fpu_u232to):
1348 Comment out, not yet implemented in sim-fpu.c.
1349 (sim_fpu_zero, sim_fpu_one, sim_fpu_two, sim_fpu_qnan,
1350 sim_fpu_max32, sim_fpu_max64): Mark as EXTERN_SIM_FPU.
1351
1352 * sim-inline.h: Rewrite description.
1353 (H_REVEALS_MODULE_P, C_REVEALS_MODULE_P): Define.
1354 (SIM_MAIN_INLINE): Add inline option.
1355
1356 * sim-inline.c (semantics.c, idecode.c, engine.c, ...): Do not
1357 include generated files. Handled by generator directly.
1358
1359Sat Apr 4 01:07:06 1998 Andrew Cagney <cagney@b1.cygnus.com>
1360
1361 * sim-trace.c (set_trace_option_mask): Keep TRACE_ANY_P
1362 up-to-date.
1363
1364 * sim-trace.h (TRACE_ANY_P): Define.
1365 (struct _trace_data): Add trace_any_p.
1366
1367Mon Mar 30 17:11:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
1368
1369 * run.c (main): Handle all alternatives of enum sim_stop.
1370 (main): Delete unused `asection *s'.
1371
1372Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
1373
1374 * hw-tree.h, hw-tree.c (hw_tree_vparse): New function
1375
1376 * configure: Regenerated to track ../common/aclocal.m4 changes.
1377
1378 * sim-hw.c: New file.
1379 * sim-hw.h (sim_hw_parse): Declare function.
1380 (hw-tree.h): Do not include.
1381
1382 * sim-base.h (STATE_HW): Define.
1383 (struct sim_state_base): Add member struct *hw.
1384
1385 * sim-module.c (sim-hw.h): Include.
1386 (modules): Add sim_hw_install.
1387
1388 * aclocal.m4 (sim_hw_obj): Add sim-hw.o
1389
1390Fri Mar 27 14:55:06 1998 Andrew Cagney <cagney@b1.cygnus.com>
1391
1392 * sim-base.h (CPU_INDEX): Define.
1393
1394 * sim-utils.c (sim_state_alloc): Initialize.
1395 * sim-module.c (sim_post_argv_init): Ditto.
1396
1397Thu Mar 26 10:07:57 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
1398
1399 * aclocal.m4 (sim_hw_obj): Fix sed expression to generate
1400 properly formatted lists.
1401
1402Thu Mar 26 10:37:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
1403
1404 * dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was
1405 0x2f needs to be 0x3f.
1406
1407Thu Mar 26 09:10:56 1998 Andrew Cagney <cagney@b1.cygnus.com>
1408
1409 * hw-tree.c (hw_tree_find_property): Return NULL when device is
1410 not found.
1411 (hw_tree_find_*_property): Clean up error message when property is
1412 not found.
1413
1414 * dv-pal.c (hw_pal_io_read_buffer): Check the smp property is
1415 present before looking for it.
1416
1417Wed Mar 25 16:17:38 1998 Ian Carmichael <iancarm@cygnus.com>
1418
1419 * aclocal.m4 (AC_CHECK_HEADERS): Add check for fpu_control.h.
1420 (AC_CHECK_FUNCS): Add check for __setfpucw.
1421 * configure: Regenerated.
1422
1423Wed Mar 25 09:18:34 1998 Andrew Cagney <cagney@b1.cygnus.com>
1424
1425 * dv-pal.c (hw_pal_countdown, hw_pal_countdown_value,
1426 hw_pal_timer, hw_pal_timer_value): Define.
1427 (hw_pal_io_read_buffer, hw_pal_io_write_buffer): Add timer support
1428 (do_counter_event, do_counter_read, do_counter_value,
1429 do_counter_write): new functions.
1430
1431Tue Mar 24 12:24:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
1432
1433 * hw-tree.c (hw_printf): Send tree dump to stderr, same as other
1434 trace output.
1435
1436 * hw-base.c (hw_create): Stop searching for a device when one is
1437 found.
1438
1439Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
1440
1441 * configure: Regenerated to track ../common/aclocal.m4 changes.
1442
1443Mon Mar 23 10:25:08 1998 Andrew Cagney <cagney@b1.cygnus.com>
1444
1445 * aclocal.m4 (SIM_AC_OPTION_HARDWARE): Add second argument,
1446 appends extra devices.
1447 (SIM_AC_OPTION_HARDWARE): Substute sim_hw, a non-duplicate list of
1448 the device names.
1449
1450 * Make-common.in (hw-config.h): New target, create hw-config.h
1451 file.
1452 (SIM_HW): Definition from @sim_hw@.
1453 (hw-base.o): Depend on hw-config.h
1454
1455Tue Mar 24 17:41:35 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
1456
1457 * Make-common.in: Get SHELL from configure.
1458 * (stamp-tvals sim-inline.c): Use $(SHELL) when invoking
1459 move-if-change. Fixes NT native build problem.
1460 * Makefile.in (nltvals.def): Use $(SHELL) when invoking
1461 move-if-change. Fixes NT native build problem.
1462 * configure: Regenerate with autoconf 2.12.1 to fix shell issues for
1463 NT native builds.
1464
1465Sun Mar 22 16:54:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
1466
1467 * hw-device.h, hw-device.c (hw_strdup): New function.
1468
1469 * hw-base.c (hw_create): Use hw_strdup when saving a copy of the
1470 strings name, family and args.
1471 (full_name_of_hw): Use hw_strdup when returning the full path.
1472
1473 * hw-properties.c: Clean up property not found / wrong type error
1474 messages.
1475
1476 * hw-tree.c (hw_tree_parse): Finish a devices initialization
1477 before attaching any ports.
1478
1479 * hw-base.c (hw-config.): Include. Replace hardwired table.
1480
1481 * dv-glue.c: Copy over ../ppc/hw_glue.c. Update to new framework.
1482
1483 * Make-common.in: Add rule for dv-glue.o.
1484
1485Sun Mar 22 16:45:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
1486
1487 * hw-base.c (hw_finish): Move setting of trace level to here.
1488 (hw_create): From here.
1489
1490 * hw-base.h, hw-base.c (do_hw_attach_regs): Copy function from
1491 ../ppc/device_table.c.
1492
1493 * dv-pal.c (hw_pal_finish): Attach PAL device to parent bus.
1494
1495 * hw-tree.c (print_properties): Supress path when printing
1496 properties of root node.
1497
1498Sun Mar 22 16:21:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
1499
1500 * hw-device.h (HW_TRACE): Define.
1501 (hw_trace): Declare.
1502 * hw-device.c (hw_trace): Implement function.
1503
1504 * hw-base.c (hw_create): Set hw trace level from "trace?"
1505 property.
1506
1507 * dv-core.c (dv_core_attach_address_callback): Add trace.
1508
1509 * dv-pal.c: Replace DTRACE with HW_TRACE.
1510
1511Sun Mar 22 15:23:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
1512
1513 * hw-device.h (HW_ZALLOC, HW_MALLOC): New macros.
1514 (hw_alloc_data): Delcare.
1515 (struct hw): Add member alloc_of_hw.
1516
1517 * hw-device.c (hw_zalloc, hw_malloc, hw_free, hw_free_all): New
1518 functions. Assocate memory with a device.
1519 (stdlib.h): Include.
1520
1521 * hw-base.h (set_hw_delete): Define.
1522 (hw_delete_callback): Declare.
1523 (hw_delete): Declare.
1524
1525 * hw-base.c (hw_delete): Implement function.
1526 (struct hw_base_data): Add member to_delete.
1527 (ignore_hw_delete): New function, does nothing.
1528 (hw_create): Set the hw_delete method.
1529 (hw_create): Allocate the base type using HW_ZALLOC before setting
1530 any methods.
1531
1532 * hw-tree.h, hw-tree.c (hw_tree_delete): New function.
1533
1534 * hw-properties.c: Replace zalloc/zfree with hw_zalloc/hw_free.
1535
1536 * hw-ports.c: Replace zalloc/zfree with hw_zalloc/hw_free.
1537 (attach_hw_port_edge): Add struct hw argument
1538
1539 * dv-pal.c (hw_pal_finish): Replace zalloc/zfree with
1540 hw_zalloc/hw_free.
1541
1542Sun Mar 22 15:09:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
1543
1544 * hw-device.h (hw_attach_address_callback,
1545 hw_detach_address_callback): Attach to a single space not a space
1546 mask. Clarify interpretation of SPACE:ADDR parameters.
1547
1548 * hw-base.c (passthrough_hw_attach_address,
1549 passthrough_hw_detach_address): Update.
1550 * dv-core.c (dv_core_attach_address_callback): Ditto.
1551 * dv-pal.c (hw_pal_attach_address): Ditto.
1552
1553Thu Mar 19 00:41:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
1554
1555 * sim-options.h: Document additional CPU arg to OPTION_HANDLER.
1556
1557Wed Mar 18 14:13:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
1558
1559 * Make-common.in (SIM_HW_OBJS, SIM_HW_SRC, SIM_DV_OBJS): Define.
1560 (hw-base_h, hw-device_h, hw-handles_h, hw-instances_h, hw_ports_h,
1561 hw-properties_h, hw-tree_h): Define, point at corresponding
1562 header.
1563 (hw_base_headers): Define list of headers included by hw-base.h
1564 (hw-base.o, hw-device.o, hw-instances.o, hw-handles.o, hw-ports.o,
1565 hw-properties.o, hw-tree.o): Specify dependencies.
1566 (dv-core.o, dv-pal.o): Ditto.
1567
1568 * sim-hw.h: New file.
1569
1570 * hw-device.h, hw-device.c, hw-properties.h, hw-properties.c,
1571 hw-ports.h, hw-ports.c: New files. Copied from ../ppc/device.[ch].
1572
1573 * hw-tree.h, hw-tree.c: New files. Copied from ../ppc/tree.[hc].
1574
1575 * hw-base.h, hw-base.c: new files. Copied from
1576 ../ppc/device_table.[hc].
1577
1578 * dv-core.c, dv-pal.c: New files. Copied from
1579 ../ppc/hw_{core,pal}.c
1580
1581 * sim-basics.h (struct hw): Declare.
1582 (enum port_direction, enum object_disposition): Declare.
1583
1584Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
1585
1586 * aclocal.m4 (SIM_AC_OPTION_HARDWARE): Set sim_hw_obj, sim_dv_obj,
1587 sim_dv_src in Makefile. Take list of devices as parameter to m4
1588 macro..
1589
1590 * configure: Regenerated to track ../common/aclocal.m4 changes.
1591
1592Mon Mar 16 12:37:33 1998 Andrew Cagney <cagney@b1.cygnus.com>
1593
1594 * sim-trace.h, sim-trace.c (trace_prefix): Pass in sim_cia so that
1595 trace_prefix can abort cleanly.
1596
1597Sat Mar 14 18:36:12 1998 Doug Evans <devans@seba.cygnus.com>
1598
1599 * dv-sockser.c, dv-sockser.h: New files.
1600 * Make-common.in (dv-sockser.o): Add rule for.
1601 * aclocal.m4: Check for fcntl.h.
1602 * config.h: Add HAVE_FCNTL_H.
1603
1604 * sim-break.c (remove_breakpoint): Fix thinko.
1605
1606 * sim-hload.c (sim_load): Provide default value of SIM_HANDLES_LMA.
1607 Use SIM_HANDLES_LMA for lma_p arg to sim_load_file.
1608
16091998-03-13 Fred Fish <fnf@cygnus.com>
1610
1611 * sim-base.h (struct sim_state_base): Add prog_syms and
1612 define macro STATE_PROG_SYMS.
1613 * sim-trace.c (trace_prefix): Add variables abfd, symsize,
1614 symbol_count, and asymbols. Call bfd_get_symtab_upper_bound
1615 and bfd_canonicalize_symtab, to get symbol table on first use
1616 and preserve it via STATE_PROG_SYMS for future calls to
1617 bfd_find_nearest_line.
1618
1619Wed Mar 11 14:02:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
1620
1621 * sim-core.h, sim-core.c (sim_core_map_to_str): Delete.
1622
1623 * sim-core.c (sim_core_attach): Handle a generic number of maps -
1624 up to nr_maps, not just access_* maps.
1625
1626 * sim-profile.h (struct PROFILE_DATA): Track nr_maps different
1627 maps.
1628
1629 * sim-profile.c (profile_print_core): Make map unsigned. Iterate
1630 over nr_maps not sim_core_nr_maps.
1631
1632 * sim-events.h, sim-events.c (sim_events_watch_core): Change
1633 core_map argument to unsigned.
1634 (struct _sim_core): Ditto for struct member core_map.
1635
1636 * sim-core.h (nr_sim_core_maps, sim_core_*_map): Delete
1637
1638 * sim-basics.h (access_io, access_*_io): Define.
1639 (map_read, map_write, map_exec, map_io): Define.
1640
1641 * sim-core.c, sim-core.h (sim_core_attach): Replace argument
1642 attach with more generic mapmask.
1643 (sim_core_{read,write}_*): Change map argument to unsigned.
1644
1645 * sim-core.c (sim_core_uninstall, sim_core_attach,
1646 sim_core_detach): Iterate over nr_maps instead of
1647 sim_core_nr_maps.
1648
1649 * sim-break.c (insert_breakpoint): Write breakpoints to exec_map
1650 instead of the write_map.
1651 (remove_breakpoint): Ditto.
1652
1653 * genmloop.sh (engine_resume_full): Replace sim_core_*_map
1654 with read_map, write_map, exec_map resp.
1655
1656 * cgen-mem.h (DECLARE_GETMEM, DECLARE_SETMEM, DECLARE_GETIMEM):
1657 Ditto.
1658
1659 * cgen-utils.c (sim_disassemble_insn): Ditto.
1660
1661 * sim-hrw.c (sim_write, sim_write): Ditto.
1662
1663 * sim-utils.h, sim-utils.c (access_to_str, map_to_str,
1664 transfer_to_str): New functions.
1665
1666Mon Mar 9 12:50:59 1998 Doug Evans <devans@seba.cygnus.com>
1667
1668 * sim-base.h (sim_state_base): New member environment.
1669 (STATE_ENVIRONMENT): New macro.
1670 * sim-config.c (current_environment): Delete.
1671 (sim_config_default): New function.
1672 (sim_config): Set STATE_ENVIRONMENT, not current_environment.
1673 * sim-config.h (current_environment,CURRENT_ENVIRONMENT): Delete.
1674 (sim_config_default): Add prototype.
1675 * sim-module.c (sim_pre_argv_init): Call sim_config_default.
1676 * sim-options.c (standard_option_handler, case OPTION_ENVIRONMENT):
1677 Set STATE_ENVIRONMENT, not current_environment.
1678
1679Mon Mar 9 11:59:03 1998 Jim Wilson <wilson@cygnus.com>
1680
1681 * sim-fpu.c (NR_GUARDS64): Change NR_PAD32 to NR_PAD64.
1682
1683Tue Mar 3 10:53:05 1998 Andrew Cagney <cagney@b1.cygnus.com>
1684
1685 * sim-types.h (SIGNED32, SIGNED64): Pacify GCC.
1686
1687 * sim-alu.h (ALU64_BEGIN): Make alu64_r unsigned.
1688
1689Mon Mar 2 10:20:06 1998 Doug Evans <devans@seba.cygnus.com>
1690
1691 * Make-common.in (TAGS): Make smarter.
1692 * Makefile.in (TAGS): Ditto.
1693
1694Fri Feb 27 19:09:57 1998 Doug Evans <devans@canuck.cygnus.com>
1695
1696 * sim-module.c (*): Fix typos in assertion tests.
1697
1698Sat Feb 28 13:54:10 1998 Andrew Cagney <cagney@b1.cygnus.com>
1699
1700 * sim-module.c (sim_pre_argv_init): String passed to asprintf
1701 can't be constant.
1702
1703 * sim-options.c (sim_parse_args): Ditto.
1704 (sim_args_command): Return OK, instead of nothing, for an empty
1705 command.
1706
1707Fri Feb 27 13:29:13 1998 Andrew Cagney <cagney@b1.cygnus.com>
1708
1709 * sim-profile.c (profile_info): Rename from profile_print. Drop
1710 misc and misc_cpu callback arguments. Use
1711 PROFILE_INFO_CPU_CALLBACK and STATE_PROFILE_INFO_CALLBACK instead.
1712 (profile_install): Install profile_info function.
1713
1714 * sim-profile.h (PROFILE_INFO_CPU_CALLBACK,
1715 STATE_PROFILE_INFO_CALLBACK): Define.
1716 (struct PROFILE_DATA): Add field info_cpu_callback.
1717 (profile_print): Delete function.
1718
1719 * sim-base.h (STATE_MODULES): Define. Replace individual
1720 STATE_*_LIST with single struct module_list.
1721
1722 * sim-module.h (MODULE_INFO_FN, MODULE_INFO_LIST): Declare.
1723 (struct module_list): Declare.
1724
1725 * sim-module.h, sim-module.c (sim_module_add_info_fn,
1726 sim_module_info): New functions.
1727 (sim_module_install): Clean up module data structures.
1728
1729 * sim-info.c (sim_info): New file. New function. Call
1730 sim_module_info.
1731
1732 * Make-common.in (sim-info.o): Define rule.
1733 (SIM_NEW_COMMON_OBJS): Add sim-info.o.
1734
1735
1736Fri Feb 27 18:26:16 1998 Doug Evans <devans@canuck.cygnus.com>
1737
1738 * sim-base.h (sim_cpu_base): New members name, options.
1739 (sim_cpu_lookup): Add prototype.
1740 * sim-module.c (sim_pre_argv_init): Provide default names for cpus.
1741 * sim-options.h (DECLARE_OPTION_HANDLER): New argument `cpu'.
1742 (sim_add_option_table): Update prototype.
1743 * sim-options.c (sim_add_option_table): New argument `cpu'.
1744 (standard_option_handler,standard_install): Update.
1745 (sim_parse_args): Handle cpu specific options.
1746 (print_help): New static function.
1747 (sim_print_help): Call it. Print cpu specific options.
1748 (find_match): New static function.
1749 (sim_args_command): Call it. Handle cpu specific options.
1750 * sim-utils.c (sim_cpu_lookup): New function.
1751 * sim-memopt.c (memory_option_handler): Update.
1752 (sim_memopt_install): Update.
1753 * sim-model.c (model_option_handler): Update.
1754 (model_install): Update.
1755 * sim-profile.c (profile_option_handler): Update.
1756 (profile_install): Update.
1757 * sim-trace.c (trace_option_handler): Update.
1758 (trace_install): Update.
1759 * sim-watch.c (watchpoint_option_handler): Update.
1760 (sim_watchpoint_install): Update.
1761 * cgen-scache.c (scache_option_handler): Update.
1762 (scache_install): Update.
1763
1764Wed Feb 25 11:00:26 1998 Doug Evans <devans@canuck.cygnus.com>
1765
1766 * Make-common.in (check): Run `make check' in testsuite dir.
1767
1768Wed Feb 25 14:40:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
1769
1770 * sim-trace.c (trace_result0): New function.
1771
1772 * sim-trace.h (TRACE_FP_*, TRACE_FPU_*): Rename TRACE_FPU_*
1773 macro's to TRACE_FP_*. TRACE_FPU_* should be defined and used when
1774 tracing sim_fpu variables.
1775 (TRACE_ALU_RESULT0): Define.
1776 (TRACE_FP_RESULT_WORD): Define.
1777 (TRACE_FP_INPUT_WORD1): Define.
1778
1779 * sim-fpu.c, sim-fpu.h (sim_fpu_max32, sim_fpu_max64, sim_fpu_one,
1780 sim_fpu_two): New constants.
1781 (sim_fpu_op1, sim_fpu_op2): New types.
1782 (struct _sim_fpu): Delete member result. Re-order other members.
1783 (sim_fpu_sign, sim_fpu_exp): New functions.
1784 (sim_fpu_max, sim_fpu_min): new functions.
1785 (EXPMAX32, EXPMAX64, NR_PAD32, NR_PAD64, NR_GUARDS32, NR_GUARDS64,
1786 NORMAL_EXPMAX32, NORMAL_EXPMAX64): Define.
1787
1788Tue Feb 24 22:45:39 1998 Doug Evans <devans@seba.cygnus.com>
1789
1790 * sim-profile.c (profile_print): Delete duplicate test of
1791 PROFILE_INSN_IDX.
1792 (profile_print_pc): Exit early if data collection not set up.
1793 (profile_print_core): Simplify by calling sim_core_map_to_str.
1794 * sim-core.h (sim_core_map_to_str): Declare.
1795 * sim-core.c (sim_core_map_to_str): Make non-static.
1796
1797 * genmloop.sh (engine_resume): Update insn_count before exiting.
1798 (engine_resume_full): Keep accurate core profile data.
1799
1800 * cgen-utils.c (sim_disassemble_insn): Don't use
1801 sim_core_read_aligned_N, it messes up profiling results.
1802
1803Mon Feb 23 20:45:57 1998 Mark Alexander <marka@cygnus.com>
1804
1805 * nltvals.def: Regenerate with MN10300 additions.
1806
1807Tue Feb 24 13:18:42 1998 Andrew Cagney <cagney@b1.cygnus.com>
1808
1809 * sim-trace.h (TRACE_ALU_RESULT2): Define.
1810
1811 * sim-trace.h, sim-trace.c (trace_result_word2,
1812 trace_input_word4, trace_result_word4): New function.
1813
1814Mon Feb 23 13:08:35 1998 Doug Evans <devans@canuck.cygnus.com>
1815
1816 * cgen-sim.h (SEM_NEXT_PC): New arg `len'.
1817
1818 * sim-xcat.h: Delete.
1819 * cgen-mem.h: Delete inclusion of sim-xcat.h.
1820 * cgen-sim.h: Ditto.
1821 * sim-alu.h: Replace sim-xcat.h with symcat.h.
1822 * sim-n-bits.h: Ditto.
1823 * sim-n-core.h: Ditto.
1824 * sim-n-endian.h: Ditto.
1825
1826Mon Feb 23 13:19:58 1998 Michael Meissner <meissner@cygnus.com>
1827
1828 * syscall.c (cb_syscall): Handle short reads, and EOF.
1829
1830Tue Feb 24 00:29:57 1998 Andrew Cagney <cagney@b1.cygnus.com>
1831
1832 * sim-trace.c (print_data): case trace_fmt_fp missing break. Use
1833 sim_fpu to safely print fp_word values.
1834 (print_data): Add trace_fmt_bool and trace_fmt_addr.
1835 (trace_result_bool1, trace_result_addr1): New functions.
1836 (trace_input_bool1, trace_input_addr1): New functions.
1837
1838 * sim-trace.h (TRACE_FPU_*): Define.
1839
1840Mon Feb 23 13:24:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
1841
1842 * sim-fpu.h (enum sim_fpu_class): Add sim_fpu_class_denorm.
1843 (sim_fpu_fpto, sim_fpu_tofp): Define.
1844
1845Fri Feb 20 18:08:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
1846
1847 * sim-fpu.c (sim_fpu_cmp): New function.
1848
1849Wed Feb 18 16:29:21 1998 Doug Evans <devans@canuck.cygnus.com>
1850
1851 * cgen-utils.h (sim_disassemble_insn): Use CGEN_INSN_BITSIZE
1852 instead of abuf->length.
1853 * sim-trace.c (trace_options): Have -t only trace a few useful things.
1854 (set_trace_option_mask): Renamed from set_trace_options.
1855 (set_trace_option): New function.
1856 (trace_option_handler): Update calls to set_trace_option{,_mask}.
1857 * sim-trace.h (TRACE_USEFUL_MASK): New macro.
1858
1859Wed Feb 18 12:42:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
1860
1861 * sim-basics.h: Declare struct _sim_fpu.
1862
1863Tue Feb 17 16:27:46 1998 Andrew Cagney <cagney@b1.cygnus.com>
1864
1865 * sim-trace.h (TRACE_ALU_INPUT*, TRACE_ALU_RESULT): Define.
1866 (trace_prefix, trace_input*, trace_result*): Declare.
1867 (trace_one_insn): Change declaration, assume trace_prefix called.
1868 (trace_generic): Like trace_one_insn.
1869 (TRACE_ALU_IDX, TRACE_*_IDX): Change #define's to enum.
1870 (TRACE_alu, TRACE_[a-z]*): Update.
1871
1872 * sim-trace.c (trace_prefix, trace_input*, trace_result*,
1873 trace_insn, save_data, trace_idx_to_str, print_data): New
1874 functions.
1875 (trace_one_insn): Rewrite.
1876 (trace_generic): New function.
1877
1878Tue Feb 17 17:27:30 1998 Doug Evans <devans@seba.cygnus.com>
1879
c906108c
SS
1880 * aclocal.m4 (USE_MAINTAINER_MODE): New variable.
1881
1882 * cgen-sim.h (SEMANTIC_CACHE_FN): Delete.
1883 (SEMANTIC_FN): Rewrite declaration.
1884 (DECODE): Update type of semantic_fast member.
1885 ({EX,SEM}_FN_NAME): Have only one version.
c906108c
SS
1886 * sim-base.h (sim_state_base): Delete conditionals surrounding
1887 member scache_size.
1888
1889Tue Feb 10 18:31:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
1890
1891 * sim-load.c (sim_load_file): Print LMA/VMA according to value
1892 used.
1893
1894Tue Feb 10 14:56:23 1998 Ian Carmichael <iancarm@cygnus.com>
1895
1896 * sim-core.c: Add missing prototypes for WITH_DEVICES.
1897 Add missing parameters to device_io calls.
1898 * sim-core.h: Add missing parameters to device_io calls.
1899
1900Mon Feb 9 14:48:37 1998 Doug Evans <devans@canuck.cygnus.com>
1901
1902 * cgen-sim.h (DECODE): Always use switch for `read' for now.
1903 (PAREXEC): Renamed from PARALLEL_EXEC. All uses updated.
1904 (SEMANTIC{,_CACHE}_FN): Fix return type.
c906108c
SS
1905 * genmloop.sh (@cpu@_engine_run): Delete `current_state'.
1906 (engine_resume): Likewise. Make `engine' volatile. Save copy
1907 of cpu pointer in volatile object. Initialize read switch if
1908 -parallel.
1909
1910Thu Feb 5 13:27:04 1998 Doug Evans <devans@seba.cygnus.com>
1911
1912 * cgen-sim.h (EX_FN_NAME): _exc_ -> _ex_.
1913 (SEM_INSN): New macro.
1914
1915Tue Feb 3 16:31:56 1998 Andrew Cagney <cagney@b1.cygnus.com>
1916
1917 * sim-run.c (sim_engine_run): Assume IMEM is 32 bit.
1918
1919Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
1920
1921 * configure: Regenerated to track ../common/aclocal.m4 changes.
1922
1923Sun Feb 1 16:16:57 1998 Andrew Cagney <cagney@b1.cygnus.com>
1924
1925 * sim-types.h (fp_word): New type, define according to
1926 WITH_TARGET_FLOATING_POINT_BITSIZE.
1927
1928 * aclocal.m4 (default_sim_floating_point_bitsize): Add
1929 configuration of size of floating point registers.
1930
1931Sun Feb 1 14:02:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
1932
1933 * sim-profile.c (profile_print): Only print CPU <N> if other
1934 output is going to appear.
1935
1936Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
1937
1938 * configure: Regenerated to track ../common/aclocal.m4 changes.
1939
1940Sat Jan 31 18:03:55 1998 Andrew Cagney <cagney@b1.cygnus.com>
1941
1942 * sim-types.h (address_word): Typedef according to
1943 WITH_TARGET_ADDRESS_BITSIZE.
1944 (signed_cell, unsigned_cell, natural_cell): Ditto using
1945 WITH_TARGET_CELL_BITSIZE.
1946
1947 * sim-config.h (WITH_TARGET_ADDRESS_BITSIZE): Define.
1948 (WITH_TARGET_CELL_BITSIZE): Define.
1949 (WITH_HOST_WORD_BITSIZE): Delete.
1950
1951 * sim-config.c (print_sim_config): Update.
1952
1953 * aclocal.m4 (SIM_AC_OPTION_BITSIZE): Add support for
1954 configuration of address and OpenFirmware cell sizes.
1955
1956Fri Jan 30 09:36:33 1998 Andrew Cagney <cagney@b1.cygnus.com>
1957
1958 * sim-engine.h (sim_engine_run): Add argument nr_cpus.
1959 * sim-run.c (sim_engine_run): Update.
1960
1961 * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use SET_CPU_CIA instead of
1962 CPU_CIA.
1963 * sim-run.c (sim_engine_run): Ditto.
1964
1965 * sim-resume.c (sim_resume): Obtain nr_cpus from sim_engine.
1966 (sim_resume): Pass nr_cpus to sim_engine_run.
1967
1968 * sim-engine.h (struct _sim_engine): Add member nr_cpus.
1969
1970 * sim-engine.c (sim_engine_init): Hardwire nr_cpus to
1971 MAX_NR_PROCESSORS.
1972 (sim_engine_nr_cpus) sim-engine.c, sim-engine.h: New function
1973
c906108c
SS
1974Fri Jan 23 14:20:54 1998 Doug Evans <devans@seba.cygnus.com>
1975
1976 * Make-common.in (stamp-tvals): New rule.
1977 (targ-vals.h,targ-map.c): Depend on it.
1978 (clean): Remove stamp-tvals.
1979
1980Tue Jan 20 21:35:13 1998 Michael Meissner <meissner@cygnus.com>
1981
1982 * sim-utils.c (sim_state_alloc): #if 0 variable that is only used
1983 in code also #if 0'ed.
1984
1985Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
1986
1987 * configure: Regenerated to track ../common/aclocal.m4 changes.
1988 * aclocal.m4: Recognize --enable-maintainer-mode.
1989
1990Mon Jan 19 12:45:45 1998 Doug Evans <devans@seba.cygnus.com>
1991
1992 * cgen-scache.h: Deleted.
1993 * Make-common.in (cgen-run.o,cgen-scache.o): Delete cgen-scache.h dep.
c906108c
SS
1994 * cgen-scache.c: Only compile contents if WITH_SCACHE.
1995 (scache_init): Use runtime computed size of SCACHE.
1996 (scache_flush): Likewise.
1997 * cgen-mem.h (GETIMEMU[QHSD]I): Declare.
1998 ([GS]ETT{QI,UQI,HI,UHI,SI,USI,DI,UDI}): Declare.
1999 * cgen-sim.h: Scache support moved here.
2000 (PC): Redo definition.
2001 (ARGBUF,SCACHE,PARALLEL_EXEC): Provide forward decls.
2002 (DECODE): Add parallel execution support.
2003 Only include semantic label members if using switch.
2004 (SWITCH,CASE,BREAK,DEFAULT,ENDSWITCH): Portable computed goto support.
2005 (CGEN_CPU): Delete members exec_state, halt_sigrc, halt_jmp_buf.
2006 (IADDR,CIA,SEM_ARG,EX_FN_NAME,SEM_FN_NAME,RECORD_IADDR,SEM_ARGBUF,
2007 SEM_NEXT_PC,SEM_BRANCH_VIA_{CACHE,ADDR},SEM_NEW_PC_ADDR): Moved here
2008 from cgen-types.h.
2009 (engine_{stop,run,resume,halt,signal}): Delete decls.
2010 * cgen-types.h (CGEN_{XCAT3,CAT3}): Delete.
2011 (argbuf,scache): Delete forward decls.
2012 (STATE): Delete decl.
2013 * cgen-utils.c: Don't include decode.h, mem-ops.h, sem-ops.h.
2014 Include cgen-mem.h, cgen-ops.h.
2015 (engine_halt,engine_signal): Delete.
2016 ({ex,exc,sem,semc}_illegal): Delete.
2017 (sim_disassemble_insn): Result of extract fn is in bits.
2018 * genmloop.sh: Rewrite.
2019
2020 * cgen-trace.c (trace_insn): Set printed_result_p=0 if not tracing
2021 line numbers.
2022
2023 * sim-base.h (sim_state_base): Delete member `model'.
2024 (sim_cpu_base): Add member `model'.
2025 * sim-model.h (IMP_PROPERTIES): New type.
2026 (MACH): New members imp_props, models.
2027 (models): Delete decl.
2028 * sim-model.c (set_model): Update.
2029 * sim-profile.c (profile_print_model): Update.
2030
2031 * sim-utils.c (sim_state_alloc): Delete setting of cpu backlink here.
2032
2033Fri Jan 16 12:33:09 1998 Nick Clifton <nickc@cygnus.com>
2034
2035 * cgen-trace.c (trace_insn): Call CGEN_INSN_MNEMONIC() rather than
2036 CGEN_INSN_SYNTAX().
2037
2038Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
2039
2040 * configure: Regenerated to track ../common/aclocal.m4 changes.
2041 * config.in: Ditto.
2042
2043Mon Dec 15 23:16:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
2044
2045 * aclocal.m4 (AR): Check for sigaction.
2046
2047Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
2048
2049 * Make-common.in (sim-core.o): Depend on $(sim_main_headers).
2050
2051 * sim-config.h (WITH_TREE_PROPERTIES): Define as 0.
2052 * sim-config.c (sim_config): Replace WITH_DEVICES with
2053 WITH_TREE_PROPERTIES.
2054
2055 * configure: Regenerated to track ../common/aclocal.m4 changes.
2056
2057Wed Dec 3 17:56:02 1997 Doug Evans <devans@canuck.cygnus.com>
2058
2059 * Make-common.in (SIM_ENVIRONMENT): New variable.
2060 (CONFIG_CFLAGS): Add it.
2061 * aclocal.m4 (SIM_AC_OPTION_ENVIRONMENT): Handle
2062 --enable-sim-environment option.
2063 * configure: Regenerated.
2064 * sim-config.h (environment support): Rewrite.
2065 * sim-config.c (current_environment): Define as enum, unconditionally.
2066 (current_alignment): Define unconditionally.
2067 (config_environment_to_a): Update.
2068 (config_alignment_to_a): Fix type of argument. Define unconditionally.
2069 (sim_config): Handle environment and alignment determination
2070 unconditionally. Delete sanity checks of current_environment,
2071 unnecessary.
2072 (print_sim_config): Update.
2073 * sim-options.c (STANDARD_OPTIONS enum): Add OPTION_ENVIRONMENT.
2074 (standard_options): Add --environment.
2075 (standard_option_handler): Likewise.
2076
2077Fri Nov 28 12:21:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
2078
2079 * sim-alu.h: Add notes on carry vs borrow for subtraction.
2080 (ALU{,8,16,32,64}ADD): Redefine ADD macro as add overflowing.
2081 (ALU{,8,16,32,64}ADDC): Define - add carrying.
2082 (ALU{,8,16,32,64}SUB): Redefine SUB macro as subtract overflowing.
2083 (ALU{,8,16,32,64}SUBB): Define - subtract borrowing.
2084 (ALU{,8,16,32,64}SUBC): Define - tract carrying.
2085 (ALU{,8,16,32,64}ADD_CA, ALU{,8,16,32,64}ADDC_C): Replace single
2086 argument ADD_CA macro with two argument ADDC_C - add carrying with
2087 carry in.
2088 (ALU{,8,16,32,64}SUB_CA, ALU{,8,16,32,64}SUBC_X): Replace single
2089 argument SUB_CA macro with two argument SUBC_X - subtract
2090 carrying, extended.
2091 (ALU{,8,16,32,64}SUBB_B): Define - subtract borrowing with
2092 borrow-in.
2093 (ALU{,8,16,32,64}NEGC, ALU{,8,16,32,64}NEGB): Define.
2094
2095Sun Nov 30 17:40:57 1997 Michael Meissner <meissner@cygnus.com>
2096
2097 * sim-io.c (sim_io_{syscalls,getstring}): Delete. No longer used.
2098 * sim-io.h (sim_io_syscalls): Delete.
2099
2100Fri Nov 28 20:10:09 1997 Michael Meissner <meissner@cygnus.com>
2101
2102 * syscall.c (cb_syscall): Add missing else, so write to stdout
2103 isn't doubled.
2104
2105 * sim-alu.h (ALU{,8,16,32,64}_SET_CARRY): Provide macros to import
2106 the carry bit from the CPU's psw.
2107
2108Fri Nov 28 11:15:05 1997 Doug Evans <devans@canuck.cygnus.com>
2109
2110 * gennltvals.sh: Redo syscall support.
2111 * nltvals.def: Regenerated.
2112
2113Wed Nov 26 16:49:38 1997 Michael Meissner <meissner@cygnus.com>
2114
2115 * syscall.c (cb_syscall): If writing to stdout or stderr, flush
2116 the stream immediately.
2117
2118Wed Nov 26 12:32:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
2119
2120 * sim-io.c (sim_io_getstring): Delete unused len2.
2121 (sim_io_syscalls): Ditto for sys_errno.
2122
2123Wed Nov 26 11:18:40 1997 Doug Evans <devans@canuck.cygnus.com>
2124
2125 * syscall.c (cb_syscall): Test CB_SYSCALL struct magic number.
2126
2127 * Make-common.in (run.o): Depend on remote-sim.h.
2128 (nrun.o,sim-hload.o,sim-hrw.o): Likewise.
2129 (sim-io.o,sim-reason.o,sim-resume.o): Likewise.
2130
2131Tue Nov 25 20:12:46 1997 Michael Meissner <meissner@cygnus.com>
2132
2133 * sim-io.c (sim_io_syscalls): Disable lseek.
2134
2135Tue Nov 25 00:12:38 1997 Doug Evans <devans@seba.cygnus.com>
2136
2137 * gennltvals.sh: Generate syscall values for d30v.
2138
2139 * gennltvals.sh: Use libgloss/syscall.h for sparc.
2140 * nltvals.def: Regenerate.
2141
2142 * callback.c (os_stat): Make 3rd arg a host struct stat ptr.
2143 (os_fstat): Likewise. Validate fd argument.
2144 (cb_host_to_target_stat): Delete big_p arg. If HS arg is NULL,
2145 just compute target stat struct length.
2146 * syscall.c: #include "libiberty.h", <sys/types.h>, <sys/stat.h>.
2147 (ENOSYS,ENAMETOOLONG): Provide definitions if missing.
2148 (get_string): Return host errno values so they can be properly
2149 translated later.
2150 (cb_syscall): Likewise.
2151 (cb_syscall, cases open,unlink): Use get_path instead of get_string.
2152 (cb_syscall, case read): Use read_stdin for file descriptor 0.
2153 (cb_syscall, case write): Use write_stderr for file descriptor 2.
2154 (cb_syscall): Add cases for lseek, unlink, stat, fstat, time.
2155 (get_path): New function.
2156
2157Mon Nov 24 18:56:07 1997 Michael Meissner <meissner@cygnus.com>
2158
2159 * sim-io.c (sim_io_syscalls): New function to provide system call
2160 emulation. Provide exit, open, close, read, write, lseek, and
2161 unlink.
2162 (sim_io_getstring): New function to return a string from a
2163 simulated memory location.
2164
2165 * sim-io.h (sim_io_syscalls): Add declaration.
2166
2167Mon Nov 24 12:09:59 1997 Doug Evans <devans@seba.cygnus.com>
2168
2169 * sim-core.c (sim_core_signal): Fix spelling error in message.
2170
2171 * sim-hrw.c (sim_read): Use read map, not write map.
2172
2173 * Make-common.in (all): Add .gdbinit.
2174 * gdbinit.in: Add dump command.
2175
2176 * sim-model.c (model_options): Use '\0' for `shortopt'.
2177
2178 * sim-trace.c (trace_option_handler): Set state trace file
2179 for --trace-file in addition to cpu's values.
2180 (trace_vprintf): If cpu == NULL, try state's trace file.
2181 (trace_options): Reorganize table, reword some descriptions.
2182
2183Sun Nov 23 10:57:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
2184
2185 * sim-fpu.c (sim_fpu_abs, sim_fpu_neg, sim_fpu_inv), sim-fpu.h:
2186 New functions.
2187
2188Sat Nov 22 19:16:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
2189
2190 * sim-reason.c (sim_stop_reason): For sim_signalled, return the
2191 signal untranslated, document problem with this.
2192
2193 * nrun.c (main): Check for a prog name of `*step'. If present,
2194 step the simulator instead of allowing it to run free.
2195
2196 * sim-signal.c (SIGQUIT): Define on _MSC_VER hosts.
2197
2198 * Make-common.in (sim_main_headers): Add sim-signal.h.
2199
2200Fri Nov 21 09:32:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
2201
2202 * sim-signal.c (sim_signal_to_host): Return 0 for SIM_SIGNONE.
2203
2204Thu Nov 20 20:35:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2205
2206 * sim-signal.h: Start simulator signals at 64 so that host signal
2207 numbers can be detected and reported.
2208
2209 * sim-signal.h (SIM_SIGFPE), sim-signal.h: Add signal.
2210
2211Wed Nov 19 12:02:41 1997 Doug Evans <devans@seba.cygnus.com>
2212
2213 * callback.c (cb_host_to_target_stat): Fix return values.
2214
2215 * cgen-sim.h (enum_signal_type): Delete.
2216 (engine_signal): Update prototype.
2217 * cgen-utils.c: Don't include <signal.h>.
2218 (sim_signal_to_host): Delete, lives in sim-signal.c now.
2219 (engine_signal): Update.
2220
2221 * sim-utils.c (sim_state_alloc): Call SIM_STATE_ALLOC if defined.
2222 (sim_state_free): Call SIM_STATE_FREE if defined.
2223
2224 * sim-module.c (sim_module_install): Don't leave any modules
2225 installed if one fails to install.
2226
2227Wed Nov 19 13:25:48 1997 Michael Meissner <meissner@cygnus.com>
2228
2229 * sim-options.c: Don't include ../libiberty/alloca-conf.h any
2230 more, since alloca is not used in this file.
2231
2232 * sim-alu.h (ALU{32,64}_*): Rewrite 32 and 64 bit ALU support to
2233 correctly set the carry and overflow bits for those types.
2234 (ALU{8,16,32,64}_{ADD,SUB}_CA): Take VAL argument to add along
2235 with carry, so carry is correct after doing both adds.
2236 (ALU*): Space out '\' to make it easier to read.
2237
2238Tue Nov 18 15:53:45 1997 Doug Evans <devans@canuck.cygnus.com>
2239
2240 * sim-core.c (sim_core_signal): Use sim_stopped instead of
2241 sim_signalled.
2242
2243 * sim-signal.c, sim-signal.h: New files.
2244 * Make-common.in (sim-signal.o): Add rule for.
2245 (SIM_NEW_COMMON_OBJS): Add sim-signal.o.
2246 * sim-abort.c: Don't include <signal.h>.
2247 * sim-basics.h: #include "sim-signal.h".
2248 * sim-break.c: Don't include <signal.h>.
2249 (sim_handle_breakpoint): Replace SIGTRAP with SIM_SIGTRAP.
2250 * sim-core.c: Don't include <signal.h>.
2251 (SIGBUS): Delete definition.
2252 (sim_core_signal): Replace SIGSEGV,SIGBUS with SIM_SIGSEGV,SIM_SIGBUS.
2253 * sim-engine.c: Don't include <signal.h>.
2254 (sim_engine_abort): Replace SIGABRT with SIM_SIGABRT.
2255 * sim-reason.c (sim_stop_reason): Call sim_signal_to_host.
2256 * sim-resume.c: Don't include <signal.h>.
2257 (SIGTRAP): Delete definition.
2258 (has_stepped): Replace SIGTRAP with SIM_SIGTRAP.
2259 * sim-stop.c: Don't include <signal.h>.
2260 (control_c_simulation): Replace SIGINT with SIM_SIGINT.
2261 * sim-watch.c: Don't include <signal.h>.
2262 (handle_watchpoint): Replace SIGINT with SIM_SIGINT.
2263
2264 * Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
2265
2266 * sim-base.h (CIA_ADDR): Provide default definition.
2267 * sim-core.c (sim_core_signal): Use CIA_ADDR to fetch value.
2268 * sim-break.c (sim_handle_breakpoint): Likewise.
2269
2270Mon Nov 17 14:15:31 1997 Doug Evans <devans@seba.cygnus.com>
2271
2272 * Make-common.in (srccom): New variable.
2273
2274 * Make-common.in (DEP, COMMON_DEP_CFLAGS): Define.
2275 (LIB_OBJS): Add syscall.o.
2276 (gentmap): Pass $(NL_TARGET) to $(CC).
2277 (syscall.o): Add rule for.
2278 (sim_main_headers): Add $(SIM_EXTRA_DEPS).
2279 (sim-bits.o): Depend on $(sim-n-bits_h).
2280 (sim-load.o): Depend on callback.h.
2281
2282 * Make-common.in (cgen-*.o): Update dependencies, mem-ops.h renamed to
2283 cgen-mem.h, sem-ops.h renamed to cgen-ops.h.
2284 * cgen-mem.h, cgen-ops.h: New files.
2285
2286 * aclocal.m4 (--enable-sim-scache): Pass -DWITH_SCACHE=0 for "=no".
2287
2288 * Makefile.in (nltvals.def): Depend on gennltvals.sh.
2289 Rewrite build rule.
2290 * callback.c: #include string.h or strings.h.
2291 #include sys/types.h and sys/stat.h.
2292 (cb_init_syscall_map,cb_init_errno_map,cb_init_open_map): Declare.
2293 (os_get_errno,os_open): Update.
2294 (os_stat,os_fstat): New functions.
2295 (os_init): Initialize syscall_map, errno_map, open_map.
2296 (default_callback): Add entries for os_stat, os_fstat, syscall_map,
2297 errno_map, open_map, signal_map, stat_map.
2298 (cb_read_target_syscall_maps): New function.
2299 (cb_target_to_host_syscall): New function.
2300 (cb_host_to_target_errno): Renamed from host_to_target_errno.
2301 (cb_target_to_host_open): Renamed from target_to_host_open.
2302 (store): New function.
2303 (cb_host_to_target_stat): New function.
2304 * syscall.c: New file.
2305 * gentmap.c (sys_tdefs): New global.
2306 (gen_targ_vals_h): Output target syscall numbers.
2307 (gen_targ_map_c): Update. Output target syscall translation map.
2308 * gentvals.sh: New first argument `target'. Preface table with
2309 #ifdef NL_TARGET_$target if non-null target passed.
2310 * gennltvals.sh: New file.
2311 * nltvals.def: Regenerated.
2312
2313Fri Nov 14 11:33:34 1997 Andrew Cagney <cagney@b1.cygnus.com>
2314
2315 * sim-n-core.h (sim_core_read_unaligned_N): Return static
2316 sim_core_dummy_M.
2317 (sim_core_dummy_M): Declare.
2318
2319Wed Nov 12 18:16:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
2320
2321 * sim-core.c (sim_core_signal): Print the address of the
2322 instruction.
2323
2324Thu Nov 13 11:49:41 1997 Doug Evans <devans@seba.cygnus.com>
2325
2326 * sim-base.h (sim_state_base): Move `magic' to end of struct.
2327
2328 * sim-base.h (sim_state_base): Add member trace_data.
2329 (STATE_TRACE_DATA): New macro.
2330 * sim-trace.h (TRACE_DEBUG_IDX,TRACE_debug): New macros.
2331 ({WITH_,}TRACE_DEBUG_P): New macros.
2332 (STATE_TRACE_FLAGS,STRACE_P,STRACE_DEBUG_P): New macros.
2333 (_sim_cpu): Delete forward reference.
2334 (debug_printf): Update.
2335 * sim-trace.c (OPTION_TRACE_DEBUG): Define.
2336 (trace_options): Add --trace-debug.
2337 (set_trace_options): Handle it.
2338 (trace_option_handler): Likewise.
2339 (trace_install): Init state trace_data struct.
2340 (trace_uninstall): Close state trace file.
2341 * sim-events.c (ETRACE): Only print source file and line number if
2342 --trace-debug.
2343 * sim-n-core.h (sim_core_trace_M): Likewise.
2344
2345 * sim-core.c (sim_core_signal): Add missing "\n" in message.
2346
23471997-11-13 Felix Lee <flee@cygnus.com>
2348
2349 * sim-n-core.h (sim_core_read_unaligned_N): illegal empty
2350 initializer.
2351 * sim-types.h (unsigned128,signed128): fix typo for MSVC.
2352
2353Wed Nov 12 12:18:08 1997 Doug Evans <devans@canuck.cygnus.com>
2354
2355 * aclocal.m4 (SIM_AC_OPTION_SCACHE): Fix typo.
2356
2357 * Make-common.in (BUILT_SRC_FROM_COMMON): Remove files no longer
2358 built this way.
2359 (sim-config.o): Remove non-existent $(sim-nconfig_h) dependency.
2360 (clean): Don't delete $(BUILT_SRC_FROM_COMMON) if building in
2361 source tree.
2362
2363Tue Nov 11 13:28:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
2364
2365 * sim-events.c (sim_events_process): Re-compute the time -
2366 update_time_from_event - as each event is processed. Reverses
2367 previous change.
2368
2369Fri Nov 7 00:37:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
2370
2371 * callback.c (os_poll_quit): Replace _WIN32 with _MSC_VER.
2372
2373Fri Nov 7 00:37:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
2374
2375 * sim-events.c (sim_events_process): Delete redundant call to
2376 update_time_from_event.
2377 (sim_events_slip): Always decrement time_from_event.
2378 (sim_events_tick, sim_events_deschedule, update_time_from_event):
2379 Delete assertion that time_from_event >=0 when work in queue, no
2380 longer applicable.
2381
2382Thu Nov 6 12:06:46 1997 Andrew Cagney <cagney@b1.cygnus.com>
2383
2384 * sim-options.c (STANDARD_OPTIONS): Change OPTION_* to an enum.
2385 (standard_option_handler): Update.
2386
2387 * sim-options.h: Clarify documentation.
2388 (OPTION_LONG_ONLY_P): Delete definition.
2389 (OPTION_VALID_P): Define.
2390
2391 * sim-options.c (sim_print_help): Allow short only options.
2392 (sim_parse_args): Ditto.
2393 (sim_args_command): Skip short only options.
2394 (sim_parse_args): Allocate space for NUM_OPTS not just 256. Make
2395 separate entries for short and long options in the HANDLERS and
2396 ORIG_VAL tables.
2397 (sim_parse_args): Disable argument permutation.
2398
2399Wed Nov 5 13:40:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
2400
2401 * sim-core.h (DECLARE_SIM_CORE_WRITE_N. DECLARE_SIM_CORE_READ_N):
2402 Add argument M, size of data type.
2403 (sim_core_read_misaligned_3, sim_core_write_misaligned_3):
2404 Declare, ditto for 5, 6 & 7 byte transfers.
2405 (sim_core_write_unaligned_1, sim_core_write_unaligned_1): Define
2406 as aligned variant.
2407
2408 * sim-n-core.h (sim_core_trace_M): Rename from
2409 sim_core_trace_N. Add nr_bytes argument. Replace transfer argument
2410 with transfer type. Print transfer direction. Handle 1 and 2 byte
2411 transfers.
2412 (sim_core_read_unaligned_N, sim_core_write_unaligned_N): Trace
2413 unaligned accesses.
2414 (unsigned_M, T2H_M, H2T_M): Rename from unsigned_N, T2H_N, H2T_N.
2415 Update all functions.
2416
2417 * sim-core.c: Generate functions starting with 16 not 1.
2418 (sim_core_read_unaligned_3): Generate. Ditto for 3 byte write and
2419 all 5, 6 & 7 byte transfers.
2420
2421 * sim-n-core.h (sim_core_read_misaligned_N,
2422 sim_core_write_misaligned_N): Implement.
2423
2424Mon Nov 3 15:03:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
2425
2426 * sim-endian.h (U16_8): Implement
2427
2428 * sim-endian.c (sim_endian_split_16, sim_endian_join_16): New functions
2429
2430 * sim-endian.h (VL8_16, VH8_16): Implement.
2431
2432 * sim-memopt.c (memory_option_handler): Typecast 64bit value to
2433 long in printf.
2434 (memory_option_handler): Only zalloc modulo bytes when non-zero.
2435 (memory_option_handler): Skip comma in alias address list
2436
2437Fri Oct 31 13:03:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
2438
2439 * sim-memopt.c (do_memopt_add, do_memopt_delete): Add level and
2440 space params.
2441 (parse_size, parse_addr): New functions
2442 (memory_option_handler, memory_options): Parse address & size
2443 using new functions. Pass level, space, modulo to do_memopt_add &
2444 do_memopt_del.
2445
2446 * sim-memopt.h (struct _sim_memopt): Add level & space fields.
2447
2448 * sim-core.h (sim_core_arrach, sim_core_detach): Replace
2449 `attach_type attach' argument with `unsigned level' argument.
2450 Document.
2451
2452 * sim-core.c (new_sim_core_mapping, sim_core_map_attach,
2453 sim_core_attach): Replace argument attach with level. Update
2454 verification of arguments.
2455 (sim_core_map_detach, sim_core_detach): Replace argument attach
2456 with level.
2457
2458 * sim-basics.h (enum _attach_type): Delete.
2459
2460Thu Oct 30 13:45:00 1997 Doug Evans <devans@seba.cygnus.com>
2461
2462 * sim-core.h (sim_core_write_8): Define.
2463
2464Tue Oct 28 12:29:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2465
2466 * sim-bits.h: Document ROTn macro.
2467
2468 * sim-endian.h (H2T): Handle 16 byte variables.
2469
2470 * sim-n-core.h (sim_core_read_unaligned_N): Return a dummy when an
2471 error.
2472
2473 * sim-core.c: Do not generate sim_core_*_word.
2474
2475 * sim-n-core.h (sim_core_trace_N): Add line_nr argument.
2476 (sim_core_write_aligned_N, sim_core_read_aligned_N): Update.
2477
2478 * sim-core.h (sim_core_read_unaligned_word,
2479 sim_core_read_aligned_word, sim_core_read_word,
2480 sim_core_write_unaligned_word, sim_core_write_aligned_word,
2481 sim_core_write_word): Change to macros that map onto sim_core_*_N.
2482
2483Mon Oct 27 11:25:10 1997 Doug Evans <devans@canuck.cygnus.com>
2484
2485 * sim-n-endian.h: Add TAGS entrys for 16 byte versions.
2486
2487 * sim-endian.h: Disable 16 byte support.
2488
2489Mon Oct 27 12:00:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
2490
2491 * sim-endian.c (_SWAP_16): Define. Generate 126 bit swap code.
2492
2493 * sim-n-core.h (sim_core_trace_N): New function.
2494 (sim_core_read_aligned_N, sim_core_write_aligned_N): Use,
2495 (sim_core_read_unaligned_N): Do not retyrn bogus value wden error.
2496
2497 * sim-endian.h: Add 128 bit variant.
2498
2499 * sim-core.h, sim-core.c: Add 128 bit variant.
2500
2501 * sim-types.h: Add signed128 and unsigned128 types using a struct.
2502
2503Fri Oct 24 11:33:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
2504
2505 * sim-events.c (sim_events_process): Clear events->work_pending.
2506 (sim_events_tickn, sim_events_tick): Accumulate, instead of
2507 setting, nr_ticks_to_process.
2508 (sim_events_preprocess): Allow nr_ticks_to_process to be non-zero
2509 when the event queue isn't next.
2510
2511 * sim-events.h, sim-events.c (sim_events_slip): New function.
2512
2513Wed Oct 22 14:18:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
2514
2515 * sim-hload.c (sim_load): Pass lma_p==0 and do_load=sim_load.
2516
2517 * sim-utils.h, sim-load.c (sim_load_file): Add lma_p and do_load
2518 arguments.
2519
2520Tue Oct 21 18:37:57 1997 Doug Evans <devans@canuck.cygnus.com>
2521
2522 * nrun.c (main): Remove useless test of name != NULL.
2523 Exit if bfd_openr fails. Call bfd_check_format after bfd_openr.
2524
2525Tue Oct 21 10:42:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
2526
2527 * sim-fpu.c (EXPMAX): Type is unsigned.
2528 (MIN_INT, MAX_INT): Type is signed64.
2529 (i2fpu): Type of val is signed64.
2530
2531Tue Oct 21 10:42:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
2532
2533 * sim-profile.h (PROFILE_PC_BUCKET_SIZE): Treat a shift of zero as
2534 a bucket size of zero.
2535
2536 * sim-profile.c (OPTION_PROFILE_PC_GRANULARITY,
2537 OPTION_PROFILE_PC): Define.
2538 (profile_option_handler): Add support for --profile-pc and
2539 --profile-pc-granularity options.
2540 (profile_pc_init): When possible, compute nr buckets from bucket
2541 size.
2542
2543 * sim-profile.c (profile_pc_init): Align the profile-pc end
2544 address with the profile-pc bucket size.
2545
2546 * sim-profile.h (PROFILE_PC_NR_BUCKETS): Rename PROFILE_PC_SIZE to
2547 something less ambiguous.
2548 (PROFILE_PC_BUCKET_SIZE): Ditto for PROFILE_PC_SAMPLE_SIZE.
2549
2550 * sim-profile.c (profile_pc_cleanup): New function. Move
2551 profile_pc_uninstall code to here.
2552 (profile_pc_uninstall): Call.
2553 (profile_pc_init): Call.
2554
2555Mon Oct 20 17:23:58 1997 Andrew Cagney <cagney@b1.cygnus.com>
2556
2557 * sim-profile.c (profile_print_pc): Dump pc profile to dmon.out
2558 file using BSD gprof format.
2559
2560 * sim-bits.h (LSBIT, MSBIT, BIT): Force result to type
2561 unsigned_word.
2562 (LSBIT8, LSBIT16, LSBIT32, LSBIT64, MSBIT8, MSBIT16, MSBIT32,
2563 MSBIT64): Force result to unsignedN.
2564
2565Thu Oct 16 11:38:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
2566
2567 * sim-alu.h (ALU16_BEGIN, ALU32_BEGIN, ALU64_BEGIN): Drop opening
2568 brace from macro.
2569 (ALU8_BEGIN, ALU8_SET, ALU8_ADD, ALU8_SUB, ALU8_NEGATE): Define.
2570 (ALU16_ADD, ALU16_SUB, ALU16_NEGATE): Simplify arrithmetic.
2571 (ALU32_ADD, ALU32_SUB, ALU32_NEGATE): Simplify arrithmetic.
2572 (ALU64_ADD, ALU64_SUB, ALU64_NEGATE): Simplify arrithmetic.
2573
2574Wed Oct 15 09:24:19 1997 Andrew Cagney <cagney@b1.cygnus.com>
2575
2576 * sim-core.h (struct _sim_core_mapping): Change free_buffer to
2577 type void*.
2578
2579 * sim-core.c (sim_core_uninstall, new_sim_core_mapping,
2580 sim_core_map_attach, sim_core_map_detach): Change free_buffer to
2581 type void*.
2582 (sim_core_attach): Rename buffer_freed to free_buffer, type
2583 void*. Ensure that allocated buffer is alligned according to
2584 region's address.
2585
2586Mon Oct 13 11:34:50 1997 Andrew Cagney <cagney@b1.cygnus.com>
2587
2588 * sim-alu.h (ALU64_HAD_OVERFLOW): Define.
2589 (ALU64_SUB): Define.
2590
2591 * Make-common.in (all): Build SIM_EXTRA_ALL first.
2592 (.gdbinit): Remove dependencies, generate once per build.
2593
2594Tue Oct 14 19:20:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
2595
2596 * sim-n-core.h (sim_core_read_aligned_N,
2597 sim_core_write_aligned_N): Make xaddr param type address_word not
2598 unsigned_word.
2599
2600Fri Oct 3 09:49:18 1997 Andrew Cagney <cagney@b1.cygnus.com>
2601
2602 * sim-fpu.h, sim-fpu.c: Rewrite. Change sim_fpu object to an
2603 unpacked floating point struct. Pass sim_fpu object by reference.
2604 Add preliminary support for rounding modes.
2605
2606Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
2607
2608 * configure: Regenerated to track ../common/aclocal.m4 changes.
2609
2610Thu Oct 2 19:43:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
2611
2612 * aclocal.m4 (sim-bitsize): Fix typo, WITH_TARGET_WORD_BITSIZE not
2613 WITH_TARGET_BITSIZE.
2614
2615Thu Sep 25 23:20:20 1997 Felix Lee <flee@yin.cygnus.com>
2616
2617 * sim-profile.c (profile_print_core): label needs empty statement.
2618
2619Thu Sep 25 11:20:47 1997 Stu Grossman <grossman@babylon-5.cygnus.com>
2620
2621 * sim-break.c (sim_set_breakpoint sim_clear_breakpoint): Use ZALLOC
2622 and zfree instead of xmalloc and free. Prevents warnings.
2623
2624Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
2625
2626 * configure: Regenerated to track ../common/aclocal.m4 changes.
2627
2628Wed Sep 24 17:23:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
2629
2630 * Make-common.in (SIM_BITSIZE): Assign from configured value.
2631 (CONFIG_CFLAGS): Add SIM_BITSIZE.
2632
2633 * aclocal.m4 (--enable-sim-bitsize): Developer option for
2634 controling the bitsize/msb of the target.
2635
2636Wed Sep 24 17:41:40 1997 Stu Grossman <grossman@babylon-5.cygnus.com>
2637
2638 * Make-common.in: New files sim-break.c, sim-break.h.
2639 * sim-base.h: Add point to breakpoint list to sim_state_base.
2640 * sim-break.c sim-break.h: New modules that implement intrinsic
2641 breakpoint support.
2642 * sim-module.c: Add breakpoint module.
2643
2644Tue Sep 23 00:26:39 1997 Felix Lee <flee@yin.cygnus.com>
2645
2646 * sim-events.c (SIM_EVENTS_POLL_RATE): poll more often than once
2647 an hour.
2648 * sim-n-core.h (WITH_XOR_ENDIAN): MSVC barfs on
2649 if (0) { 1 % 0; }
2650 * sim-core.c (sim_core_xor_write_buffer): WITH_XOR_ENDIAN + 1.
2651 (SIGBUS) define for Windows.
2652 * sim-trace.c (trace_printf,debug_printf): added ALMOST_STDC.
2653 * sim-resume.c: define SIGTRAP for windows.
2654 * sim-xcat.h: use token pasting if ALMOST_STDC.
2655
2656Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
2657
2658 * Make-common.in (SIM_SCACHE, SIM_DEFAULT_MODEL): Assign
2659 configured values.
2660 (CONFIG_CFLAGS): Add same.
2661
2662Mon Sep 22 17:20:27 1997 Felix Lee <flee@cygnus.com>
2663
2664 * sim-types.h (SIGNED64): ##i64 when _MSC_VER, not _WIN32.
2665 (SIGNED32): use ##i32.
2666
2667Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
2668
2669 * configure: Regenerated to track ../common/aclocal.m4 changes.
2670
2671Tue Sep 23 10:07:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
2672
2673 * aclocal.m4 (sim-endian): Simplify logic determining [default]
2674 endian of target.
2675
2676 * Make-common.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN,
2677 SIM_HOSTENDIAN, SIM_RESERVED_BITS, SIM_ASSERT, SIM_FLOAT,
2678 SIM_HARDWARE, SIM_INLINE, SIM_PACKAGES, SIM_REGPARM, SIM_SMP,
2679 SIM_STDCALL, SIM_XOR_ENDIAN): Assign configured values.
2680 (CONFIG_CFLAGS): Add same.
2681
2682 * aclocal.m4: Perform AC_SUBST on optional options.
2683
2684Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2685
2686 * sim-config.h (WITH_DEFAULT_ALIGNMENT): Don't hardwire any alignment.
2687
2688 * sim-options.c (standard_option_handler): Typo in warning message.
2689
2690 * sim-base.h (STATE_MODEL): Make conditional on SIM_HAVE_MODEL.
2691
2692 * sim-profile.c (profile_print_insn): Check 0 .. MAX_INSN for any
2693 insn count. Make count conditional on there being a valid
2694 INSN_NAME.
2695 (profile_pc_init): Make default PC profile frequency an arbitrary
2696 256.
2697
2698 * sim-base.h: Ditto.
2699
2700 * sim-profile.h (WITH_PROFILE_MODEL_P): Only enable modeling when
2701 SIM_HAVE_MODEL.
2702
2703 * sim-model.h (struct MACH): Depreciate, to be replaced by bfd
2704 archure struct.
2705
2706Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2707
2708 * configure: Regenerated to track ../common/aclocal.m4 changes.
2709
2710Mon Sep 22 11:45:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
2711
2712 * aclocal.m4 (sim_alignment): Simplify logic for selecting the
2713 configured alignment.
2714
2715Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
2716
2717 * configure: Regenerated to track ../common/aclocal.m4 changes.
2718
2719Fri Sep 19 17:26:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
2720
2721 * sim-config.c (sim_config): Check for default alignment.
2722
2723 * sim-options.c (standard_option_handler): Add alignment option.
2724
2725 * aclocal.m4 (sim_alignment): Allow configuration of hardwired and
2726 default alignment requirements on memory accesses.
2727
2728Fri Sep 19 11:51:35 1997 Jeffrey A Law (law@cygnus.com)
2729
2730 * sim-load.c (sim_load_file): Return failure if the executable
2731 had no loadable sections.
2732
2733Wed Sep 17 13:33:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
2734
2735 * sim-events.c (ETRACE): Use trace_printf not sim_io_printf for
2736 trace output.
2737
2738 * sim-core.c (sim_core_signal): When bad access halt simulator
2739 SIGSEGV / SIGBUS instead of aborting.
2740 (signal.h): Include.
2741
2742 * sim-watch.c (sim_watchpoint_install): Handler for watchpoint
2743 options was missing.
2744
2745 * sim-bits.h (MOVED): Define
2746
2747Wed Sep 17 10:33:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
2748
2749 * sim-alu.h (ALU32_HAD_OVERFLOW): Pacify GCC, Use MSBIT instead of
2750 BIT.
2751
2752 * sim-bits.h (LSBIT, MSBIT): Check for overflow of shift value.
2753
2754 * sim-bits.c: Add 8 bit versions of bit macros.
2755
2756 * sim-bits.h: Ditto.
2757
2758Tue Sep 16 16:15:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
2759
2760 * sim-bits.c (LSSEXT, MSSEXT): Replace SEXT.
2761 (LSINSERTED, MSINSERTED): Ditto for INSERTED.
2762
2763 * sim-n-bits.h (MSSEXTn, LSSEXTn): Replace SEXTn.
2764 (LSINSERTDn, MSINSERTEDN): Ditto for INSERTEDn.
2765
2766 * sim-bits.h (SEXT*): Define as MSEXT/LSEXT.
2767 (INSERTED*): Ditto for LSINSERTED/MSINSERTED.
2768
2769Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
2770
2771 * aclocal.m4 (SIM_AC_COMMON): Add optional config.h file argument.
2772 configure.in: Output to cconfig.h instead of config.h.
2773
2774 * configure: Regenerated to track ../common/aclocal.m4 changes.
2775
2776Mon Sep 15 15:39:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
2777
2778 * sim-utils.c (sim_analyze_program): Set STATE_ARCHITECTURE from
2779 BFD if known.
2780
2781Tue Sep 9 21:46:46 1997 Felix Lee <flee@cygnus.com>
2782
2783 * callback.c (os_write): divert stdout and stderr to their
2784 respective hooks.
2785
2786Thu Sep 11 10:08:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
2787
2788 * sim-profile.c (profile_print_speed): Call
2789 sim_events_elapsed_time instead of PROFILE_EXEC_TIME for moment.
2790
2791 * sim-events.c (sim_events_elapsed_time): New function return nr
2792 host MS consumed by the simulator.
2793 (sim_watch_valid): Use.
2794
2795 * sim-module.c (modules): Install sim_events very very early.
2796
2797 * sim-profile.c (profile_print): Call profile_print_pc.
2798 (print_bar):
2799 (profile_pc_init): New function, set up processor for PC
2800 profiling.
2801 (profile_print_pc): New function, print a PC profile.
2802 (profile_pc_event): New function, sample PC.
2803
2804 * sim-profile.h (PROFILE_PC_COUNT, PROFILE_PC_START,
2805 PROFILE_PC_END, PROFILE_PC_SHIFT, PROFILE_PC_SAMPLE_SIZE): Add to
2806 profile struct.
2807
2808 * sim-options.c (sim_print_help): Pacify GCC.
2809
2810 * sim-n-core.h (sim_core_read_aligned_N,
2811 sim_core_write_aligned_N): Add un-conditional profile call.
2812 (sim_core_read_unaligned_N, sim_core_write_unaligned_N): Add
2813 profile call when aligned read/write isn't used.
2814
2815 * sim-base.h: Include sim-profile, sim-model after sim-core &
2816 sim-events allow sim-core to define useful values.
2817
2818 * sim-profile.c (OPTION_PROFILE_CORE): Define.
2819 (profile_option_handler, profile_options): Add support for
2820 --profile-core option.
2821 (print_bar): Include when core profiling.
2822 (profile_print_core): New function, print core profile.
2823
2824 * sim-config.c (print_sim_config): Print profile status.
2825
2826 * sim-profile.h (PROFILE_NEXT_IDX, PROFILE_core,
2827 WITH_PROFILE_PC_P): Define.
2828 (PROFILE_CORE_COUNT): Count each core-map/size separatly.
2829 (PROFILE_COUNT_CORE): Define.
2830
2831Thu Sep 11 08:44:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
2832
2833 * sim-watch.c (handle_watchpoint): Pass a char** index into the
2834 interrupt_names array as the data.
2835 (sim-watch.h): Document.
2836
2837Wed Sep 10 16:15:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
2838
2839 * sim-options.c (sim_print_help): When the doc string is to long
2840 word wrap it.
2841
2842 * sim-watch.c (sim_watchpoint_install): Use option.doc_name so
2843 that only the first few the watch options are listed. Generate
2844 meanginful usage messages.
2845
2846 * sim-options.h (struct OPTION): Clarify use of doc_name field
2847
2848Wed Sep 10 13:23:24 1997 Andrew Cagney <cagney@b1.cygnus.com>
2849
2850 * sim-options.c (OPTION_ARCHITECTURE_INFO): New option.
2851 (standard_option_handler): Handle --architecture-info.
2852
2853Tue Sep 9 21:46:46 1997 Felix Lee <flee@cygnus.com>
2854
2855 * sim-core.h (sim_cpu_core): [WITH_XOR_ENDIAN + 1], to avoid
2856 illegal zero-sized array.
2857 * sim-core.c (sim_core_xor_read_buffer): same.
2858
2859Tue Sep 9 11:20:35 1997 Doug Evans <dje@canuck.cygnus.com>
2860
2861 * nltvals.def: Regenerate.
2862
2863Tue Sep 9 02:10:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
2864
2865 * sim-fpu.c (DP_FRACHIGH2): Define LL using SIGNED64.
2866
2867Mon Sep 8 12:22:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
2868
2869 * sim-bits.c (MASKED): Delete.
2870 (EXTRACTED): Delete.
2871 (LSEXTRACTED, MSEXTRACTED): New functions.
2872
2873 * sim-n-bits.h (MASKEDn): Delete, define as MSMASKED or LSMASKED.
2874 (MSMASKEDn, LSMASKEDn): Add last argument.
2875 (MSMASK*): Ditto.
2876
2877 * sim-bits.h (EXTEND8, EXTEND16): Define.
2878 (EXTRACTED64): Define as 64 bit extract, not 32 bit.
2879
2880 * sim-run.c (sim_engine_run): Use CPU_CIA macro.
2881
2882 * sim-engine.h (SIM_ENGINE_HALT_HOOK): Use CPU_CIA to get at
2883 current instruction address.
2884
2885 * sim-inline.h (*_ENGINE): Define.
2886
2887Fri Sep 5 08:39:02 1997 Andrew Cagney <cagney@b1.cygnus.com>
2888
2889 * sim-core.c (sim_core_attach): Fix checks of modulo/mask.
2890
2891 * sim-watch.c (delete_watchpoint): Delete by ident and type.
2892 (watch_option_handler): Call delete_watchpoint with ident or type.
2893 (sim_watchpoint_install): Create interrupt specific watchpoint
2894 commands on the fly.
2895 (do_watchpoint_create): New function, create a watch point using
2896 type/int-nr info encoded in the option nr.
2897 (do_watchpoint_info): New function. List active watchpoints.
2898
2899 * sim-watch.h: Change data structure to a list.
2900
2901 * sim-memopt.c (memory_option_handler): Require explicit "all"
2902 before deleting all memory regions.
2903
2904 * sim-utils.c (sim_do_commandf): New function, printf version of
2905 sim_do_command.
2906
2907 * sim-basics.h (asprintf, vasprintf): Hack, define for CYGWIN32.
2908
2909 * sim-alu.h (ALU64_ADD): Use explicit MSEXTRACTED64, do not assume
2910 bit endianness.
2911 (SIGNED64, UNSIGNED64): Delete.
2912 (ALU64_ADD): Don't rely on bit endianness.
2913 (ALU64_BEGIN): Define.
2914
2915 * sim-n-bits.h (MSEXTRACTEDn, LSEXTRACTED): New functions.
2916 (EXTRACTEDn): Delete, define as either LSEXTRACTED or MSEXTRACTED.
2917
2918 * sim-types.h (SIGNED64, UNSIGNED64): New macros, attach relevant
2919 suffix - u64, LL - to 64 bit constants.
2920
2921Thu Sep 4 09:27:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
2922
2923 * sim-config.c (sim_config): Add assert for SIM_MAGIC_NUMBER.
2924
2925 * sim-utils.h (NZALLOC): Define - zalloc * N.
2926
2927 * sim-hrw.c (sim_read, sim_write): New file. Provide generic
2928 implementation of read/write functions.
2929
2930 * Make-common.in (sim-hrw.o): New target.
2931
2932 * sim-base.h (STATE_MEMOPT_P): Delete, simulators _always_ add
2933 memory.
2934
2935 * sim-memopt.c (memory_option_handler): Implement memory-size
2936 command. Implement memory-alias command. Let memory-delete delete
2937 all memory regions.
2938 (add_memopt): New function. Add a memory region.
2939 (do_memopt_delete): New function. Delete a memory region.
2940
2941 * sim-utils.c (sim_elapsed_time_get): Never return zero.
2942
2943 * sim-core.c (sim_core_detach): New function.
2944 (sim_core_map_detach): New function. Perform the actual detach.
2945 (sim_core_init): Move initialization code from here.
2946 (sim_core_install): To here.
2947 (sim_core_uninstall): And here.
2948
2949 * sim-module.c: Add memopt module.
2950
2951 * sim-base.h (STATE_MEMOPT, STATE_MEMOPT_P): Add memopt to
2952 simulator base type.
2953
2954 * Make-common.in (sim_main_headers): Add sim-memopt.h
2955 (sim-memopt.o): New target.
2956
2957 * sim-core.c (sim_core_install): Add core_options to the option
2958 table.
2959
2960 * sim-watch.c (watch_options): Make --delete-watch a synonym for
2961 --watch-delete.
2962
2963 * sim-config.h (WITH_MODULO_MEMORY): Define as 0. Update
2964 comments.
2965
2966 * sim-core.h (struct _sim_core_mapping): Change nr_bytes to type
2967 address_word, add mask member.
2968
2969 * sim-core.h, sim-core.c (sim_core_attach): Make nr_bytes of type
2970 address_word, allow for 64bit targets in 32bit host. Add modulo
2971 argument.
2972 (sim_core_map_attach): Ditto.
2973 (new_sim_core_mapping): Ditto.
2974 (sim_core_translate): Mask address when modulo memory.
2975
2976Wed Sep 3 17:32:54 1997 Doug Evans <dje@seba.cygnus.com>
2977
2978 * sim-hload.c (sim_load): Add assert for SIM_MAGIC_NUMBER.
2979
2980 * gdbinit.in: New file.
2981 * aclocal.m4 (SIM_AC_OUTPUT): Build .gdbinit.
2982 * Make-common.in (distclean): Delete .gdbinit.
2983 (.gdbinit): Add rule for.
2984 * configure: Regenerated to track ../common/aclocal.m4 changes.
2985
2986 * Make-common.in (cgen-run.o): Add rule for.
2987
2988Wed Sep 3 10:08:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
2989
2990 * sim-resume.c (sim_resume): Suspend/resume the simulator.
2991
2992 * sim-events.c (sim_watch_valid): Compute total elapsed time from
2993 both resumed and previous elapsed time.
2994 (sim_events_init): Set initial_wallclock and current_wallclock to
2995 zero.
2996 (sim_events_install): Install sim_events_suspend and
2997 sim_events_resume.
2998 (sim_events_watch_clock): Allow for suspended simulator when
2999 computing the time of the clock event.
3000
3001 * sim-events.h (struct _sim_event): Add resume_wallclock, rename
3002 initial_wallclock to elapsed_wallclock, set both to zero.
3003 (sim_events_init, sim_events_uninstall): Delete prototypes.
3004
3005 * sim-module.h (MODULE_SUSPEND_FN, MODULE_RESUME_FN): Define types.
3006
3007 * sim-module.c(sim_module_resume, sim_module_suspend): New
3008 functions.
3009
3010Wed Sep 3 10:08:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
3011
3012 * sim-core.c (sim_core_map_attach): Clarify memory overlap error
3013 message.
3014
3015Tue Sep 2 14:57:06 1997 Doug Evans <dje@canuck.cygnus.com>
3016
3017 * Makefile.in (TAGS): Add support for "/* TAGS: foo */" marker.
3018 * Make-common.in (TAGS): Likewise.
3019 * sim-n-bits.h: Add TAGS comments for all functions.
3020 * sim-n-core.h: Likewise.
3021 * sim-n-endian.h: Likewise.
3022
3023Mon Sep 1 10:50:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
3024
3025 * sim-utils.c (sim_state_alloc): Set CPU backlinks, callback and
3026 kind.
3027
3028 * sim-base.h (sim_state_alloc): Add callback and kind arguments.
3029
3030 * sim-base.h (INVALID_INSTRUCTION_ADDRESS): Add default
3031 definition.
3032
3033Sat Aug 30 09:47:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
3034
3035 * sim-fpu.c (DP_GARDMSB, ...): Make unsigned.
3036 (DP_FRACHIGH, DP_FRACHIGH2, ..): Use MSMASK to avoid LL.
3037
3038Fri Aug 29 13:37:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
3039
3040 * sim-core.c (sim_core_map_attach): Cast attach enum to int.
3041 (sim_core_xor_read_buffer, sim_core_xor_write_buffer): Make
3042 nr_transfered and nr_this_transfer unsigned.
3043
3044 * sim-events.c (sim_events_tickn): N is signed, as limited to
3045 MAXINT.
3046
3047 * sim-n-endian.h (offset_N): Change size to unsigned.
3048
3049 * callback.c (os_poll_quit): Add prototypes for kbhit and getkey.
3050
3051Fri Aug 29 10:10:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
3052
3053 * sim-utils.c (sim_copy_argv): Delete, replaced by dupargv.
3054
3055 * sim-options.c (sim_parse_args): Use dupargv.
3056
3057Thu Aug 28 10:36:34 1997 Doug Evans <dje@canuck.cygnus.com>
3058
3059 * sim-options.c (standard_option_handler): Use xstrdup, not strdup.
3060
3061Thu Aug 28 12:09:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
3062
3063 * sim-base.h (STATE_ARCHITECTURE, STATE_TARGET): Add to simulator
3064 base type.
3065
3066 * sim-options.c (standard_options): Add --architecture=MACHINE and
3067 --target=TARGET options.
3068 (OPTION_ARCHITECTURE, OPTION_TARGET): Define.
3069 (standard_option_handler): Handle architecture and target options.
3070 (bfd.h): Include.
3071
3072 * sim-utils.c (sim_analyze_program): Pass STATE_TARGET to
3073 bfd_openr.
3074 (sim_analyze_program): Set prog_bfd architecture from
3075 STATE_ARCHITECTURE if known.
3076
3077Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
3078
3079 * configure: Regenerated to track ../common/aclocal.m4 changes.
3080 * config.in: Ditto.
3081
3082Wed Aug 27 18:11:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
3083
3084 * aclocal.m4 (enable-sim-warnings): Remove comment stating
3085 that option does not apply to certain files.
3086
3087Wed Aug 27 15:13:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
3088
3089 * sim-bits.h (LSBIT8, LSBIT16, LSBIT32, LSBIT64, LSBIT, MSBIT8,
3090 MSBIT16, MSBIT32, MSBIT64, MSBIT): New macros - single bit as
3091 offset from MSB/LSB.
3092
3093 * sim-endian.h (A1_8, A2_8, A4_8, A1_4, A2_4, A1_2): New macro,
3094 access address of sub word quantity of a hosts 16, 32, 64 bit word
3095 type.
3096 (V1_2, V1_4, V2_4, V1_8, V2_8, V4_8): Ditto for values.
3097 (U8_1, U8_2, U8_4, U4_1, U4_2, U2_1): Ditto for set of values.
3098 (V2_H1, V2_L1, V4_H2, V4_L2, V8_L4, V8_H4): Given N byte argument,
3099 return N*2 byte value with argument in Hi/Lo word. Renamed from
3100 V1_H2, V1_L2, V2_H4, V2_L4, V4_H8, V4_L8.
3101
3102 * sim-alu.h (ALU32_HAD_OVERFLOW): Use 64 bit mask not 32bit.
3103 (ALU16_HAD_CARRY, ALU32_HAD_CARRY, ALU16_HAD_OVERFLOW): Use MSBIT
3104 so that bit offset is explicit.
3105
3106Wed Aug 27 11:55:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
3107
3108 * sim-utils.c (sim_analyze_program): Add prog_name argument.
3109 Update STATE_PROG_BFD when needed with a dup'd copy of the
3110 program.
3111
3112 * sim-config.c (sim_config): Delete ABFD argument, use
3113 STATE_PROG_BFD directly.
3114
3115Tue Aug 26 12:55:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
3116
3117 * run.c (main): Pass the open ABFD to sim_create_inferior.
3118
3119 * nrun.c (main): Determine prog_bfd. Pass to sim_create_inferior
3120 and sim_load.
3121 (bfd.h): Include.
3122
3123 * sim-hload.c (sim_load): New file. Implement generic sim_load for
3124 hardware only simulator targets.
3125
3126 * Make-common.in (sim-hload.o): Add rule.
3127
3128Wed Aug 27 09:51:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
3129
3130 * sim-utils.c (sim_copy_argv): Rewrite to match malloc strategy
3131 used by copyargv and freeargv.
3132
3133 * sim-options.c (sim_parse_args): Save a copy of PROG-ARGS in
3134 STATE_PROG_ARGV, not just a pointer.
3135
3136Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
3137
3138 * configure: Regenerated to track ../common/aclocal.m4 changes.
3139 * config.in: Ditto.
3140
3141Mon Aug 25 12:11:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
3142
3143 * aclocal.m4 (sim-endian): Add second argument to
3144 SIM_AC_OPTION_ENDIAN. First is hardwired endian, second is
3145 default endian when not hardwired.
3146
3147 * sim-config.h (WITH_DEFAULT_TARGET_BYTE_ORDER): New macro, if all
3148 else failes value for target byte order.
3149
3150 * sim-config.c (sim_config): Add abfd arguments. Set
3151 STATE_PROG_BFD accordingly. Determine prefered_target_byte_order
3152 from same.
3153 (sim_config): Return SIM_RC, don't abort.
3154 (bfd.h): Include.
3155
3156 * run.c (main): Update call to sim_open - add ABFD argument.
3157 * nrun.c (main): Add NULL ABFD argument.
3158
3159Thu Aug 14 12:48:57 1997 Doug Evans <dje@canuck.cygnus.com>
3160
3161 * callback.c (os_poll_quit): Make static.
3162 Call sim_cb_eprintf, not p->eprintf.
3163 (sim_cb_printf, sim_cb_eprintf): New functions.
3164 * sim-utils.h (sim_cb_printf, sim_cb_eprintf): Declare.
3165
3166 * sim-basics.h (zalloc,zfree,sim_add_commas,SIM_ELAPSED_TIME,
3167 sim_elapsed_time_get,sim_elapsed_time_since): Move decls to
3168 sim-utils.h. #include sim-utils.h.
3169 * sim-utils.h: Above decls moved here.
3170 (sim_analyze_program,sim_load_file): Use `struct _bfd', not `bfd'.
3171
3172 * sim-watch.c (action_watchpoint): Fix thinkos.
3173
3174Thu Jul 24 08:48:05 1997 Stu Grossman (grossman@critters.cygnus.com)
3175
3176 * sim-types.h: Fix defs of 64 bit data types for MSVC.
3177
3178Tue Jul 22 10:35:37 1997 Doug Evans <dje@canuck.cygnus.com>
3179
3180 * sim-n-core.h (sim_core_write_unaligned_N): Add missing break
3181 to FORCED_ALIGNMENT case.
3182
3183Thu Jun 5 13:48:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
3184
3185 * callback.c (target_to_host_open): Handle hosts with O_BINARY.
3186
3187Thu Jun 5 08:47:10 1997 Jeffrey A Law (law@cygnus.com)
3188
3189 * Make-common.in (libsim.a): Fix typo.
3190
3191Thu Jun 5 13:48:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
3192
3193 * nrun.c (main): Verify the structure returned before using it.
3194
3195Wed Jun 4 11:44:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
3196
3197 * sim-config.h (WITH_ENGINE): Enable the sim-engine module by
3198 default.
3199
3200 * sim-engine.c (sim_engine_install): New function. Install the
3201 engine init functions.
3202 (sim_engine_init): [Re]initialize the simulator engine.
3203
3204 * sim-module.c: Add sim_engine to list of modules that always
3205 install.
3206
3207Tue Jun 3 04:52:04 1997 Andrew Cagney <cagney@b1.cygnus.com>
3208
3209 * sim-watch.c (schedule_watchpoint): Use sim_unschedule_watchpoint
3210 to remove the old watchpoint, not delete_watchpoint.
3211 (watch_option_handler): Action the correct watchpoint, not just
3212 cycles.
3213
3214Wed May 28 14:47:41 1997 Andrew Cagney <cagney@b1.cygnus.com>
3215
3216 * sim-n-core.h (sim_core_write_aligned_N): For 8byte reads, output
3217 both low and high word.
3218 (sim_core_write_aligned_N): Ditto.
3219
3220 * sim-trace.c (set_trace_options): Delete code explicitly setting
3221 core->trace.
3222
3223 * sim-options.c (sim_print_help): Call the list commands if not a
3224 standalone simulator.
3225 (sim_print_help): Advise that some options may not be applicable.
3226
3227 * sim-trace.c (set_trace_options): Assume core present.
3228
3229 * sim-events.c (sim_events_schedule_after_signal): Overflow signal
3230 buffer when full not almost full.
3231
3232Tue May 27 14:32:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
3233
3234 * sim-events.c (sim_events_process): Don't blat the event queue
3235 when processing watchpoints.
3236
3237 * sim-watch.h: Make arg unsigned long - stop sign extension.
3238
3239 * sim-events.c (sim_watch_valid): rewrite so debugable.
3240
3241 * sim-config.h (WITH_XOR_ENDIAN): Default to zero.
3242
3243 * sim-watch.c (schedule_watchpoint): Add is_within option so that
3244 inequality test is possible.
3245 (handle_watchpoint): Re-pass is_within arg.
3246 (watch_option_handler): When `!' prefix to pc-watchpoint arg pass
3247 0 to schedule_watchpoint's is_within arg.
3248 (sim_watchpoint_init): Re-pass is_within arg.
3249
3250 * sim-options.c (sim_print_help): Add is_command argument. Don't
3251 include -- prefix when called from the command line interpreter.
3252
3253 * sim-watch.c (schedule_watchpoint): Pass true is_within argument.
3254
3255 * sim-events.c (sim_events_watch_sim): Add is_within argument,
3256 zero indicates that the test should be reversed.
3257 (sim_events_watch_core): Ditto.
3258 (WATCH_CORE): Compare range against is_within.
3259 (WATCH_SIM): Ditto.
3260
3261Tue May 27 12:48:03 1997 Andrew Cagney <cagney@b2.cygnus.com>
3262
3263 * sim-events.c (WATCH_CORE): Pass NULL cpu argument to
3264 sim_core_read_buffer. Check nr-bytes transfered.
3265
3266 * sim-core.h (sim_core_common): Define a new struct that contains
3267 the common data. to sd and cpu structures.
3268 * sim-core.c (sim_core_attach): Update.
3269 (sim_core_init): Update. Remember to copy initialized data to each
3270 cpu.
3271 (sim_core_find_mapping): Ditto.
3272
3273 * sim-core.c (sim_core_read_buffer): Add cpu argument.
3274 (sim_core_write_buffer): Ditto.
3275
3276 * sim-n-core.h (sim_core_read_unaligned_N): When mis-aligned
3277 transfer use xor version of read buffer.
3278 (sim_core_write_unaligned_N): Ditto for write.
3279
3280 * sim-core.c (sim_core_xor_read_buffer): New function implement
3281 xor-endian data read breaking transfer up into xor-endian sized
3282 blocks.
3283 (sim_core_xor_write_buffer): Ditto for write.
3284 (reverse_n): Reverse order of arbitrary number of bytes in buffer
3285 - needed for xor-endian transfers.
3286
3287Fri May 23 14:24:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
3288
3289 * sim-inline.h: Review description.
3290
3291 * sim-core.h, sim-core.c: Reduce number of functions being inlined
3292 to just those involved in data transfers and configuration.
3293
3294 * sim-xcat.h (XSTRING): New macro, map macro definition onto
3295 string.
3296 * sim-n-core.h (sim_core_read_aligned_N): Use.
3297 (sim_core_read_unaligned_N): Ditto.
3298 (sim_core_read_unaligned_N): Ditto..
3299 (sim_core_write_unaligned_N): Ditto.
3300
3301 * sim-core.h: Add xor endian bitmap to main structure. *
3302
3303 sim-n-core.h (sim_core_write_aligned_N): Add suport for xor
3304 endian.
3305 (sim_core_read_aligned_N): Ditto.
3306
3307 * sim-core.c (sim_core_set_xor_endian): New function.
3308 (sim_core_attach): Don't overwrite the per-cpu xor map when
3309 cloning the global core.
3310
3311Fri May 23 10:53:13 1997 Andrew Cagney <cagney@b1.cygnus.com>
3312
3313 * sim-engine.h: Update below so that it is using an enumerated
3314 type.
3315
3316Thu May 22 09:12:16 1997 Gavin Koch <gavin@cygnus.com>
3317
3318 * sim-engine.c (sim_engine_restart):
3319 * sim-resume.c (sim_resume): Change longjmp param/setjmp
3320 return value used for simulator restart from 0 to 2.
3321
3322Wed May 21 08:47:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
3323
3324 * cgen-scache.c (scache_option_handler): Add is_command arg.
3325
3326 * sim-model.c (model_option_handler): Add is_command argument.
3327
3328 * sim-profile.c (profile_option_handler): Add is_command arg.
3329
3330 * sim-events.c (sim_watch_valid): Use ub64, lb64 when 64bit value
3331 involved.
3332
3333 * sim-module.c (sim_module_add_init_fn): Call init fn in the same
3334 order that they are registered.
3335
3336 * sim-options.h (OPTION_HANDLER): Add argument to differentiate
3337 between option and command line processing.
3338
3339 * sim-options.c: Include stdlib.h, ctype.h.
3340
3341 * Make-common.in (sim-watch.o): Add rule.
3342 (sim_main_headers): Assume sim-assert.h included.
3343 (sim-*.o): Simplify make rule.
3344
3345 * sim-module.c: Add sim_watch_install to module list.
3346
3347Tue May 20 14:15:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
3348
3349 * sim-base.h (STATE_LOADED_P): New predicate. Set once everything
3350 has been loaded.
3351
3352 * sim-trace.c (trace_install): Check magic. Include sim-assert.h.
3353 * sim-events.c (sim_events_install): Ditto.
3354 * sim-core.c (sim_core_install): Ditto.
3355 * sim-model.c (model_install): Ditto.
3356 * sim-options.c (standard_install): Ditto.
3357 * sim-profile.c (profile_install): Ditto.
3358 * sim-reason.c (sim_stop_reason): Ditto.
3359 * sim-run.c (sim_engine_run): Ditto.
3360 * sim-utils.c (sim_analyze_program): Ditto.
3361
3362 * sim-module.c (modules): Make profile_install and trace_install
3363 optional.
3364
3365 * sim-base.h (STATE_MEM_BASE): Define for flat memory systems.
3366
3367 * sim-options.c (standard_option_handler): Set the byte order.
3368
3369 * sim-events.c (sim_events_process): Allow multi tick processing.
3370 (sim_events_tickn): New function - multi cycle tick.
3371
3372 * sim-events.h (sim_events_tickn, sim_events_timewarp): Add
3373 prototypes. Under development.
3374 (sim_events): Replace processing with nr_ticks_to_process.
3375
3376Tue May 20 09:39:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
3377
3378 * nrun.c (main): Pass callbacks to sim_open instead of using
3379 sim_set_callbacks.
3380
3381 * run.c (main): Ditto.
3382
3383Mon May 19 12:07:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
3384
3385 * sim-events.c (sim_events_zalloc): Signal save memory allocator -
3386 stop tk interrupting malloc calls.
3387 (sim_events_zalloc): Converse.
3388
3389 * Make-common.in (sim_main_headers): Add sim-events.h.
3390
3391 * sim-events.c (sim_events_schedule_after_signal): Change return
3392 type to void - signal events are strictly internal.
3393 (sim_events_init): Allocate a finite buffer for signal events.
3394 (sim_events_schedule_after_signal): Enter signal events into the
3395 signal buffer.
3396
3397 * sim-engine.c (sim_engine_halt): Check SIM_DESC magic.
3398 (sim_engine_restart): Ditto.
3399 (sim_engine_abort): Ditto.
3400 * sim-stop.c (sim_stop): Ditto.
3401 (control_c_simulation): Ditto.
3402 * sim-resume.c (sim_resume): Ditto.
3403 (has_stepped): Ditto.
3404 * sim-abort.c (sim_engine_abort): Ditto.
3405
3406 * sim-basics.h (transfer_type): New type.
3407
3408 * sim-core.c (sim_core_signal): New function. Print core signal
3409 information.
3410 (sim_core_find_mapping): Add transfer argument.
3411
3412 * sim-n-core.h (sim_core_{write,write}_unaligned_N): Call
3413 SIM_CORE_SIGNAL if a recoverable abort.
3414 * sim-core.c (sim_core_find_mapping): Ditto.
3415
3416Fri May 16 15:13:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
3417
3418 * sim-core.c (sim_core_find_mapping): Replace calls to
3419 sim_io_error to more resiliant sim_engine_abort.
3420
3421 * sim-n-core.h (sim_core_read_unaligned_N): Ditto.
3422 (sim_core_write_unaligned_N): Ditto.
3423
3424Tue May 13 13:50:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
3425
3426 * sim-module.c: Add sim_events_install to list.
3427
3428 * sim-events.c (sim_events_install, sim_events_uninstall): Clonse
3429 from sim_core_*.
3430 (sim_events_init): Now returns SIG_RC.
3431
3432 * sim-run.c: New file. Generic sim_engine_run.
3433 * sim-reason.c: New file. Generic sim_stop_reason.
3434 * sim-stop.c: New file. Generic sim_stop.
3435 * sim-resume.c: New file. Generic sim_resume.
3436
3437 * Make-common.in (sim-engine.o): Add rule.
3438 (sim-run.o, sim-reason.o, sim-stop.o, sim-resume.o): Ditto.
3439
3440 * sim-engine.h, sim-engine.c: New file. Provide generic
3441 implementation of sim_engine_halt, sim_engine_error. et.al.
3442
3443 * sim-base.h (sim_state_base): Add member halt.
3444 (sim-engine.h): Include.
3445
3446 * sim-events.h (sim_event_handler): Always pass SIM_DESC to event
3447 handlers.
3448 * sim-events.c (sim_events_poll): Update event handler.
3449
3450Tue May 13 09:57:49 1997 Andrew Cagney <cagney@b2.cygnus.com>
3451
3452 * sim-events.h, sim-events.c (sim_events_watch_clock): New
3453 function.
3454 (sim_events_watch_sim): New function.
3455 (sim_events_watch_core): New function.
3456 (sim_watch_valid): New function.
3457 (sim_events_preprocess): New function.
3458 (sim_events_process): Process the watchpoints as well as the timer
3459 queue.
3460 (sim_events_tick): Check WORK_PENDING instead of the hold queue.
3461 (sim_events_deschedule): Check all the queues when removing an
3462 event.
3463 (sim_events_init): Ditto for cleaning.
3464
3465Mon May 19 12:07:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
3466
3467 * sim-fpu.c (is_ufpu_number): Comment out - currently unused.
3468
3469Mon May 19 11:23:03 1997 Andrew Cagney <cagney@b1.cygnus.com>
3470
3471 * callback.c (os_open): Type of arg flags is int.
3472
3473Fri May 16 22:26:43 1997 Michael Meissner <meissner@cygnus.com>
3474
3475 * sim-fpu.c (sim_fpu_is_{eq,ne,lt,le,gt,ge}): Compare Infinities
3476 just like normal numbers as per IEEE rules.
3477
3478Wed May 14 21:20:38 1997 Bob Manson <manson@charmed.cygnus.com>
3479
3480 * callback.c (os_close): Mark the descriptor as being
3481 available if the close succeeded.
3482 (os_open): Pass 0644 as the mode of the file being created.
3483
3484Thu May 15 10:58:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
3485
3486 * sim-fpu.c (pack_fpu, unpack_fpu): New functions - decode a
3487 float.
3488
3489 * sim-inline.c (SIM_INLINE_C): Rename from _SIM_INLINE_C_.
3490 * sim-lnline.h: Update.
3491
3492 * sim-fpu.h, sim-fpu.c (sim_fpu_[iu]{32,64}to): New int2fp
3493 conversion functions.
3494 (sim_fpu_to{32,64}[iu]): New fp2int functions.
3495
3496 * sim-fpu.h, sim-fpu.c (sim_fpu_is_{lt,le,eq,ne,ge,gt}): New fp
3497 compare functions. Replacing.
3498 (sim_fpu_cmp): This. Delete.
3499
3500Mon May 12 14:49:05 1997 Andrew Cagney <cagney@b1.cygnus.com>
3501
3502 * sim-core.c (sim_core_find_mapping): Call engine_error not
3503 sim_io_error when possible.
3504
3505Mon May 12 08:55:07 1997 Andrew Cagney <cagney@b2.cygnus.com>
3506
3507 * sim-endian.h (V1_H2): Add macro's to insert a word into a
3508 high/low double word.
3509
3510 * sim-trace.h: Remove definition of attribute - defined in
3511 sim_basics.h.
3512
3513Mon May 12 08:55:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
3514
3515 * sim-options.h (struct OPTION): Add doc_opt as the documenting
3516 name of the option - or family of options.
3517
3518 * sim-options.c (sim_args_command): Match command `a-b c' with
3519 option `--a-b-c' from option table.
3520
3521Thu May 8 12:40:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
3522
3523 * sim-options.c (sim_print_help): For optional arguments, wrap
3524 them in [].
3525
3526 * sim-trace.c (set_trace_options): New function, handle optional
3527 argument and multiple assignment.
3528 (trace_option_handler): Update.
3529
3530 * sim-trace.c (trace_option_handler): Trace branch and not fpu
3531 when branch tracing selected.
3532
3533Wed May 7 15:19:58 1997 Andrew Cagney <cagney@b1.cygnus.com>
3534
3535 * sim-trace.c (trace_one_insn): Make a va-args function.
3536
3537 * sim-trace.c (trace_vprintf): New function, va-arg version of
3538 trace_printf.
3539
3540Tue May 6 16:38:16 1997 Doug Evans <dje@canuck.cygnus.com>
3541
3542 * sim-trace.c (trace_uninstall): Don't close a file twice.
3543 * sim-profile.c (profile_uninstall): Likewise.
3544
3545Tue May 6 06:14:01 1997 Mike Meissner <meissner@cygnus.com>
3546
3547 * sim-trace.c (toplevel): Include bfd.h.
3548 (trace_options): Note that --trace-linenum also turns on
3549 --trace-insn. Add --trace-{branch,semantics}.
3550 (trace_option_handler): If --trace-linenum, also turn on
3551 --trace-insn. Add --trace-branch support. If --trace-semantics,
3552 turn on ALU, FPU, branch, and memory tracing.
3553 (trace_one_insn): New function to trace an instruction. Support
3554 --trace-linenum.
3555 (OPTION_TRACE_*): Use an enum, rather than lots of defines.
3556
3557 * sim-trace.h (TRACE_{SEMANTICS,BRANCH}_IDX): Add new macros.
3558 (MAX_TRACE_VALUES): Use 32, not 12 by default.
3559 (TRACE_branch): Add new mask.
3560 (TRACE_*_P): Define all possible trace_p macros.
3561 (trace_one_insn): Declare function.
3562
3563Mon May 5 14:08:34 1997 Mike Meissner <meissner@cygnus.com>
3564
3565 * sim-trace.h (__attribute__): Define as nothing if not GNU C or
3566 GNU C doesn't support __attributes__.
3567 ({trace,debug}_printf): Add attribute's so -Wformat can check the
3568 format strings.
3569
3570Mon May 5 11:16:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
3571
3572 * sim-config.h (FORCED_ALIGNMENT): New alignment option -
3573 addresses are masked forcing them to be correctly aligned.
3574 (WITH_ALIGNMENT): Make NONSTRICT_ALIGNMENT the default.
3575 * sim-config.c (config_alignment_to_a): Update.
3576
3577 * sim-core.h (sim_cpu_core): New data type contains cpu specific
3578 core data.
3579 * sim-base.h (CPU_CORE): Add cpu specific core data to cpu base
3580 type.
3581 * sim-core.c (sim_core_attach): Add CPU argument. Ready for
3582 processor specific core maps.
3583 (sim_core_map_attach): Copy the core map data to each of the
3584 processor specific core data structures.
3585 * sim-core.c (sim_core_find_mapping): Update.
3586
3587 * sim-n-core.h (sim_core_read_N, sim_core_write_N): Rename.
3588 (sim_core_write_aligned_N, sim_core_write_aligned_N): New names.
3589 (sim_core_write_unaligned_N, sim_core_write_unaligned_N): New
3590 alternatives that handle unaligned addresses.
3591 (sim_core_{read,write}_{,un}aligned_N): Drop SIM_DESC arg, replace
3592 with just CPU arg.
3593 * cgen-utils.c (sim_disassemble_insn): Update.
3594
3595Mon May 5 13:19:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
3596
3597 * sim-trace.h (TRACE_FPU_IDX): Add Floating-point specific
3598 tracing.
3599
3600 * sim-fpu.h, sim-fpu.c: New files - prototype for generic target
3601 fpu support.
3602
3603 * sim-inline.h, sim-inline.c: Add support for SIM_FPU.
3604
3605Fri May 2 17:59:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
3606
3607 * sim-core.c (sim_core_map_to_str): New function ascii equivalent
3608 to map type.
3609
3610 * sim-n-core.h (sim_core_read_N, sim_core_write_N): Use in trace
3611 statement.
3612
3613Fri May 2 17:28:02 1997 Andrew Cagney <cagney@b2.cygnus.com>
3614
3615 * cgen-trace.c: Prepend additional trace_printf argument.
3616
3617 * cgen-utils.c (sim_disassemble_insn): Add additional core
3618 arguments.
3619
3620Fri May 2 11:40:23 1997 Andrew Cagney <cagney@b1.cygnus.com>
3621
3622 * nrun.c (main): Catch/report errorenous simulator states.
3623
3624 * sim-module.c: #include "libiberty.h" so that xmalloc is defined.
3625 * sim-trace.c: #include string.h/strings.h so that memset is
3626 defined.
3627 * sim-utils.c: Ditto.
3628 * sim-profile.c: Ditto. And stdlib.h.
3629 (print_bar): Only define when used by instruction or memory profiler.
3630
3631 * sim-options.c (standard_option_handler): Make ul more local.
3632
3633 * sim-load.c (sim_load_file): Make the name constant.
3634 (sim_load_file): Passify gcc.
3635
3636 * sim-utils.h: New file, pre-declare utilites in corresponding .c
3637 file.
3638 * sim-utils.c, sim-load.c: Include sim-utils.h.
3639
3640 * sim-base.h (sim_cpu): Pre define here so available to all.
3641
3642 * sim-core.h (DECLARE_SIM_CORE_WRITE_N, DECLARE_SIM_CORE_READ_N):
3643 Restore the sim_cpu and instruction_address arguments so that full
3644 information is available to the abort function.
3645 * sim-core.c (sim_core_find_mapping, sim_core_write_buffer): Ditto.
3646 * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
3647
3648 * sim-trace.h, sim-trace.c (trace_option_handler): Add interim
3649 tracing support for sim-events and sim-core.
3650 (trace_option_handler): Convert #if to if where possible so always
3651 compiled/checked by C compiler.
3652 * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update.
3653
3654 * sim-base.h: Adjust comment documenting how to define the cpu
3655 structure.
3656 (sim_state_base): Add sim_core and sim_events to simulator base
3657 object.
3658
3659 * sim-trace.h, sim-trace.c (trace_printf): Add SIM_DESC argument.
3660 * sim-core.c (sim_core_init, sim_core_attach,
3661 sim_core_find_mapping): Update.
3662 * sim-events.c (ETRACE, sim_events_init, sim_events_time,
3663 update_time_from_event, insert_sim_event,
3664 sim_events_schedule_after_signal, sim_events_deschedule,
3665 sim_events_tick): Ditto.
3666
3667 * sim-basics.h (sim-module.h, sim-trace.h, sim-profile.h,
3668 sim-model.h): Move #includes from here.
3669 * sim-base.h: To here.
3670 (sim-core.h, sim-events.h, sim-io.h): Include also
3671
3672Wed Apr 30 15:37:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
3673
3674 * callback.c (default_callback): Missing initialisers.
3675
3676Thu May 1 10:40:47 1997 Doug Evans <dje@canuck.cygnus.com>
3677
3678 * sim-utils.c (sim_add_commas): New function.
3679 * sim-basics.h (sim_add_commas): Add prototype.
3680 * cgen-scache.c (scache_print_profile): Print commas in numbers.
3681 * sim-profile.c (COMMAS): New macro.
3682 (print_*): Use it to print commas in numbers.
3683
3684 * configure: Regenerated.
3685
3686 * cgen-sim.h (sim_signal_type): Add SIM_SIGINT.
3687 (cgen_state): New member run_fast_p.
3688 (cgen_init): Add prototype.
3689 (sim_disassemble_insn): New arg `cpu'.
3690 * cgen-trace.c (trace_insn): Update call to sim_disassemble_insn.
3691 * cgen-utils.c (cgen_init): New function.
3692 (sim_disassemble_insn): New arg `cpu'. Rewrite fetching of insn.
3693 * genmloop.sh: Call engine_halt if loop exits.
3694
3695 * Makefile.in (sim-options_h): Define.
3696 (sim-{module,options,trace,profile,utils}.o): Clean up dependencies.
3697 (sim-model.o): Add new rule.
3698 (cgen-{scache,trace,utils}.o): Add new rules.
3699 * aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add.
3700 * cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'.
3701 Indent output by 2 spaces.
3702 * cgen-scache.h (scache_print_profile): Update.
3703 * cgen-trace.c (trace_insn_fini): Indent output by 2 spaces.
3704 Use trace_printf, not fprintf.
3705 (trace_extract): Use trace_printf, not cgen_trace_printf.
3706 * genmloop.sh (!FAST case): Increment `insn_count'.
3707 * sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE.
3708 (sim_cpu_base): Rename member `sd' to `state' to be consistent with
3709 access macro's name.
3710 * sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it.
3711 Change return type to SIM_RC.
3712 (sim_core_{install,uninstall}): New functions.
3713 * sim-core.h (sim_core_{install,uninstall}): Declare.
3714 (sim_core_init): Use EXTERN_SIM_CORE to define it.
3715 Change return type to SIM_RC.
3716 * sim-model.h (models,machs,model_install): Declare.
3717 * sim-module.c (modules): Add scache_install, model_install.
3718 (sim_post_argv_init): Set cpu->state backlinks.
3719 * sim-options.c (standard_options): Delete --simcache-size,--max-insns.
3720 (standard_option_handler): Likewise.
3721 * sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to
3722 sim-profile.h.
3723 (*): Assume ANSI C.
3724 (profile_options): Delete --profile-simcache.
3725 (profile_option_handler): Likewise.
3726 (profile_print_insn): Change `sd' arg to `cpu'. Indent output 2
3727 spaces.
3728 (profile_print_{memory,model}): Likewise.
3729 (profile_print_simcache): Delete.
3730 (profile_print_speed): New function.
3731 (profile_print): Rewrite.
3732 * sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache.
3733 (WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P.
3734 (PROFILE_DATA): Delete members simcache_{hits,misses}.
3735 (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete.
3736 (PROFILE_{CALLBACK,CPU_CALLBACK}): New types.
3737 (profile_print): Update prototype.
3738
3739Wed Apr 30 11:34:14 1997 Doug Evans <dje@canuck.cygnus.com>
3740
3741 * cgen-scache.[ch], cgen-sim.h: New files.
3742 * cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files.
3743 * sim-model.c: New file.
3744
3745 * Make-common.in (clean targets): Undo patch of Apr. 22.
3746
3747Fri Apr 25 15:28:32 1997 Mike Meissner <meissner@cygnus.com>
3748
3749 * sim-n-bits.h (signed): If we have a standard compiler, undef
3750 signed, so that signedN is defined correctly.
3751
3752Thu Apr 24 00:00:07 1997 Doug Evans <dje@canuck.cygnus.com>
3753
3754 * sim-module.h, sim-model.h, sim-profile.h: New files.
3755 * sim-module.c, sim-profile.c: New files.
3756 * Make-common.in (SIM_PROFILE): Define
3757 (CONFIG_CFLAGS): Add $(SIM_PROFILE).
3758 (sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h.
3759 (sim_module.o,sim-profile.o): Add rules for.
3760 * aclocal.m4 (--enable-sim-trace): Allow symbolic arguments.
3761 (--enable-sim-profile): Add.
3762 * configure: Regenerated.
3763 * sim-base.h (sim_state_base): New members init_list, uninstall_list,
3764 model. Move trace and profile support to sim-{trace,profile}.h.
3765 New members trace_data, profile_data.
3766 * sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h.
3767 * sim-config.h: Provide default definition of WITH_PROFILE.
3768 (WITH_TRACE): Change default to -1.
3769 (MAX_NR_PROCESSORS): Always define.
3770 * sim-options.c: Move trace and profile support to
3771 sim-{trace,profile}.h.
3772 (sim_pre_argv_init): Moved to sim-model.c.
3773 (standard_install): New function.
3774 * sim-options.h (sim_pre_argv_init): Move decl to sim-model.c.
3775 (standard_install): Declare.
3776 * sim-trace.c: Tracing option handling moved here from sim-options.c.
3777 (trace_install, trace_uninstall): New functions.
3778 (trace_printf): Update reference to TRACE_FILE.
3779 * sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h.
3780 (TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace.
3781 (WITH_TRACE_FOO_P): Define.
3782 (trace_install): Declare.
3783 (TRACE_DATA): New struct.
3784
3785Wed Apr 23 17:23:15 1997 Doug Evans <dje@canuck.cygnus.com>
3786
3787 * run.c: Undo last exec_bfd patch.
3788 (main): Only pass -E ifdef SIM_HAVE_BIENDIAN.
3789
3790Wed Apr 23 17:54:27 1997 Mike Meissner <meissner@cygnus.com>
3791
3792 * run.c (exec_bfd): Add back in.
3793 (main): Set exec_bfd.
3794
3795Tue Apr 22 14:43:46 1997 Doug Evans <dje@canuck.cygnus.com>
3796
3797 * sim-load.c (sim_load_file): #include <stdio.h> for NULL.
3798
3799Wed Apr 23 02:55:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
3800
3801 * sim-events.c (insert_sim_event): Call sim_io_error instead of
3802 less well defined engine_error.
3803 * sim-core.c: Ditto.
3804
3805Tue Apr 22 08:48:16 1997 Stu Grossman (grossman@critters.cygnus.com)
3806
3807 * Make-common.in: Change clean targets to use :: so that other
3808 Makefiles can have their own clean targets.
3809 * sim-load.c (xprintf eprintf): Use ANSI_PROTOTYPES instead of
3810 __STDC__ to control use of stdarg vs. varargs syntax. Some
3811 systems can't use __STDC__, but require stdarg.
3812
3813Fri Apr 18 11:14:43 1997 Doug Evans <dje@canuck.cygnus.com>
3814
3815 * sim-options.c (standard_options): Add --endian.
3816 (standard_option_handler): Likewise.
3817
3818 * nrun.c: #include <signal.h>.
3819 (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
3820 handler that calls sim_stop ().
3821
3822Fri Apr 18 13:11:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
3823
3824 * run.c (main, cntrl_c): Wrap calls to sim_resume in a SIGINT
3825 handler that calls sim_stop (). Simulators may still be
3826 establishing their own handler.
3827
3828 * sim-events.c (sim_events_poll): Rename from
3829 sim_events_at_large_int. Poll IO.
3830
3831 * sim-io.c (sim_io_poll_quit): New function - pass on a polling
3832 request.
3833
3834 * callback.c (os_poll_quit): New function poll for quit signal
3835 where needed.
3836 (default_callback): Include magic number.
3837
3838Thu Apr 17 02:25:11 1997 Doug Evans <dje@canuck.cygnus.com>
3839
3840 * aclocal.m4: Check for headers time.h, sys/time.h, sys/resource.h.
3841 Check for functions getrusage, time.
3842 * sim-basics.h (SIM_ELAPSED_TIME): New typedef.
3843 (sim_elapsed_time_get, sim_elapsed_time_since): Add prototypes.
3844 * sim-utils.c: #include time.h, sys/time.h, sys/resource.h if able.
3845 (sim_elapsed_time_get, sim_elapsed_time_since): New functions.
3846
3847 * sim-utils.c (sim_copy_argv, sim_analyze_program): New functions.
3848
3849 * sim-options.c, sim-options.h: New files.
3850 * sim-config.h (WITH_DEBUG): Provide default value of zero.
3851 * Make-common.in (nrun.o): Add rules for.
3852 * nrun.c: New file.
3853
3854 * run.c (main): Check return value of sim_open.
3855
3856 * Make-common.in (sim-options.o, sim-load.o, sim-trace.o): Add rules.
3857 (sim_main_headers): Add sim-trace.h.
3858 * run.c (exec_bfd, target_byte_order): Delete.
3859 (main): Pass -E <endian> to sim_open. Delete code to load sections,
3860 call sim_load instead. Check return code of sim_create_inferior.
3861 * sim-base.h (CURRENT_STATE): Define.
3862 (sim_state_base): Make typedef. New members options, prog_argv,
3863 prog_bfd, text_{section,start,end}, start_addr, simcache_size,
3864 mem_size, memory [+ corresponding access macros].
3865 (sim_cpu_base): New typedef.
3866 * sim-trace.h: New file.
3867 * sim-trace.c: New file.
3868 * sim-basics.h: #include it.
3869 * sim-load.c: New file.
3870
3871Tue Apr 15 15:10:13 1997 Ian Lance Taylor <ian@cygnus.com>
3872
3873 * Make-common.in (INSTALL): Set to @INSTALL@.
3874 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
3875 (install-common): Depend upon installdirs. Use
3876 $(program_transform_name) directly, rather than using
3877 $(INSTALL_XFORM).
3878 (installdirs): New target.
3879 * Makefile.in (INSTALL): Set to @INSTALL@.
3880 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
3881 (install-man): Depend upon installdirs. Use
3882 $(program_transform_name) directly, rather than using
3883 $(INSTALL_XFORM).
3884 (installdirs): New target.
3885
3886Tue Apr 15 15:08:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
3887
3888 * sim-assert.h (SIM_ASSERT, ASSERT): Allow these macros to
3889 be overriden.
3890
3891Wed Apr 9 16:06:44 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3892
3893 * sim-basics.h: Only bring in config.h and tconfig.h if
3894 HAVE_CONFIG_H.
3895
3896Mon Apr 7 11:39:45 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3897
3898 * sim-config.h (WITH_TARGET_WORD_MSB): New Macro. Define the bit
3899 numbering convention of the target.
3900 * sim-config.c (print_sim_config): Print WITH_TARGET_WORD_BITSIZE
3901 and WITH_TARGET_WORD_MSB.
3902 (sim_config): When possible, check for consistency with bitsize
3903 and msb.
3904
3905 * sim-bits.h: Allow MSB to be other than zero.
3906 * sim-bits.c: Ditto.
3907 * sim-n-bits.h: Ditto.
3908
3909 * sim-bits.h (MSMASK*): New macros - converce to LSMASK*.
3910 * sim-n-bits.h (MSMASKEDn): Ditto.
3911
3912Mon Apr 14 16:29:21 1997 Ian Lance Taylor <ian@cygnus.com>
3913
3914 * Makefile.in (INSTALL): Change install.sh to install-sh.
3915
3916Mon Apr 7 10:46:38 1997 Doug Evans <dje@canuck.cygnus.com>
3917
3918 * sim-base.h (sim_state_base): Move `magic' to end of struct.
3919
3920Mon Apr 7 15:53:21 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3921
3922 * run.c (main): Check that a program to run was specified.
3923
3924Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3925
3926 * aclocal.m4 (AC_TYPE_SIGNAL): Add check.
3927
3928 * configure: Regenerated to track ../common/aclocal.m4 changes.
3929 * config.in: Ditto.
3930
3931Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
3932
3933 * sim-endian.h: Move host {LITTLE,BIG}_ENDIAN support from here,
3934 * sim-config.h: To here.
3935
3936 * Make-common.in (SIM_EXTRA_DEPS): New config var.
3937 (sim_main_headers): Define.
3938 (sim-*.o): Depend on $(SIM_EXTRA_DEPS).
3939 (BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in.
3940 (clean): Use it.
3941 (sim-utils.o): Add rule for.
3942 * sim-utils.o: New file.
3943 * sim-basics.h: #include sim-base.h.
3944 (zalloc): Make argument unsigned long.
3945 * sim-base.h: New file.
3946 * sim-inline.h (SIM_IO support): Delete.
3947 * sim-io.h: Delete inline support.
3948 * sim-io.c: Likewise. sim-state.h renamed to sim-main.h.
3949 * sim-config.c: sim-state.h renamed to sim-main.h.
3950 * sim-core.c: Likewise.
3951 * sim-events.c: Likewise.
3952
3953 * run.c (main): Pass SIM_OPEN_STANDALONE to sim_open.
3954
3955 * aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h.
3956 (sim-debug): Allow arguments. Define WITH_DEBUG in addition to
3957 -DDEBUG.
3958 * configure: Regenerated to track ../common/aclocal.m4 changes.
3959
3960Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3961
3962 * configure: Regenerated to track ../common/aclocal.m4 changes.
3963
3964Wed Apr 2 11:08:11 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3965
3966 * sim-config.h (WITH_ALIGNMENT, WITH_FLOATING_POINT,
3967 WITH_XOR_ENDIAN, WITH_SMP, WITH_RESERVED_BITS): Assume that these
3968 are defined by the configure.
3969
3970 * aclocal.m4 (sim-stdio): Add option stdio from ../ppc configure.
3971
3972 * aclocal.m4 (floating-point, xor-endian, alignment, smp,
3973 reserved-bits): Always define.
3974
3975 * sim-config.h, sim-config.c (sim_config): New function - and new
3976 file - co-ordinate the setting/checking of the common simulator
3977 configuration options.
3978
3979 * Make-common.in (sim-config.o): Add rule.
3980
3981Fri Mar 28 15:32:00 1997 Mike Meissner <meissner@cygnus.com>
3982
3983 * callback.c (os_{,e}vprintf_filtered): Change stdarg type to
3984 va_list from void *, since va_list might not be a pointer type.
3985
3986Mon Mar 24 15:27:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
3987
3988 * sim-n-endian.h (offset_N): Correct assertion - word and sub word
3989 in wrong order.
3990 (offset_N): Correct computation of LE offset.
3991
3992 * sim-io.c (sim_io_error): Include a new line when reporting
3993 errors.
3994
3995 * sim-assert.h (SIM_FILTER_PATH): Out by one when locating last
3996 `/'.
3997
3998Thu Mar 20 22:31:06 1997 Jeffrey A Law (law@cygnus.com)
3999
4000 * run.c: Include alloca-conf.h.
4001
4002 * callback.c (os_evprintf_filtered): Fix typo.
4003
4004Fri Mar 21 13:36:20 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4005
4006 * run.c (string.h, strings.h, stdlib.h): Include.
4007
4008 * sim-events.c (sim_events_tick): Recent cleanup failed to return
4009 0 when nothing pending.
4010
4011 * run.c (sim_size, sim_trace): Plicate GCC - these two functions
4012 will soon be going away.
4013 (getopt): Plicate GCC.
4014
4015 * sim-endian.c (sim-io.h): Plicate GCC.
4016 * sim-bits.c (sim-io.h): Ditto.
4017 * sim-n-bits.h (ROTn): Ditto.
4018
4019 * sim-io.c (sim_io_error): Correct check for NULL.
4020
4021 * sim-assert.h (SIM_FILTER_PATH): Separate out the code filtering
4022 the __FILE__.
4023 * sim-events.c: Use SIM_FILTER_PATH to filter out the filename
4024 path.
4025
4026Wed Mar 19 01:12:06 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4027
4028 * aclocal.m4 (SIM_AC_OPTION_*: Move so that they are outside of
4029 SIM_AC_COMMON - SIM_AC_COMMON was gobling arguments.
4030
4031Tue Mar 18 20:48:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4032
4033 * sim-alu.h: Include sim-xcat.h.
4034
4035Tue Mar 18 13:58:18 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4036
4037 * Make-common.in (sim-bits.c, sim-core.c, sim-endian.c,
4038 sim-events.c, sim-inline.c, sim-io.c): Define rules for building
4039 these.
4040
4041 * sim-events.c (sim_events_at_large_int): New function. Just
4042 schedules an event every large-int ticks.
4043 (sim_events_init): Call.
4044 (sim_events_tick, sim_events_process): Move async handing to
4045 sim_events_process. Move timer decrement so that it occures after
4046 events have been processed.
4047
4048 * sim-basics.h (struct _engine): Remove declaration.
4049
4050 * sim-events.h, sim-events.c: Rename type to sim_events. Prefix
4051 everything with same. Rename global struct to SIM_DESC.
4052 * sim-core.h, sim-core.c, sim-n-core.c: Ditto for sim_core.
4053 * sim-io.h, sim-io.c: Ditto.
4054
4055 * sim-assert.h: New file. Optional assertion checking macros.
4056 * sim-io.c (sim_io_error): Make just this function tolerant to
4057 null pointers.
4058
4059 * sim-xcat.h: New file. Define concatenate macros.
4060 * sim-basics.h (XCONCAT*): Move to sim-xcat.h.
4061 * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Explicitly include
4062 concat macros.
4063
4064
4065Tue Mar 18 12:44:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4066
4067 * sim-bits.h (LSMASK): New macro. Create mask of LS bits.
4068
4069Mon Mar 17 18:10:05 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4070
4071 * sim-inline.h: Add definitions for sim-types.
4072 (ALL_BY_MODULE): New macro, encapsulate full inlining by the
4073 module.
4074
4075Mon Mar 17 15:38:27 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4076
4077 * sim-events.h: Remove defunct reference to callback struct.
4078
4079Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4080
4081 * configure: Re-generate.
4082
4083Mon Mar 17 15:04:47 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4084
4085 * Make-common.in (CSEARCH): Do not include the gdb directory in
4086 the search path.
4087
4088Mon Mar 17 13:16:26 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4089
4090 * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
4091 SIM_WARNING): Drop, requiring the simulator specific Makefile.in
4092 to explicitly incorporate these.
4093
4094 * aclocal.m4 (--enable-sim-alignment); New option. Strongly
4095 specify the alignment restrictions of the target architecture -
4096 without this option all alignment restrictions are accomodated.
4097 (--enable-sim-assert): New option. Conditionally compile in
4098 assertion statements.
4099 (--enable-sim-float): New option. Strongly specify the target's
4100 floating point support.
4101 (--enable-sim-hardware): New option. Specify the hardware devices
4102 included in the simulation.
4103 (--enable-sim-packages): New option. Specify the hardware
4104 packages included in the simulation.
4105 (--enable-sim-regparm): New option. Specify that parameters be
4106 passed in registers instead of on the stack.
4107 (--enable-sim-reserved-bits): New option. Specify that reserved
4108 bits within an instruction are are correctly set.
4109 (--enable-sim-smp): New option. Specify the level of SMP support
4110 to be included in the simulator.
4111 (--enable-sim-stdcall): New option. Specify an alternative
4112 function call convention.
4113 (--enable-sim-xor-endian): New option. Configure xor-endian
4114 support used by some targets to implement bi-endian support.
4115
4116Fri Mar 14 19:51:21 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4117
4118 * aclocal.m4 (--enable-sim-hostendian): New option. Allow the
4119 host endianness to be overridden.
4120 (--enable-sim-endian): Allow the target platform's byte order
4121 to be overridden.
4122 (--enable-sim-inline): Control the inlining of common components.
4123 (--enable-sim-bswap): For compatibility, also define WITH_BSWAP.
4124 (--enable-sim-warnings): Enable additional GCC compiler checks.
4125 * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE,
4126 SIM_WARNINGS): Add.
4127
4128 * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Rename from
4129 sim-*-n.h so that the names are uniq on dos machines
4130 * sim-core.c, sim-bits.c, sim-endian.c: Update.
4131
4132Thu Mar 13 12:32:42 1997 Doug Evans <dje@canuck.cygnus.com>
4133
4134 * run.c: #include "libiberty.h".
4135 (main): New locals sd,no_args,sim_argv.
4136 Run buildargv on -a option. Pass argv to sim_open, argv[0]
4137 is program name. Update call to sim_set_callbacks.
4138 Record result of sim_open, pass to other sim_foo routines.
4139
4140Thu Mar 13 10:24:05 1997 Michael Meissner <meissner@cygnus.com>
4141
4142 * callback.c (os_printf_filtered): Do not call exit(1) or print a
4143 final newline.
4144
4145Thu Mar 6 15:50:28 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4146
4147 * callback.c: Add os_flush_stdout and vprintf_filtered callbacks.
4148 Route stdout through buffered IO.
4149
4150 * callback.c: Add os_flush_stderr, os_write_stderr,
4151 os_evprintf_filtered functions to route error output through
4152 stderr.
4153
4154 * sim-io.h, sim-io.c (sim_io_flush_stderr, sim_io_flush_stdout):
4155 Correct return type - should be void.
4156
4157Fri Mar 7 20:14:37 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4158
4159 * sim-basics.h: Clean up. Many macro's moved to sim-inline.h.
4160
4161 * sim-config.h: Ditto. For some options - eg WITH_DEVICES - do
4162 not provide a default value as undefined indicates disable code.
4163
4164Thu Mar 6 15:50:28 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4165
4166 * sim-core.h, sim-core-n.h, sim-core.c: Borrow code from ppc
4167 directory.
4168 * sim-events.h, sim-events.c: Ditto.
4169 * sim-io.h, sim-io.c: Ditto.
4170
4171Tue Mar 4 09:35:56 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4172
4173 * sim-alu.h (ALU_SUB_CA, ALU*_SUB_CA): New alu operation.
4174
4175 * sim-bits.h, sim-bits-n.h, sim-bits.c (LSMASKED*): New macro's
4176 extract the tail or least signifiant bits from an integer of the
4177 specified size.
4178
4179 * sim-bits.h, sim-bits.c: Clean up conditionally compiled #if
4180 WITH_TARGET_BITSIZE so that the compilation will fail when an
4181 unsupported bitsize value is defined.
4182
4183 (INSERTED*): Convert to functions.
4184 (EXTRACTED*): Ditto.
4185
4186 (SIGN_EXTEND, SEXT): Change to more terse name.
4187
4188Tue Mar 4 09:35:56 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4189
4190 * sim-inline.h: Allow explicit control over which .c files will be
4191 included by their header.
4192
4193 * sim-inline.h: Allow explicit control over which .c files use the
4194 alternative - REGPARM - parameter passing mechanism.
4195
4196 * sim-inline.h, sim-inline.c: Don't attempt to include any of
4197 icache.c, idecode.c, semantics.c or support.c. Those names are
4198 not generally applicable.
4199
4200Thu Feb 27 10:17:23 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4201
4202 * sim-bits.c, sim-bits-n.h (new): Split sim-bits.c into two parts
4203 in a fashion similar to sim-endian-n.
4204
4205 * sim-endian.h: (H_word, L_word, AL_*, VL_*): Extend to include
4206 both value and address macro's.
4207
4208Tue Feb 25 18:51:57 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
4209
4210 * sim-alu.h (ALU16_BEGIN, ALU16_SET, ...): Fill in.
4211
4212 * sim-endian.h (L_word, H_word): Replace MS2W_4, LS2W_4 with more
4213 generic L_word, H_word macro's.
4214
4215Thu Feb 20 18:36:55 1997 Andrew Cagney <cagney@critters.cygnus.com>
4216
4217 * sim-basics.h: Borrow code from ppc directory.
4218 * sim-bits.c: Ditto.
4219 * sim-bits.h: Ditto.
4220 * sim-config.h: Ditto.
4221 * sim-endian-n.h: Ditto.
4222 * sim-endian.c: Ditto.
4223 * sim-endian.h: Ditto.
4224 * sim-inline.c: Ditto.
4225 * sim-inline.h: Ditto.
4226 * sim-types.h: Ditto.
4227
4228Wed Feb 19 12:40:50 1997 Andrew Cagney <cagney@critters.cygnus.com>
4229
4230 * sim-alu.h (ALU_SET16, ALU_SET32, ALU_SET64, etc): Make available
4231 all the ALU size alternatives and then auto-configure a default.
4232
4233 * sim-alu.h: Copy ppc/idecode_expression.h.
4234
4235Mon Feb 17 10:44:18 1997 Andrew Cagney <cagney@critters.cygnus.com>
4236
4237 * bits.h, bits.c (SIGN_EXTEND32, SIGN_EXTEND64): New functions,
4238 sign extend a bit within a value.
4239
4240 * sim-endian.h, sim-endian-n.h (offset_N): New functions - return
4241 a pointer into the middle of a host word.
4242 * sim-endian.h (MS2W_4, LS2W_4): Use this function.
4243
4244Tue Feb 11 13:46:49 1997 Michael Meissner <meissner@tiktok.cygnus.com>
4245
4246 * callback.c: If HAVE_CONFIG_H is defined, include config.h from
4247 autoconf. If HAVE_UNISTD_H is defined, include unistd.h to get
4248 appropriate definitions of read, write, etc. Add prototype for
4249 system.
4250
4251Tue Feb 4 13:24:44 1997 Doug Evans <dje@canuck.cygnus.com>
4252
4253 * Makefile.in (libcommon.a): Delete.
4254 (callback.o,targ-map.o): Delete, moved to Make-common.in.
4255 (gentmap,targ-vals.h,targ-map.c): Likewise.
4256 (run-autoconf): Delete.
4257 * aclocal.m4 (SIM_AC_OUTPUT): Redo creation of Makefile.
4258 (common makefile fragment): Moved back into ...
4259 * Make-common.in: Resurrect.
4260 * configure.in (AC_LINK_FILES): Delete, unnecessary now.
4261 * configure: Regenerated.
4262
4263Fri Jan 31 07:16:49 1997 Doug Evans <dje@canuck.cygnus.com>
4264
4265 * aclocal.m4 (SIM_AC_COMMON): Move COMMON_MAKEFILE_FRAG from here.
4266 (SIM_AC_OUTPUT): To here.
4267
4268Fri Jan 24 10:37:17 1997 Stu Grossman (grossman@critters.cygnus.com)
4269
4270 * aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in
4271 comments and single quotes. Fixes a problem found on hpux.
4272
4273Thu Jan 23 13:35:03 1997 Stu Grossman (grossman@critters.cygnus.com)
4274
4275 * aclocal.m4: Remove Make-common.in from dependencies.
4276 * (distclean): Remove targ-vals.def.
4277
4278 * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in
4279 into here. Makes insertion into makefiles easier. Also, change
4280 the way that callback.o, gentmap, targ-vals.h, targ-map.c,
4281 targ-map.o, and run are built. They are now built in the
4282 individual simulator directories, taking sources from ../common as
4283 necessary. This replaces the merging of libcommon.a into
4284 linsim.a, which was problematic for the WinGDB build process.
4285 * run.c: Include config.h from . instead of ../common.
4286 * Make-common.in: Remove. It's no longer necessary.
4287
4288Mon Dec 16 15:02:33 1996 Ian Lance Taylor <ian@cygnus.com>
4289
4290 * Make-common.in (ALL_CLAGS): Put CFLAGS at the end.
4291 (.c.o): Put $(ALL_CFLAGS) before the file being compiled.
4292
4293Wed Dec 11 11:30:58 1996 Jim Wilson <wilson@cygnus.com>
4294
4295 * run.c (main): Set target_byte_order before call to sim_open.
4296
4297Sun Dec 8 18:22:06 1996 Doug Evans <dje@canuck.cygnus.com>
4298
4299 * callback.c: #include <stdlib.h>
4300 (os_error): New function.
4301 (default_callback): Add os_error.
4302
4303Mon Nov 25 19:44:35 1996 Doug Evans <dje@canuck.cygnus.com>
4304
4305 * Make-common.in (Makefile): Set CONFIG_HEADERS="".
4306 * aclocal.m4: Mark the fact that --enable-sim-bswap isn't host
4307 specific.
4308 (SIM_AC_OUTPUT): Don't build Makefile if CONFIG_FILES="".
4309
4310Wed Nov 20 01:11:04 1996 Doug Evans <dje@canuck.cygnus.com>
4311
4312 * run.c: #include ../common/config.h, tconfig.h.
4313 (myname): New static global.
4314 (main): Recognize new options -a, -c. Also recognize -h if h8/300.
4315 Only process -c ifdef SIM_HAVE_SIMCACHE.
4316 Only process -p/-s ifdef SIM_HAVE_PROFILE.
4317 Parse program name from argv[0] and use in error messages.
4318 Pass sim_args to sim_open. Pass prog_args to sim_create_inferior.
4319 Add support for incomplete h8/300 termination indicators.
4320 (usage): Make more verbose.
4321 * aclocal.m4,config.in,tconfig.in,configure.in,configure: New files.
4322 * Makefile.in,Make-common.in,callback.c: New files.
4323 * nltvals.def,gentmap.c,gentvals.sh: New files.
4324
4325Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
4326
4327 * run.c: Include stdarg.h if __STDC__.
4328
4329Tue Oct 15 11:16:31 1996 Jeffrey A Law (law@cygnus.com)
4330
4331 * run.c (main): Don't print out anything if the signal
4332 number is zero (ie no signal).
4333
4334Tue Oct 15 11:20:44 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4335
4336 * run.c (main): Print out if the program raised a signal.
4337
4338Wed Sep 18 09:52:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4339
4340 * run.c (exec_bfd): Rename from sim_bfd, to use the gdb name.
4341 (main): Ditto.
4342
4343Tue Sep 17 11:04:50 1996 James G. Smith <jsmith@cygnus.co.uk>
4344
4345 * run.c (main): Explicitly cast malloc() parameter.
4346
4347Thu Sep 12 11:27:21 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4348
4349 * run.c (sim_bfd): New global to hold the bfd pointer for the
4350 executable.
4351 (main): Initialize sim_bfd.
4352
4353Fri Dec 15 16:27:49 1995 Ian Lance Taylor <ian@cygnus.com>
4354
4355 * run.c (main): Use new bfd_big_endian macro.
4356
4357Wed Nov 8 15:49:49 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
4358
4359 * run.c (main): Removed SH specific comments, so source is
4360 generic. Also updated to only load relevant sections. Moved
4361 sim_open() to after callback attach (to match GDB).
4362
4363 * run.1: Removed SH specific comments.
4364
4365Sat Oct 21 12:31:01 1995 Jim Wilson <wilson@chestnut.cygnus.com>
4366
4367 * run.c (main): Always return sigrc at end.
4368
4369Tue Oct 10 12:03:13 1995 J.T. Conklin <jtc@rtl.cygnus.com>
4370
4371 * run.c (main): Print error diagnostic and exit if bfd_openr() or
4372 bfd_check_format() fails.
4373
4374Thu Sep 28 15:40:36 1995 steve chamberlain <sac@slash.cygnus.com>
4375
4376 * run.c, run.1: From sh directory.