ppc sim: Improve invalid option error message
[deliverable/binutils-gdb.git] / sim / ppc / ChangeLog
1 2011-06-08 joel brobecker <brobecker@adacore.com>
2
3 * psim.c (psim_options): Add option that cause the error
4 in invalid-option error messages. Print the usage when
5 detecting an invalid long-name option.
6
7 2011-06-08 joel brobecker <brobecker@adacore.com>
8
9 * psim.c (psim_options): Accept and ignore `--sysroot=...'.
10
11 2011-06-03 Joel Brobecker <brobecker@adacore.com> (obvious fix)
12
13 From Stephen Kitt <steve@sk2.org>
14 * vm.c (vm_synchronize_context): Spelling fix in function
15 documentation.
16
17 2011-04-16 Mike Frysinger <vapier@gentoo.org>
18
19 * sim_calls.c (sim_complete_command): New stub function.
20
21 2011-02-14 Mike Frysinger <vapier@gentoo.org>
22
23 * cap.c (cap_remove): Change zfree to free.
24 * corefile.c (core_init): Likewise.
25 * device.c (detach_device_interrupt_edge): Likewise.
26 (clean_device_interrupt_edges): Likewise.
27 (device_instance_delete): Likewise.
28 (device_set_property): Likewise.
29 (clean_device_properties): Likewise.
30 (device_add_range_array_property): Likewise.
31 (device_add_reg_array_property): Likewise.
32 * emul_bugapi.c (emul_bugapi_do_read): Likewise.
33 (emul_bugapi_do_write)
34 * emul_netbsd.c (write_direntries): Likewise.
35 (do_read): Likewise.
36 (do_write): Likewise.
37 (do_getdirentries): Likewise.
38 * emul_unix.c (do_unix_read): Likewise.
39 (do_unix_write): Likewise.
40 * events.c (event_queue_init): Likewise.
41 (event_queue_deschedule): Likewise.
42 (event_queue_process): Likewise.
43 * hw_disk.c (open_disk_image): Likewise.
44 (hw_disk_instance_delete): Likewise.
45 * hw_eeprom.c (hw_eeprom_instance_delete): Likewise.
46 * hw_htab.c (htab_dma_binary): Likewise.
47 * hw_init.c (update_for_binary_section): Likewise.
48 * hw_memory.c (hw_memory_set_available): Likewise.
49 (hw_memory_init_address): Likewise.
50 (hw_memory_instance_release): Likewise.
51 * pk_disklabel.c (disklabel_delete): Likewise.
52 * table.c (table_push): Likewise.
53 * tree.c (parse_reg_property): Likewise.
54 (parse_ranges_property): Likewise.
55 (parse_string_property): Likewise.
56 * main.c (zfree): Delete.
57 * sim_calls.c (zfree): Likewise.
58 * sim_callbacks.h (zfree): Likewise.
59
60 2011-01-11 Andrew Burgess <aburgess@broadcom.com>
61
62 * gdb-sim.c (sim_store_register): Update return value to
63 match new API.
64
65 2011-01-05 Joel Brobecker <brobecker@adacore.com>
66
67 * psim.texinfo: Copyright year update.
68
69 2010-04-14 Mike Frysinger <vapier@gentoo.org>
70
71 * sim_calls.c (sim_write): Add const to buf arg.
72
73 2010-02-14 Andreas Schwab <schwab@linux-m68k.org>
74
75 * ppc-instructions: Fix missing assignment in last change.
76
77 2010-02-05 Andreas Schwab <schwab@linux-m68k.org>
78
79 * ppc-instructions: Fix aliasing bugs when calling
80 invalid_arithemetic_operation.
81
82 2009-11-13 Nathan Froyd <froydnj@codesourcery.com>
83
84 * configure.ac: If build != host, create a separate build-config.h
85 file desecribing the build machine.
86 * configure: Regenerate.
87 * lf.c: Include build-config.h instead of config.h.
88 * dgen.c: Likewise.
89 * igen.c: Likewise.
90 * misc.c: Likewise.
91 * misc.h: Likewise.
92 * filter.c: Likewise.
93 * table.c: Likewise.
94
95 2009-10-15 Joel Sherrill <joel.sherrill@oarcorp.com>
96
97 * std-config.h: Fix spelling error.
98
99 2009-09-22 Joel Sherrill <joel.sherrill@oarcorp.com>
100
101 * main.c: Fix spelling error.
102
103 2009-09-15 Andreas Tobler <andreast-list@fgznet.ch>
104 Doug Evans <dje@google.com>
105
106 * configure.ac (sim_hwflags): Use AC_DEFINE to define HAVE_UNION_SEMUN.
107 * configure: Regenerate.
108 * config.in: Regenerate.
109 * hw_sem.c: (HAVE_UNION_SEMUN): Renamed from HAS_UNION_SEMUN.
110
111 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
112
113 * config.in: Regenerate.
114 * configure: Likewise.
115
116 * configure: Regenerate.
117
118 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
119
120 * Makefile.in (datarootdir): New variable.
121
122 2009-01-12 Nathan Froyd <froydnj@codesourcery.com>
123
124 * ppc-instructions (sync): Add L field.
125
126 2008-12-15 Joel Sherrill <joel.sherrill@oarcorp.com>
127
128 * ppc-instructions, ppc-spr-table: Add ability
129 to read tbrl and tbru special registers.
130
131 2008-11-18 Joel Sherrill <joel.sherrill@oarcorp.com>
132
133 * configure: Regenerated.
134 * configure.ac: Add test for System V shared memory and semaphore.
135 * debug.c, debug.h: Add trace support for new devices.
136 * hw_sem.c, hw_shm.c: New files.
137 * Makefile.in: Add hw_sem.c and hw_shm.c.
138
139 2008-07-11 Hans-Peter Nilsson <hp@axis.com>
140
141 * configure.ac: Add test for libz and zlib.h.
142 * Makefile.in (LIBS): Set from @LIBS@.
143 * configure: Regenerate.
144 * config.in: Ditto.
145
146 2008-06-06 Vladimir Prus <vladimir@codesourcery.com>
147 Daniel Jacobowitz <dan@codesourcery.com>
148 Joseph Myers <joseph@codesourcery.com>
149
150 * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
151 * configure, config.in: Regenerated.
152 * Makefile.in (LIB_OBJ): Add version.o.
153 (version.c, version.o): New rules.
154 * psim.c (psim_usage): Add help parameter. Print the bug URL.
155 Exit with code 0 for help.
156 (psim_options): Update calls to psim_usage. Handle --help and
157 --version.
158 * psim.h (psim_usage): Update prototype.
159 * main.c (main): Update psim_usage call.
160
161 2008-03-14 Nick Hudson <nick.hudson@dsl.pipex.com
162
163 * configure.ac: Pass ../../intl to ZW_GNU_GETTEXT_SISTER_DIR.
164 * configure: Regenerate.
165
166 2007-10-15 Daniel Jacobowitz <dan@codesourcery.com>
167
168 * gdb-sim.c (regnum2spr): Rename to...
169 (sim_spr_register_name): ... this. Make global.
170
171 2007-09-04 Jerome Guitton <guitton@adacore.com>
172
173 * sim/ppc/emul_bugapi.c (emul_bugapi_create): quote the file
174 name property before parsing it.
175
176 2006-12-21 Hans-Peter Nilsson <hp@axis.com>
177
178 * acconfig.h: Remove.
179 * config.in: Regenerate.
180
181 2006-11-22 Tom Marn <tom.marn@telargo.com>
182
183 Committed by Andrew Cagney.
184 * ppc-instructions: Implement optional PowerPC stfiwx instruction.
185
186 2006-07-12 Fred Fish <fnf@specifix.com>
187
188 * sim-endian.h (asm/byteorder.h): Don't include private kernel
189 header.
190
191 2006-06-13 Richard Earnshaw <rearnsha@arm.com>
192
193 * configure: Regenerated.
194
195 2006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
196
197 * Makefile.in: Replace INTLLIBS and INTLDEPS with LIBINTL
198 and LIBINTL_DEP everywhere.
199 (INTL_DIR, INTL_SRC): Remove.
200 (INTL_CFLAGS): Use INCINTL.
201 * configure.ac: Use ZW_GNU_GETTEXT_SISTER_DIR.
202 * configure: Regenerated.
203
204 2006-05-05 Andreas Schwab <schwab@suse.de>
205
206 * configure.ac (CFLAGS_FOR_BUILD): Set and substitute.
207 * configure: Regenerate.
208
209 * Makefile.in (CFLAGS_FOR_BUILD): Define.
210 (BUILD_CFLAGS): Use it instead of hardcoding "-g -O".
211 (gentmap): Fix typo BUILD_FLAGS -> BUILD_CFLAGS.
212
213 2006-04-23 Andreas Schwab <schwab@suse.de>
214
215 * Makefile.in (tmp-ld-decode): Fix dependencies.
216 (tmp-ld-cache): Likewise.
217 (tmp-ld-insn): Likewise.
218
219 2006-02-01 Mark Mitchell <mark@codesourcery.com>
220
221 * emul_netbsd.c (emul_netbsd_create): Quote file-name property.
222 * emul_unix.c (emul_unix_create): Likewise.
223 * tree.c (libiberty.h): Include it.
224 (tree_quote_property): New function.
225 * tree.h (tree_quote_property): Declare.
226
227 2006-01-25 Mark Mitchell <mark@codesourcery.com>
228
229 * words.h (natural32): Define as "int".
230
231 2006-01-23 Mark Mitchell <mark@codesourcery.com>
232
233 * words.h (signed32): Define as "int".
234 (unsigned32): Define as "unsigned int".
235
236 2005-11-28 Mark Mitchell <mark@codesourcery.com>
237
238 * configure.ac (USE_WIN32API): Define it.
239 * configure.in: Regenerate.
240 * config.in: Likewise.
241 * emul_netbsd.c (write_timezone): Guard with HAVE_GETTIMEOFDAY.
242 * emul_unix.c (do_unix_mkdir): Handle Win32 1-argument mkdir.
243
244 2005-11-28 Mark Mitchell <mark@codesourcery.com>
245
246 * psim.c: Include gdb/signals.h.
247
248 * sim_calls.c (gdb/signals.h): Include it.
249 (sim_stop_reason): Use TARGET_SIGNAL_*.
250 * psim.c (cntrl_c_simulation): Use TARGET_SIGNAL_*.
251
252 2005-07-15 Ben Elliston <bje@au.ibm.com>
253
254 * hw_htab.c (bfd_get_section_lma): Remove macro; use BFD's.
255
256 2005-07-15 Ben Elliston <bje@au.ibm.com>
257
258 * hw_init.c: Comment out tokens after #endif directive.
259 * hw_register.c: Likewise.
260 * hw_trace.c: Likewise.
261 * hw_vm.c: Likewise.
262
263 2005-04-20 Manoj Iyer <manjo@austin.ibm.com>
264
265 * psim.c: Added libiberty.h header file.
266
267 2005-04-18 Manoj Iyer <manjo@austin.ibm.com>
268
269 * configure.ac: Added check for long long.
270 * config.in: Regenerated.
271 * configure: Regenerated.
272 * words.h: Modified logic to check for HAVE_LONG_LONG instead of
273 __GNUC__, added config.h header file.
274
275 2005-03-25 Anthony Green <green@redhat.com>
276
277 * tree.c (parse_reg_property): Fix memset usage.
278
279 2005-03-23 Mark Kettenis <kettenis@gnu.org>
280
281 * configure: Regenerate.
282
283 2005-01-11 Andrew Cagney <cagney@localhost.localdomain>
284
285 * configure.ac: Delete AC_CONFIG_AUX_DIR.
286 * configure: Re-generate.
287
288 2005-01-07 Andrew Cagney <cagney@gnu.org>
289
290 * configure.ac: Rename configure.in, require autoconf 2.59.
291 * configure: Re-generate.
292
293 2005-01-03 Andreas Schwab <schwab@suse.de>
294
295 * Makefile.in (hw_com.o, hw_eeprom.o): Depend on
296 $(DEVICE_TABLE_H).
297
298 2004-11-16 Andreas Schwab <schwab@suse.de>
299
300 * Makefile.in (defines.h): Depend on tmp-defines.
301 (hw.c hw.h): Depend on tmp-hw.
302 (pk.h): Depend on tmp-pk.
303
304 2004-11-11 Andreas Schwab <schwab@suse.de>
305
306 * sim_calls.c: Include "libiberty.h".
307
308 2004-09-24 Ian Lance Taylor <ian@wasabisystems.com>
309
310 Committed by Andrew Cagney.
311 * configure.in: Check for sys/mount.h, sys/vfs.h, sys/statfs.h.
312 Check for struct statfs.
313 * emul_netbsd.c: If not HAVE_STRUCT_STATFS, #undef HAVE_FSTATFS.
314 * configure, config.in: Regenerate.
315
316 2004-08-05 Nathanael Nerode <neroden@gcc.gnu.org>
317
318 * Makefile.in (GDB_INCLUDES): Remove bogus reference to mmalloc.
319
320 2004-08-04 Andrew Cagney <cagney@gnu.org>
321 Jim Blandy <jimb@redhat.com>
322
323 * sim_callbacks.h (simulator): Declare.
324 * Makefile.in (gdb-sim.o): New rule.
325 (MAIN_SRC, GDB_OBJ): Add gdb-sim.o, gdb-sim.c.
326 (DEFS_H): Delete.
327 (GDB_SIM_PPC_H): Define.
328 * gdb-sim.c: New file.
329 * sim_calls.c: Do not include "defs.h".
330 (simulator): Drop static.
331 (sim_store_register, sim_fetch_register): Delete.
332
333 2004-08-04 Andrew Cagney <cagney@gnu.org>
334
335 * Back out accidently committed change.
336
337 2004-08-04 Jim Blandy <jimb@redhat.com>
338
339 Use a fixed register numbering when communicating with the PowerPC
340 simulator.
341 * sim_calls.c: #include "registers.h" and "gdb/sim-ppc.h"; do not
342 include GDB's "defs.h".
343 (gdb_register_name_table): New variable.
344 (gdb_register_name_table_size): New enum constant.
345 (gdb_register_name): New function.
346 (sim_fetch_register, sim_store_register): Use gdb_register_name,
347 instead of calling gdbarch_register_name.
348 * Makefile.in (GDB_SIM_PPC_H): New variable.
349 (DEFS_H): Delete variable.
350 (sim_calls.o): Update dependencies.
351
352 2004-07-26 Andrew Cagney <cagney@gnu.org>
353
354 Problem from Olaf Hering <olh@suse.de>.
355 * Makefile.in (install, installdirs): Add DESTDIR.
356
357 2004-07-10 Ben Elliston <bje@au.ibm.com>
358
359 * tree.c (parse_integer_property): Comment typo fix.
360
361 2004-07-06 Jim Blandy <jimb@redhat.com>
362
363 * Makefile.in: Update all dependency information.
364 (BASICS_H, CPU_H, IDECODE_H, PSIM_H, REGISTERS_H, DEVICE_TABLE_H)
365 (EMUL_GENERIC_H): Values updated.
366 (ACCONFIG_H, ALTIVEC_EXPRESSION_H, ALTIVEC_REGISTERS_H)
367 (ANSIDECL_H, BFD_H, BITS_H, CAP_H, COMMON_SIM_BASE_H)
368 (COMMON_SIM_BASICS_H, COMMON_SIM_FPU_H, COMMON_SIM_INLINE_H)
369 (COMMON_SIM_SIGNAL_H, CONFIG_H, COREFILE_H, COREFILE_N_H, DEBUG_H)
370 (DEFINES_H, DEFS_H, DEVICE_H, E500_EXPRESSION_H, E500_REGISTERS_H)
371 (EMUL_BUGAPI_H, EMUL_CHIRP_H, EMUL_NETBSD_H, EMUL_UNIX_H, EVENTS_H)
372 (FILTER_FILENAME_H, FILTER_H, GDB_CALLBACK_H, GDB_REMOTE_SIM_H)
373 (GEN_ICACHE_H, GEN_IDECODE_H, GEN_ITABLE_H, GEN_MODEL_H)
374 (GEN_SEMANTICS_H, GEN_SUPPORT_H, HW_CPU_H, HW_H, HW_PHB_H)
375 (ICACHE_H, IDECODE_BRANCH_H, IDECODE_EXPRESSION_H)
376 (IDECODE_FIELDS_H, IGEN_H, INLINE_H, INTERRUPTS_H, ITABLE_H)
377 (LD_CACHE_H, LD_DECODE_H, LD_INSN_H, LF_H, MISC_H, MODEL_H, MON_H)
378 (OPTIONS_H, OS_EMUL_H, PK_H, PPC_CONFIG_H, SEMANTICS_H)
379 (SIM_CALLBACKS_H, SIM_ENDIAN_H, SIM_ENDIAN_N_H, SIM_MAIN_H)
380 (SPREG_H, STD_CONFIG_H, SUPPORT_H, TABLE_H, TARG_VALS_H, TCONFIG_H)
381 (TREE_H, VM_H, VM_N_H, WORDS_H): New variables.
382 (callback.o, cap.o, corefile.o, debug.o, device.o, device_table.o)
383 (dgen.o, emul_bugapi.o, emul_chirp.o, emul_netbsd.o, emul_unix.o)
384 (events.o, filter.o, filter_filename.o, filter_host.o)
385 (gen-icache.o, gen-idecode.o, gen-itable.o, gen-model.o)
386 (gen-semantics.o, gen-support.o, hw_core.o, hw_cpu.o, hw_disk.o)
387 (hw_htab.o, hw_init.o, hw_phb.o, hw_register.o, icache.o)
388 (idecode.o, igen.o, interrupts.o, itable.o, ld-cache.o)
389 (ld-decode.o, ld-insn.o, lf.o, main.o, misc.o, model.o, mon.o)
390 (options.o, os_emul.o, pk_disklabel.o, psim.o, registers.o)
391 (semantics.o, sim-endian.o, sim-fpu.o, sim_calls.o, spreg.o)
392 (support.o, table.o, targ-map.o, tree.o, vm.o): Update dependencies.
393
394 2004-06-28 Jim Blandy <jimb@redhat.com>
395
396 * e500_registers.h (EVR): Cast the 32-bit value of the GPR to an
397 unsigned type before or-ing it with a 64-bit value.
398
399 2004-06-15 Alan Modra <amodra@bigpond.net.au>
400
401 * hw_htab.c (htab_sum_binary(bfd): Use bfd_get_section_size
402 instead of bfd_get_section_size_before_reloc.
403 (htab_dma_binary(bfd): Likewise.
404 * hw_init.c (update_for_binary_section(bfd): Likewise.
405
406 2004-05-10 Daniel Jacobowitz <dan@debian.org>
407
408 * configure.in (sim_fpu_cflags): Add -I../common.
409 * configure: Regenerated.
410
411 2004-01-27 Andrew Cagney <cagney@redhat.com>
412
413 * ppc-instructions: Update copyright.
414 (convert_to_integer): Add trailing ";" to label.
415
416 2003-10-16 Michael Snyder <msnyder@redhat.com>
417
418 * emul_netbsd.c: Only a comment may follow an #endif.
419
420 2003-10-15 Michael Snyder <msnyder@redhat.com>
421
422 * Makefile.in (sim_calls.o): No longer depends on gdb/tm.h.
423
424 2003-06-22 Andrew Cagney <cagney@redhat.com>
425
426 Written by matthew green <mrg@redhat.com>, with fixes from Aldy
427 Hernandez <aldyh@redhat.com>, Jim Wilson <wilson@redhat.com>, and
428 Nick Clifton <nickc@redhat.com>.
429
430 * ppc-instructions: Include altivec.igen and e500.igen.
431 (model_busy, model_data): Add vr_busy and vscr_busy.
432 (model_trace_release): Trace vr_busy and vscr_busy.
433 (model_new_cycle): Update vr_busy and vscr_busy.
434 (model_make_busy): Update vr_busy and vscr_busy.
435 * registers.c (register_description): Add Altivec and e500
436 registers.
437 * psim.c (psim_read_register, psim_read_register): Handle Altivec
438 and e500 registers.
439 * ppc-spr-table (SPEFSCR): Add VRSAVE and SPEFSCR registers.
440 * configure.in (sim_filter): When *altivec* add "av". When *spe*
441 or *simd* add e500.
442 (sim_float): When *altivec* define WITH_ALTIVEC. When *spe* add
443 WITH_E500.
444 * configure: Re-generate.
445 * e500.igen, altivec.igen: New files.
446 * e500_expression.h, altivec_expression.h: New files.
447 * idecode_expression.h: Update copyright. Include
448 "e500_expression.h" and "altivec_expression.h".
449 * e500_registers.h, altivec_registers.h: New files.
450 * registers.h: Update copyright. Include "e500_registers.h" and
451 "altivec_registers.h".
452 (registers): Add Altivec and e500 specific registers.
453 * Makefile.in (IDECODE_H): Add "idecode_e500.h" and
454 "idecode_altivec.h".
455 (REGISTERS_H): Add "e500_registers.h" and "altivec_registers.h".
456 (tmp-igen): Add dependencies on altivec.igen and e500.igen .
457
458 2003-06-22 Andrew Cagney <cagney@redhat.com>
459
460 Problems reported by Joshua LeVasseur.
461 * emul_chirp.c: Update copyright.
462 (chirp_emul_nextprop): Return the first property.
463 * hw_htab.c: Update copyright.
464 (htab_decode_hash_table): Fix check for htab size.
465
466 2003-06-21 Andrew Cagney <cagney@redhat.com>
467
468 * interrupts.c: Update copyright.
469 (external_interrupt): Fix test for already pending interrupt.
470 Problem found by Joshua LeVasseur.
471
472 * ppc-instructions: Add missing +8 line. Found by blofeldus at
473 yahoo.com.
474
475 2003-06-21 Andrew Cagney <cagney@redhat.com>
476
477 From Ian Lance Taylor <ian@airs.com>: * hw_nvram.c
478 (hw_nvram_init_address): Correct call to memset--swap second and
479 third arguments.
480
481 2003-06-21 Andrew Cagney <cagney@redhat.com>
482
483 * hw_com.c (hw_com_device_init_data): Check that the output, and
484 not input file opened. Pointed out by masahino tky3.3web.ne.jp.
485
486 2003-06-20 Andrew Cagney <cagney@redhat.com>
487
488 * sim_calls.c (sim_create_inferior): Assert that
489 psim_write_register succeeded.
490 (sim_fetch_register, sim_store_register): Make "regname" constant.
491 Delete Altivec hack. Return result from psim_read_register /
492 psim_write_register.
493 * psim.h (psim_read_register, psim_write_register): Change return
494 type to int. Update comments.
495 * psim.c: Update copyright.
496 (psim_stack): Assert that the psim_read_register worked.
497 (psim_read_register, psim_read_register): Return the register's
498 size. Allocate the cooked buffer dynamically.
499 * hw_register.c: Update copyright.
500 (do_register_init): Check that psim_write_register succeeded.
501 * hw_init.c: Update copyright.
502 (create_ppc_elf_stack_frame, create_ppc_aix_stack_frame): Assert
503 that the register transfer worked.
504
505 2003-06-19 Andrew Cagney <cagney@redhat.com>
506
507 * ld-insn.h: Update copyright.
508 (cache_fields): Define.
509 (insn_table_fields): Add insn_field_6 and insn_field_7.
510 (load_insn_table): Pass in the "cache_rules".
511 * ld-insn.c: Update copyright.
512 (load_insn_table): Add parameter "cache_rules". Handle "cache",
513 "computed" and "scratch" fields.
514 (main): Pass "cache_rules" to load_insn_table.
515 * ld-cache.h: Update copyright.
516 (append_cache_table): Declare.
517 * ld-cache.c: Update copyright.
518 (append_cache_table): New function.
519 (load_cache_table): Call.
520 * gen-model.c: Include "ld-cache.h".
521 * gen-itable.c: Include "ld-cache.h".
522 * igen.c: Move #include "ld-cache.h" to earlier. Update
523 copyright.
524 (main): Permit a NULL "cache_rules". Pass address of
525 "cache_rules" to load_insn_table.
526 * Makefile.in (tmp-ld-insn): Add "ld-cache.o".
527 (tmp-igen): Do not include ppc-cache-rules.
528 (gen-itable.o, gen-model.o): Add "ld-cache.h".
529 * ppc-cache-rules: Delete file.
530 * ppc-instructions: Add cache rules.
531
532 2003-06-19 Andrew Cagney <cagney@redhat.com>
533
534 * Makefile.in (ICACHE_CFLAGS, SEMANTICS_CFLAGS): Delete.
535 (SIM_FPU_FLAGS): Define.
536 (icache.o): Delete explicit compile command.
537 (semantics.o, idecode.o): Delete explicit compile command.
538 (NOWARN_CFLAGS, STD_CFLAGS): Append SIM_FPU_CFLAGS.
539 * gen-support.c (gen_support_c): Generate #include of
540 "sim-inline.h" and "sim-fpu.h", but conditional on
541 HAVE_COMMON_FPU.
542 * gen-idecode.c (gen_idecode_c): Ditto.
543 * igen.c (gen_icache_c, gen_semantics_c): Wrap #include of
544 "sim-inline.h" and "sim-fpu.h" in HAVE_COMMON_FPU conditional.
545 Move to before "support.h".
546 * Makefile.in, gen-support.c, gen-idecode.c, igen.c: Update
547 copyright.
548
549 2003-05-16 Ian Lance Taylor <ian@airs.com>
550
551 * Makefile.in (various): Use $(SHELL) whenever we invoke
552 move-if-change.
553
554 2003-02-27 Andrew Cagney <cagney@redhat.com>
555
556 * sim_calls.c (sim_open, sim_create_inferior): Rename _bfd to bfd.
557
558 2002-09-27 Andrew Cagney <ac131313@redhat.com>
559
560 * hw_disk.c (hw_disk_init_address): Set device type to "block",
561 not "disk".
562
563 2002-06-22 Andrew Cagney <ac131313@redhat.com>
564
565 * Makefile.in (INTL_SRC): Define.
566 (INTL_CFLAGS): Define.
567 (INTL_DIR): Define.
568 (STD_CFLAGS): Add INTL_CFLAGS.
569
570 2002-06-17 Elena Zannoni <ezannoni@redhat.com>
571
572 * psim.c (psim_options): Don't choke when gdb invokes us with
573 the --architecture option, just ignore it.
574
575 2002-06-16 Andrew Cagney <ac131313@redhat.com>
576
577 * configure: Regenerated to track ../common/aclocal.m4 changes.
578
579 2002-06-08 Andrew Cagney <cagney@redhat.com>
580
581 * main.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
582 * sim_calls.c: Ditto.
583
584 2002-05-30 DJ Delorie <dj@redhat.com>
585
586 * lf.c (lf_print__gnu_copyleft): Convert multiline strings to
587 compatible format.
588 * gen-idecode.c (print_run_until_stop_body): Likewise.
589 * gen-model.c (gen_model_c): Likewise.
590
591 2002-04-15 Elena Zannoni <ezannoni@redhat.com>
592
593 * sim_calls.c (sim_fetch_register, sim_store_register): Return -1 for
594 AltiVec registers as a temporary stopgap.
595
596 2002-03-24 David O'Brien <obrien@FreeBSD.org>
597
598 * ppc/hw_disk.c: Export a disk device property.
599
600 2002-03-23 Andrew Cagney <ac131313@redhat.com>
601
602 From 2001-12-09 Julien Ducourthial <jducourt@noos.fr>:
603 * ppc-instructions (lswx): Do the register control with the
604 register count. Initialize the right register in the loop.
605 (mtfsfi) : Correct prefix for the instruction.
606
607 2002-02-24 Andrew Cagney <ac131313@redhat.com>
608
609 From wiz at danbala:
610 * std-config.h: Fix grammar and typos. Update copyright.
611 Fix PR gdb/287.
612
613 2002-01-12 matthew green <mrg@redhat.com>
614
615 * Makefile.in (tmp-igen): Pass -I $(srcdir) to igen.
616 * igen.c (main): Change -I to add include paths for :include:
617 files.
618 Implement -G as per sim/igen, with just gen-icache=N support.
619 Call load_insn_table() with the built include path.
620
621 * ld-insn.c (parse_include_entry): New. Load an :include: file.
622 (load_insn_table): New `includes' argument. Look for :include:
623 entries and call parse_include_entry() for them.
624 (main): Adjust load_insn_table() call.
625 * ld-insn.h (model_include_fields): New enum.
626 (load_insn_table): Update prototype.
627 * table.c (struct _open_table, struct _table): Rework
628 structures to handle included files.
629 (table_push): Move the guts of table_open() here.
630
631 * table.c (struct _open table, struct table): Make table object an
632 indirect ptr to the current table file.
633 (current_line, new_table_entry, next_line): Make file arg type
634 open_table.
635 (table_open): Use table_push.
636 (table_entry_read): Point variable file at current table, at eof, pop
637 last open table.
638
639 * misc.h (NZALLOC): New macro. From sim/igen.
640
641 * table.h, table.c (table_push): New function.
642
643 2002-01-04 matthew green <mrg@redhat.com>
644
645 * bits.c (LSMASKED64): New inline function.
646 (LSEXTRACTED64): Likewise.
647 * bits.h (_LSB_POS, _LSMASKn, LSMASK64): New macros from
648 sim/common/sim-bits.h
649 (LSMASKED64, LSEXTRACTED64): New functions definitions.
650 * Makefile.in (sim-bits.o): Remove target.
651
652 * main.c (zalloc): Fix typo in error message.
653
654 2001-12-16 Andrew Cagney <ac131313@redhat.com>
655
656 * configure.in (sim_fpu): Don't add sim-bits.o.
657 * configure: Re-generate.
658
659 2001-12-15 matthew green <mrg@redhat.com>
660
661 * main.c: Include "defs.h", "bfd.h", "callback.h" and "remote-sim.h".
662 (sim_io_error): New function.
663 * sim_calls.c: (sim_io_error): New function.
664
665 2001-12-14 matthew green <mrg@redhat.com>
666
667 * Makefile.in (LIB_OBJ): Add @sim_fpu@.
668 (ICACHE_CFLAGS, SEMANTICS_CFLAGS): New variables.
669 (icache.o, semantics.o): Add new ICACHE_FLAGS & SEMANTICS_FLAGS.
670 (sim-fpu.o, sim-bits.o, tconfig.h): New targets.
671 * configure.in: Rename INLINE_LOCALS to PSIM_INLINE_LOCALS. Add a
672 check for sim/common/sim-fpu.c. Output sim_fpu and sim_fpu_cflags.
673 * configure: Regenerate.
674 * device.h (device_find_integer_array_property): Match function definition.
675 * gen-icache.c (print_icache_internal_function_declaration): Rename
676 INLINE_ICACHE to PSIM_INLINE_ICACHE.
677 * gen-idecode.c (print_idecode_run_function_header): Rename INLINE_IDECODE
678 to PSIM_INLINE_IDECODE.
679 * gen-semantics.c (print_semantic_function_header): Rename
680 EXTERN_SEMANTICS to PSIM_EXTERN_SEMANTICS.
681 * gen-support.c (print_support_function_name): Rename INLINE_SUPPORT to
682 PSIM_INLINE_SUPPORT.
683 * igen.c (print_function_name): Also escape `(' and `)'.
684 (gen_semantics_h): Rename EXTERN_SEMANTICS to PSIM_EXTERN_SEMANTICS.
685 (gen_semantics_c): Likewise. Also output includes for "sim-fpu.h"
686 * inline.h (INLINE_SIM_ENDIAN): Renamed INLINE_PSIM_ENDIAN.
687 (EXTERN_SIM_ENDIAN): Renamed EXTERN_PSIM_ENDIAN.
688 (STATIC_INLINE_SIM_ENDIAN): Renamed STATIC_INLINE_PSIM_ENDIAN.
689 (INLINE_LOCALS): Renamed PSIM_INLINE_LOCALS.
690 (EXTERN_SUPPORT): Renamed PSIM_EXTERN_SUPPORT.
691 (INLINE_SUPPORT): Renamed PSIM_INLINE_SUPPORT.
692 (EXTERN_SEMANTICS): Renamed PSIM_EXTERN_SEMANTICS.
693 (INLINE_SEMANTICS): Renamed PSIM_INLINE_SEMANTICS.
694 (EXTERN_IDECODE): Renamed PSIM_EXTERN_IDECODE.
695 (INLINE_IDECODE): Renamed PSIM_INLINE_IDECODE.
696 (EXTERN_ICACHE): Renamed PSIM_EXTERN_ICACHE.
697 (INLINE_ICACHE): Renamed PSIM_INLINE_ICACHE.
698 * options.c (options_inline): Fix names.
699 * sim-endian-n.h: Change INLINE_SIM_ENDIAN to INLINE_PSIM_ENDIAN.
700 * sim-endian.h: Likewise.
701 * sim-main.h: New file.
702 * std-config.h: Rename INLINE_LOCALS to PSIM_INLINE_LOCALS.
703
704 2001-12-01 Andrew Cagney <ac131313@redhat.com>
705
706 From Mark Peek.
707 * ppc-spr-table: Add SDA and PIR.
708
709 2001-10-29 Andrew Cagney <ac131313@redhat.com>
710
711 * tree.c (parse_size): Assert #size-cells > 0.
712 (parse_address): Ditto for #address-cells.
713 (parse_reg_property): Only parse the size when #size-cells is
714 non-zero.
715
716 2001-10-25 Andrew Cagney <ac131313@redhat.com>
717
718 * emul_generic.c (OEA_MEMORY_SIZE): Increase to 4mb.
719 * hw_htab.c (htab_map_binary): Don't try to map the text section
720 when it is empty.
721 * emul_chirp.c (map_over_chirp_note): Default load-base to -1 not
722 CHIRP_LOAD_BASE.
723 (emul_chirp_create): Map in the interrupt table.
724
725 2001-07-16 Daniel Jacobowitz <drow@mvista.com>
726
727 * Makefile.in: Add dependencies on $(CPU_H).
728
729 Wed Mar 7 10:45:12 HST 2001 Glen Nakamura <gen@lava.net>
730
731 * hw_init.c (dma_file): Fixed problem with loading last 1KB of
732 file.
733
734 2001-03-04 Andrew Cagney <ac131313@redhat.com>
735
736 * emul_netbsd.c [WITH_NetBSD_HOST]: Include <sys/mount.h> and
737 <errno.h>.
738 (do_stat): Only do SYS test when SYS_stat defined.
739 (do_sigprocmask): Ditto for SYS_sigprocmask.
740 (do_fstat): Ditto for SYS_fstat.
741 (do_getdirentries): Ditto for SYS_getdirentries.
742 (do_lstat): Ditto for SYS_lstat.
743
744 2001-01-15 Geoffrey Keating <geoffk@redhat.com>
745
746 * emul_netbsd.c (do_open): Translate the flag parameter to the
747 open syscall to the numbers supported by the host.
748
749 2000-12-12 Geoffrey Keating <geoffk@redhat.com>
750
751 * sim-endian.h: Don't have parameters on macro definitions which
752 are simply renaming functions, to permit use of XCONCAT2 in both
753 the macro name and the arguments in a use of such a definition.
754
755 2000-11-15 Jim Blandy <jimb@redhat.com>
756
757 * sim_calls.c: Doc fix.
758 (sim_fetch_register, sim_store_register): Call
759 gdbarch_register_name directly, instead of going through
760 REGISTER_NAME macro.
761
762 2000-10-24 Geoff Keating <geoffk@cygnus.com>
763
764 * ppc-instructions (lfsux): Correct XO field of lfsux instruction.
765
766 Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
767
768 * configure: Regenerated to track ../common/aclocal.m4 changes.
769
770 Fri Apr 28 15:59:27 2000 Andrew Cagney <cagney@b1.cygnus.com>
771
772 * events.c (event_queue_process): Call update_time_from_event
773 every time an event is removed from the queue.
774 (update_time_from_event): Delete assertion that a negative
775 time_from_event implies an empty event queue.
776
777 Fri Apr 28 15:53:54 2000 Andrew Cagney <cagney@b1.cygnus.com>
778
779 * interrupts.c (deliver_hardware_interrupt): Print time trace in
780 decimal.
781 * events.c (event_queue_process): Cleanup trace message.
782 (update_time_from_event): Trace full event queue.
783
784 2000-03-25 Geoff Keating <geoffk@cygnus.com>
785
786 * ppc-instructions (Disabled_Exponent_Underflow): Increment
787 the exponent when denormalizing.
788
789 Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
790
791 * configure: Regenerated to track ../common/aclocal.m4 changes.
792
793 1999-05-08 Felix Lee <flee@cygnus.com>
794
795 * configure.in: Use AC_EXEEXT instead of AM_EXEEXT.
796 * configure: Regenerated to track ../common/aclocal.m4 changes.
797
798 1999-04-02 Keith Seitz <keiths@cygnus.com>
799
800 * sim_calls.c (POLL_QUIT_INTERVAL): Define. Used to tweak
801 the frequency at which the poll_quit callback is called.
802 (poll_quit_count): New global.
803 (sim_io_poll_quit): Only call the poll_quit callback
804 after the specified POLL_QUIT_INTERVAL.
805
806 1999-02-22 Jim Lemke <jlemke@cygnus.com>
807
808 * dc-complex: Force expansion on all bits of field BO.
809 Previously, the least-significant (prediction) bit was ignored.
810 * ppc-instructions (conditional branches): Implement mpc860c0 option.
811 * igen.c (gen_semantics_[ch]): Setup for mpc860c0 option.
812 * psim.c (is_num, psim_options): Added parsing for mpc860c0 option.
813 * interrupts.h: Added "mpc860c0_instruction_program_interrupt".
814 * interrupts.c (program_interrupt): Added handling for above interrupt.
815
816 1999-02-01 Jim Blandy <jimb@zwingli.cygnus.com>
817
818 Make the simulator compatible with the MPC750. It would be nicer
819 to make this a real multi-sim, but that's more work than we have
820 time for.
821 * emul_generic.c (emul_add_tree_options): Only require strict
822 alignment if it was explicitly requested at configuration time.
823 Don't make it the default for little-endian machines.
824 * ppc-spr-table (UMMCR0, UMMCR1, UPMC1, UPMC2, USIA, UPMC3, UPMC4,
825 MMCR0, PMC1, PMC2, SIA, MMCR1, PMC3, PMC4, L2CR, ICTC, THRM1,
826 THRM2, THRM3): Plop in the MPC750 SPR registers.
827 (DABR): This is weird. This was HID5, but the PPC spec says this
828 should be DABR; why did some random processor use it for something
829 else? The HID5 entry dates back to the original checkin of the
830 simulator code in 1995, so remove it.
831 * sim_calls.c (register_names): Delete this; since the user can
832 now change GDB's list of register names dynamically, we can't
833 pretend there's a static mapping here.
834 (sim_fetch_register, sim_store_register): Call GDB's REGISTER_NAME
835 function to get the register name. That ought to be accurate.
836 However, we're changing a compile-time dependency (using the
837 REGISTER_NAMES macro) into a link- and run-time dependency
838 (calling REGISTER_NAME, which happens to be a function call on the
839 PPC).
840
841 1999-01-22 Jim Lemke <jlemke@cygnus.com>
842
843 * igen.c(gen_semantics_[ch]): setup/use of new option
844 (-o mpc860c0[=n]).
845 interrupts.[ch](mpc860c0_instruction_program_interrupt): added.
846 ppc-instructions(the four branch insn groups): detect problematic br's.
847 psim.c(is_num - added, psim_options): Parse and init new option.
848 These changes are currently under #ifdef WITH_OPTION_MPC860C0.
849
850 1998-12-01 Ken Raeburn <raeburn@cygnus.com>
851
852 * hw_nvram.c (hw_nvram_bcd): Force value to fit in 0..99.
853
854 Fri Nov 20 12:17:28 1998 Andrew Cagney <cagney@b1.cygnus.com>
855
856 * main.c (sim_io_poll_quit): Stub function.
857
858 * events.c (SIM_EVENTS_POLL_RATE): Define.
859 (sim_events_poll): Copy function from common/sim-events.c.
860 (event_queue_init): Copy scheduling of sim_events_poll from same.
861
862 * sim_callbacks.h, sim_calls.c (sim_io_poll_quit): New function,
863 poll the external environment.
864
865 1998-11-19 Michael Meissner <meissner@cygnus.com>
866
867 * ppc-instructions (is_{NaN,inf}): Use unsigned64 to get the
868 fractional type, so that quiet NaN's aren't treated like
869 Infinities.
870
871 Mon Sep 28 09:42:45 1998 Drew Moseley <dmoseley@cygnus.com>
872
873 * table.c (table_open): For cygwin hosts, we need to use the
874 return value from the read routine as the number of bytes to
875 process. This apparently is due to text-mode vs binary-mode. If
876 the mounts are done text-mode, then the size returnedby fstat()
877 may be different than the number of bytes "read" in text mode.
878
879 Sun Oct 4 00:50:47 1998 Felix Lee <flee@cygnus.com>
880
881 * emul_netbsd.c (do_open): fix order-of-evaluation problem.
882 (do_close): ditto.
883 (do_fstat): ditto.
884 (do_lstat): ditto.
885
886 1998-09-03 Michael Meissner <meissner@cygnus.com>
887
888 * emul_{netbsd,unix}.c: Update copyright year.
889
890 Mon Jun 29 10:57:36 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
891
892 * sim_calls.c (sim_fetch_register, sim_store_register):
893 return zero when nothing to do.
894
895 1998-06-26 Michael Meissner <meissner@cygnus.com>
896
897 * configure.in (AC_CHECK_HEADERS): Don't check for sys/mount.h.
898 * configure: Regenerate.
899 * emul_{netbsd,unix}.c (toplevel): No longer try to include
900 sys/mount.h. It conflicts on Linux when gnu libc2 is used.
901
902 Tue May 12 12:10:33 PDT 1998 James Ingham <jingham@leda.cygnus.com>
903
904 * Makefile.in: The run target depended on a target psim$(EXEEXT),
905 but there was no such target, only plain psim. So I changed the
906 run target to depend on psim.
907
908 Sat May 2 01:10:12 1998 Stu Grossman <grossman@babylon-5.cygnus.com>
909
910 * aclocal.m4: Remove defs of AM_EXEEXT and AM_CYGWIN32. These are
911 now defined in ../common/aclocal.m4, and the double definition causes
912 problems with AC_SUBST of EXEEXT.
913 * configure: Regenerate.
914
915 Wed Apr 29 15:44:52 1998 Geoffrey Noer <noer@cygnus.com>
916
917 * aclocal.m4: new file for AM_EXEEXT macro
918 * configure.in: call AM_EXEEXT
919 * configure: regenerate with autoconf 2.12.1.
920 * Makefile.in: add EXEEXT support
921
922 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
923
924 * configure: Regenerated to track ../common/aclocal.m4 changes.
925 * config.in: Ditto.
926
927 Sun Apr 26 15:19:51 1998 Tom Tromey <tromey@cygnus.com>
928
929 * acconfig.h: New file.
930 * configure.in: Reverted change of Apr 24; use sinclude again.
931 Don't call AC_C_CROSS.
932
933 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
934
935 * configure: Regenerated to track ../common/aclocal.m4 changes.
936 * config.in: Ditto.
937
938 Fri Apr 24 11:18:46 1998 Tom Tromey <tromey@cygnus.com>
939
940 * Makefile.in (top_builddir): New macro.
941 (INTLLIBS): New macro.
942 (INTLDEPS): Likewise.
943 (psim): Depend on INTLDEPS; link against INTLLIBS.
944 * configure.in: Call CY_GNU_GETTEXT.
945
946 Wed Apr 22 14:28:48 1998 Michael Meissner <meissner@cygnus.com>
947
948 * configure: Regenerate with autoconf 2.12.1.
949
950 Fri Mar 13 09:25:58 1998 Andrew Cagney <cagney@b1.cygnus.com>
951
952 * psim.c (psim_read_register, psim_write_register): Handle updates
953 for FPSCR.
954
955 * registers.c (register_description): Reconize "FPSCR".
956
957 * emul_netbsd.c (emul_netbsd_create): When FP available, enable
958 MSR FP exception mode. Do not enable FPSCR bits.
959 * emul_unix.c (emul_unix_create): Ditto.
960
961 Tue Feb 17 12:48:58 1998 Andrew Cagney <cagney@b1.cygnus.com>
962
963 * sim_calls.c (sim_store_register, sim_fetch_register): Pass in
964 length parameter. Return -1.
965
966 Mon Feb 9 14:13:14 1998 Andrew Cagney <cagney@b1.cygnus.com>
967
968 * ppc-instructions (fdiv, fdivs): Check for divide by zero.
969 (is_invalid_zero_divide, invalid_zero_divide_operation): New
970 functions.
971
972 Wed Dec 10 17:38:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
973
974 * sim_calls.c (sim_load): Do not parse PROG using buildargv, use
975 raw value instead.
976
977 1997-11-05 Felix Lee <flee@cygnus.com>
978
979 * emul_chirp.c: #ifdef HAVE_UNISTD_H
980
981 Wed Oct 15 08:50:54 1997 Andrew Cagney <cagney@b1.cygnus.com>
982
983 * corefile.c (core_attach): Pad out allocated memory regions so
984 that they are always correctly aligned.
985 (struct _core_mapping, core_map_attach, core_init,
986 new_core_mapping): Change free_buffer to type void*.
987
988 Mon Oct 6 18:09:26 1997 Michael Meissner <meissner@cygnus.com>
989
990 * sim_calls.c (zfree): Call free correctly.
991
992 Mon Sep 29 10:05:01 1997 Andrew Cagney <cagney@b1.cygnus.com>
993
994 * sim_calls.c (zfree): Use free, not mfree.
995 (sim_io_flush_stdoutput): Replace gdb_flush with callback ->
996 flush_stdout.
997
998 Fri Sep 26 09:50:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
999
1000 * ppc-instructions (sraw, slw, srw): From Charles Lefurgy, Fix
1001 mask extracting shift amount. Correctly condition for setting XER
1002 in sraw.
1003 (ldhau): From Johannes Reisinger, update rA after load.
1004
1005 Tue Sep 9 22:13:23 1997 Felix Lee <flee@cygnus.com>
1006
1007 * basics.h (CONCAT*): token-pasting macros, if ALMOST_STDC,
1008 for MSVC.
1009 * words.h: __int64 instead of long long for MSVC.
1010
1011 Wed Aug 27 10:24:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
1012
1013 * sim_calls.c (sim_create_inferior): Check the simulator was
1014 initialized before creating inferior.
1015
1016 * idecode_expression.h (ALU_END): From Charles Lefurgy - Extract
1017 sign bit using 64 bit and not a 32 bit mask.
1018
1019 Wed Aug 27 10:15:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
1020
1021 * sim_calls.c (sim_load): From Ian Lance Taylor - free argv after
1022 it has been used, not before.
1023
1024 Tue Aug 26 10:41:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
1025
1026 * sim_calls.c (sim_kill): Delete.
1027 (sim_create_inferior): Add ABFD argument.
1028 (entry_point): Delete variable.
1029 (sim_load): Move setting of PC from here.
1030 (sim_create_inferior): To here.
1031
1032 Mon Aug 25 16:17:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1033
1034 * sim_calls.c (sim_open): Add ABFD argument.
1035
1036 Thu Jul 3 10:18:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1037
1038 * ppc-instructions (PPC_INSN_INT): From Michael Thies - Monitoring
1039 CR register updates dependant on RC value had logic backwards.
1040
1041 * ppc-instructions (Load String Word Immediate): From Brad Parker
1042 - sense of wrap test in check for overwriting RA wrong.
1043 (Load String Word Indexed): Ditto.
1044
1045 * configure.in: From Erik Landry - set sim_default_model not
1046 sim_model for sim-default-model option.
1047 * configure: Regenerate.
1048
1049 * interrupts.c (check_masked_interrupts): Schedule a hardware
1050 interrupt delivery when FP interrupts get enabled.
1051 (program_interrupt): Generate FP exceptions instead of aborting.
1052 (deliver_hardware_interrupt): Deliver a FP exception if so
1053 enabled.
1054
1055 * registers.h: Add definition of fpscr_vx_bits.
1056
1057 * idecode_expression.h (FPSCR_END): Always update FEX and VX bits
1058 in FPSCR.
1059 (FPSCR_END): Explicitly check for possible floating point
1060 exception conditions.
1061 (FPSCR_BEGIN): Simplify.
1062
1063 * ppc-instructions (Move From FPSCR): Enable.
1064 (Move To FPSCR Bit 1): Ditto.
1065 (Move To FPSCR Bit 0): Ditto.
1066 (Move To FPSCR Field Immediate): Ditto.
1067 (Move to Condition Register from FPSCR): Simplify.
1068 (invalid_arithemetic_operation): Generate a QNaN when invalid
1069 operation exception disabled.
1070
1071 Tue May 20 10:22:50 1997 Andrew Cagney <cagney@b1.cygnus.com>
1072
1073 * sim_calls.c (sim_open): Add callback argument.
1074 (sim_set_callbacks): Delete.
1075
1076 Tue Apr 22 22:36:57 1997 Mike Meissner <meissner@cygnus.com>
1077
1078 * sim_callbacks.h (error): Make declaration match gdb's.
1079 * main.c (error): Ditto.
1080
1081 Fri Apr 18 17:03:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
1082
1083 * sim_calls.c (sim_stop_reason): Simplify. Was running implies
1084 stopped/SIGINT. Exit implies a status code.
1085
1086 * psim.c (cntrl_c_simulation): From main.c. Event function that
1087 halts the simulator.
1088 (psim_stop): New. Asynchronously schedule a stop simulator event.
1089 (psim_run_until_stop): Delete. Made redundant by psim_stop.
1090
1091 * main.c (cntrl_c): Update.
1092 (cntrl_c_simulation): Moved to psim.c.
1093
1094 * sim_calls.c (sim_stop): New function. Use psim_stop which
1095 schedules a stop event.
1096 (sim_resume): Drop SIGINT handler, now in gdb/main.c.
1097 (sim_resume): Use psim_run as stop variable no longer needed.
1098
1099 Fri Apr 18 17:03:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
1100
1101 * psim.c (psim_options): Handle -E option correctly.
1102 (psim_usage): Document.
1103
1104 Thu Apr 17 03:28:03 1997 Doug Evans <dje@canuck.cygnus.com>
1105
1106 * psim.c (psim_options): Ignore -E option (sets endianness).
1107 * sim_calls.c: #include bfd.h.
1108 (entry_point): New static local.
1109 (sim_load): Return SIM_RC. New arg abfd. Set start address from bfd.
1110 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
1111
1112 Tue Apr 15 14:57:18 1997 Ian Lance Taylor <ian@cygnus.com>
1113
1114 * Makefile.in (INSTALL): Set to @INSTALL@.
1115 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
1116 (install): Depend upon installdirs. Use $(program_transform_name)
1117 directly, rather than using $(INSTALL_XFORM).
1118 (installdirs): New target.
1119
1120 Fri Apr 4 17:54:36 1997 Jim Wilson <wilson@cygnus.com>
1121
1122 * Makefile.in (tmp-hw, tmp-pk): Use for loop to eliminate duplicates
1123 rather than the non-portable cat -n.
1124
1125 Mon Apr 14 16:29:51 1997 Ian Lance Taylor <ian@cygnus.com>
1126
1127 * Makefile.in (INSTALL): Change install.sh to install-sh.
1128
1129 Tue Apr 1 18:15:14 1997 Jim Wilson <wilson@cygnus.com>
1130
1131 * ppc-instructions: Change milhwu to mulhwu.
1132
1133 Wed Apr 2 15:38:08 1997 Doug Evans <dje@canuck.cygnus.com>
1134
1135 * sim_calls.c (sim_open): New arg `kind'.
1136
1137 Wed Apr 2 14:51:17 1997 Ian Lance Taylor <ian@cygnus.com>
1138
1139 * COPYING: Update FSF address.
1140
1141 Tue Mar 25 16:17:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1142
1143 * main.c (sim_io_read_stdin): Only compile unbuffered IO code if
1144 all the required features are supported by the host OS.
1145
1146 Tue Mar 25 12:13:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1147
1148 * emul_bugapi.c (emul_bugapi_create): Guard against NULL images.
1149
1150 * configure.in (enable-sim-endain): Correct typo in usage (from
1151 Erik Landry <landry@ENGR.ORST.EDU>).
1152 * configure: Re-generate.
1153
1154 Fri Mar 14 18:23:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1155
1156 * Makefile.in (targ-vals.def): Re-do rule so that it works with
1157 FreeBSD's make. Didn't like $<.
1158
1159 Thu Mar 13 12:55:48 1997 Doug Evans <dje@canuck.cygnus.com>
1160
1161 * sim_calls.c (sim_open): New SIM_DESC result. Argument is now
1162 in argv form.
1163 (other sim_*): New SIM_DESC argument.
1164
1165 Thu Feb 13 10:35:14 1997 Andrew Cagney <cagney@phydeaux.cygnus.com>
1166
1167 * ppc-opcode-simple-array, ppc-opcode-simple-goto,
1168 ppc-opcode-simple-switch, ppc-opcode-complex-array,
1169 ppc-opcode-complex-goto, ppc-opcode-complex-switch,
1170 ppc-opcode-jump, ppc-opcode-goto, ppc-opcode-flat: Delete,
1171 superseeded by --sim-decode-mechanism option.
1172
1173 * ppc-opcode-simple, dc-simple: Rename to be 8.3
1174 * ppc-opcode-complex, dc-complex: Ditto.
1175 * ppc-opcode-stupid, dc-stupid: Ditto.
1176 * ppc-opcode-test-1, dc-test.01: Ditto.
1177 * ppc-opcode-test-2, dc-test.02: Ditto.
1178
1179 * configure.in (--enable-sim-opcode): Change prefix to dc- instead
1180 of ppc-opcode-.
1181
1182 Wed Feb 12 19:33:45 1997 Andrew Cagney <cagney@phydeaux.cygnus.com>
1183
1184 * Many of the ppc-opcode-* files are identical baring the type of
1185 lookup table. Instead of having multiple tables, igen can do this
1186 via an additional option.
1187
1188 * ld-decode.h, ld-decode.c (force_decode_gen_type): New function,
1189 allow the type of generated table specified in the decode file to
1190 be overridden.
1191
1192 * ld-decode.c (load_decode_table): Allow the table type to be
1193 overridden.
1194
1195 * igen.c (main): Add -T <mechanism> option so that an overriding
1196 instruction decode mechanism can be specified.
1197
1198 * configure.in: New option --sim-decode-mechanism to control
1199 igen's new -T <mechanism> flag.
1200 * Makefile.in (IGEN_FLAGS): Add IGEN_IDECODE_MECHANISM set by the
1201 configure script.
1202 * configure: Regenerate.
1203
1204 Tue Feb 11 13:49:10 1997 Michael Meissner <meissner@tiktok.cygnus.com>
1205
1206 * events.c (event_queue_create): Don't use NULL to initialize an
1207 integer field.
1208 (even_queue_{init,schedule_after_signal,tick}): Conditionalize use
1209 of sigprocmask to appropriate autoconf test.
1210
1211 * main.c ({cntrl_c,main}): Use RETSIGTYPE for signal return type,
1212 don't assume void.
1213 * sim_calls.c (sim_{ctrl_c,resume}): Ditto.
1214
1215 * Makefile.in (callback.o): Define HAVE_CONFIG_H, so callback.c
1216 includes our config.h.
1217
1218 Tue Feb 4 13:42:59 1997 Doug Evans <dje@canuck.cygnus.com>
1219
1220 * configure.in: Fix typo in test for callback.c.
1221 * configure: Regenerated.
1222
1223 Fri Feb 7 10:04:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1224
1225 * emul_chirp.c (emul_chirp_create): Handle a virtbase of -1 being
1226 found in the device tree.
1227
1228 Wed Feb 5 10:56:27 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1229
1230 * Property create/initialization still wasn't correctly ordered.
1231 Should be delaying everything related to ihandle creation until
1232 after the rest of the tree has been established.
1233
1234 * device.c (device_find_ihandle_runtime_property): Update.
1235 (device_add_ihandle_runtime_property): Update.
1236
1237 * tree.c (parse_ihandle_property): Delay lookup of the device to
1238 be opened until the ihandle initialization phase.
1239 * tree.c (print_properties): Update.
1240
1241 Wed Feb 5 10:56:27 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1242
1243 * gen-icache.c (print_icache_extraction): Add a reason parameter.
1244 Augment each extracted field with a comment citing the codes
1245 origin. Should simplify tracking down incorrect cache
1246 extractions.
1247
1248 Tue Feb 4 17:44:51 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1249
1250 * gen-icache.c: Generalize code handling XXX_is_NNN so that it
1251 works for normal and boolean table entries.
1252
1253 * psim.c (psim_write_memory): last_cpu == -1 or nr_cpus is now
1254 valid. Handle this just like *_{read,write}_register now handles
1255 it.
1256
1257 Mon Feb 3 17:18:16 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1258
1259 * events.c (insert_event_entry): Correct loop termination
1260 assertions.
1261
1262 Fri Jan 31 16:20:26 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1263
1264 * psim.c (psim_options): Add new option -c for max-iterations or
1265 count.
1266 (psim_usage): Document.
1267 (psim_max_iterations_exceeded): New function, abort simulation if
1268 max iterations exceeded.
1269
1270 * gen-idecode.c: Re-work the table lookup code so that it assumes
1271 that the entry is a leaf by default. Simplify the boolean table
1272 entry code so that it involves a mask + test instead of shift +
1273 shift + mask + test.
1274
1275 * gen-idecode.c: Correct generated igen body so that it no drops
1276 or doubles clock interrupts.
1277
1278
1279 Thu Jan 30 11:23:20 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1280
1281 * Makefile.in (BUILT_SRC_WO_CONFIG): Change targ-vals.* to
1282 @sim_targ_vals@
1283
1284 * configure.in (sim_callback, sim_targ_vals): Set sim_targ_valls
1285 if common callback is present.
1286
1287 Wed Jan 29 12:32:41 1997 Michael Meissner <meissner@tiktok.cygnus.com>
1288
1289 * configure.in (sim_callback): If the gdb is post 4.16, configure
1290 callback support from the common directory.
1291 * configure: Regenerate.
1292
1293 * Makefile.in (BUILT_SRC_WO_CONFIG): Add targ-vals.{h,def} and
1294 targ-map.c.
1295 (GDB_OBJ): Add callback support configured in.
1296 (gentmap,targ-vals.def): Build from common directory.
1297 (targ-vals.h,targ-map.c): Build by running gentmap.
1298 (callback.o): Build from source in common directory.
1299 (targ-map.o): Add dependency.
1300 (clean): Remove gentmap.
1301
1302 Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1303
1304 * igen wasn't aborting if the opcode table contained no valid
1305 fields.
1306
1307 * misc.c (name2i): Possibly abort if an invalid name is
1308 encountered.
1309 * ld-decode.c: Abort if the table type isn't found.
1310
1311 Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1312
1313 * When performance monitoring is disabled, it is still possible to
1314 determine the simulation speed by looking at the number of elapsed
1315 ticks recorded by the event queue.
1316
1317 * psim.c (psim_write_register, psim_read_register): Force the cpu
1318 to zero when it is either of `-1' or `nr_cpus'. In both cases the
1319 next cpu would be zero any way.
1320
1321 * mon.c (mon_print_info): If possible, print the system cycle
1322 performance. This is an indication of the number of instructions
1323 per second.
1324
1325 Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1326
1327 * The code to allow an event queue to be updated during a signal
1328 was missing. For main.c, a cntrl-c simulation termination wasn't
1329 handled cleanly.
1330
1331 * The simulation would not correctly restart if an event requested
1332 that the simulation be halted.
1333
1334 * psim.c (psim_options): Add hack to -i option to optionally
1335 include a level vis -i2.
1336 (psim_usage): Document.
1337
1338 * main.c (cntrl_c, cntrl_c_simulation): New functions. When a
1339 cntrl-c occures schedule an event to halt the simulation.
1340 (main): Catch CNTRL-C signals with the function cntrl_c.
1341
1342 * events.c (event_queue_process): Mask interrupts while
1343 manipulating the async event queue.
1344 (event_queue_init): Ditto.
1345 (event_queue_schedule_after_signal): Ditto.
1346
1347 * events.c (event_queue_process): Mark the event queue as being in
1348 the processing state when processing has started. Adjust code
1349 so that it is tolerant of halts.
1350 (event_queue_init): Start the event queue out with processing
1351 false.
1352 (event_queue_tick): Check that processing isn't still being
1353 performed.
1354
1355 * gen-idecode.c (print_run_until_stop_body): Call
1356 event_queue_process_events to clear possibly pending events before
1357 starting a simulation run. Re-arange main loop so that simulator
1358 is correctly restarted when an event halts the simulation.
1359
1360 * psim.c (psim_halt): Handle an event halting the simulation.
1361 * psim.c (psim_init): Adjust initial cpu - == -1 - to match
1362 reworked idecode.
1363
1364 Wed Jan 29 12:14:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1365
1366 * ppc-opcode-complex: Correct typo - was expanding ORA instead of
1367 RA. Based on instruction frequency stats, expand additional
1368 instructions.
1369 * ppc-instructions: Change all `RA == 0' to RA_is_0.
1370
1371 * ppc-opcode-stupid: Move all but the basic table in -complex into
1372 here. Update to new format.
1373
1374 * Makefile.in (tmp-defines): New target. Force defines.h to always
1375 be built. Hence get ppc-opcode-goto to build.
1376
1377 Tue Jan 28 13:00:19 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1378
1379 * hw_com.c (hw_com_instance_read, hw_com_instance_write):
1380 Implement.
1381
1382 Thu Jan 23 09:07:26 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1383
1384 * hw_trace.c (hw_trace_init_data): Delete. The trace options need
1385 to be initialized independant of the rest of the simulation
1386 initalization. Otherwize a trace option explictly set from gdb
1387 could be overridden by hw_trace.
1388
1389 * psim.c (psim_options): Clarify reason why the trace ioctl occures.
1390
1391 * FIXME: The trace code is too scattered - hw_trace.c, psim.c,
1392 debug.c. It could be much simpler.
1393
1394 Thu Jan 23 09:07:26 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1395
1396 * Some devices support removable media. Add hooks to the disk
1397 device so that it supports this.
1398
1399 * device.c (device_add_string_array_property,
1400 device_find_string_array_property): New functions, manipulate
1401 properties containing an array of strings.
1402 (device_find_string_property): Allow a string array.
1403 (device_init_static_properties): Update.
1404 (device_init_runtime_properties): Update.
1405
1406 * hw_disk.c (hw_disk_ioctl): Add ioctl for changing the disk
1407 media. If no file image is specified, use the next one in the
1408 image property list.
1409 (hw_disk_init_address): Change the file property so that it is a
1410 string array - use the first entry for the initial file image.
1411
1412 * tree.c (print_string_aray_property): New function - print a
1413 string array.
1414 (print_properties): Adjust.
1415 (print_string): Write a string, handling double quotes.
1416
1417 * device.h: Define an ioctl to `change-media' with an optional new
1418 media image.
1419
1420 * hw_disk.c: Allow floppy disk devices to be specified.
1421
1422 * psim.c (psim_command): New function, parse more complex psim
1423 commands such as "change-media" and "trace".
1424 * sim_calls.c (sim_do_command): Use.
1425
1426 Wed Jan 22 09:38:33 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1427
1428 * For expressions like (RA == 0) that are entered in to the cache
1429 as RA_is_0. If possible generate the result of the expression so
1430 that the compiler gets a better chance of eliminating dead
1431 branches.
1432
1433 * gen-icache.c (print_icache_extraction): For a cache entry of
1434 the form <name>_is_<const> where it is a boolean field, generate
1435 the result of the expression instead of the expression its self.
1436 (print_icache_body): Remove code that was looking for *_is_0 and
1437 then generating corresponding definitions.
1438
1439 * gen-icache.c (print_icache_struct): If there is no cache, do not
1440 output expressions in idecode.h file.
1441
1442 * gen-icache.c (print_icache_body): Output them here.
1443
1444 * ppc-opcode-complex: Clarify constant values for SPR==LR register
1445 expansion.
1446
1447 * ppc-cache-rules (RA_is_0, SPR_is_256): Two new cache entries.
1448
1449 Wed Jan 22 12:24:52 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1450
1451 * The code that put values in and extracted values from the cache
1452 was too compilicated. The cache table did not allow values to be
1453 computed from cache entries. #defines could only be used when a
1454 cache was present, remove the restriction.
1455
1456 * ld-cache.h, ld-cache.c: Add a new cache entry type - SCRATCH. A
1457 scratch variable is defined when a cache entry is beinf
1458 filled. Change the definition of a COMPUTE variable to be defined
1459 when the cache entry is being used.
1460 * gen-icache.c: Update.
1461
1462 * ld-cache.h, ld-cache.c: Change field names so that their meaning
1463 is more obvious. old_name->field_name, new_name->derived_name.
1464 * gen-icache.c: Update
1465
1466 * gen-icache.h, gen-icache.c (print_icache_body): Make the three
1467 different types of cache code - put into cache, extract from
1468 cache, no cache - an explicit argument to print_icache_body.
1469 * gen-icache.c (print_icache_extraction): Ditto.
1470
1471 * gen-semantics.c (print_c_semantic): Update use.
1472 * gen-idecode.c (print_jump_insn): Update use.
1473 * gen-icache.c (print_icache_function): Update use.
1474
1475 * igen.c (main): Change 'R' option so that it does not force the
1476 cache.
1477
1478 * configure.in (enable-sim-icache): Clarify description. Make
1479 #define one of the defaults regardless of the cache. Probably
1480 should revamp and add a separate option.
1481
1482 Tue Jan 21 13:26:10 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1483
1484 * pk_disklabel.c (block_is_fdisk): Tidy up traces - use dos
1485 partition numbering.
1486 (pk_disklabel_create_instance): Partition 1..4 are valid - not
1487 1..3.
1488 (is_iso9660): New function, verify a CD9660 File system.
1489 (pk_disklabel_create_instance): Start expanding so that active
1490 partition selection is supported.
1491
1492 Mon Jan 20 11:20:15 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1493
1494 * The cap object was retaining a reference to the instance of a
1495 device after it was deleted. Instead add and remove cap's from the
1496 cap db as they are created and deleted. This ensuring that a
1497 capibility is only used during the lifetime of the corresponding
1498 object.
1499
1500 * cap.h, cap.c: Correct cap type - was signed32 should be
1501 signed_cell.
1502
1503 * cap.c (cap_add, cap_remove): New methods for cap object that
1504 allow the explicit addition and removal of internal objects that
1505 the cap knows about.
1506
1507 * cap.c (cap_init): Rewrite. Verify that the only objects
1508 remaining in the cap data base are those that were entered first.
1509 Thse objects will be the permenant ones.
1510 * device.c (device_init_address): Remember to initialize the cap
1511 database.
1512
1513 * device.c (device_create_instance_from): Explicitly add device
1514 instances to the cap database. Simplify create code.
1515 (device_instance_delete): Explicitly remove device instances from
1516 the cap database.
1517
1518 * device.c (device_create_from): Explicitly add a device to the
1519 cap data base.
1520
1521 * device.c (device_create_from): Always set the cap members.
1522
1523 * hw_disk.c: Output the instance when tracing.
1524
1525 Sun Jan 19 16:44:29 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1526
1527 * tree.c (split_device_specifier): Add support for aliases when
1528 looking up a device. Now needs a device as an argument.
1529 (split_property_specifier): Ditto.
1530
1531 Sun Jan 19 15:28:23 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1532
1533 * The memory "claim" and "release" methods take an address and
1534 size as arguments. These may be multi cell values. Initially fix
1535 the memory code so that they check/detect this. Leave the
1536 adjustment of any clients to later.
1537
1538 * hw_memory.c (hw_memory_instance_claim,
1539 hw_memory_instance_release): Handle multi-cell memory devices.
1540
1541 * hw_memory.c (hw_memory_instance_claim): Be tolerant towards the
1542 release of memory regions that were not claimed.
1543
1544 Fri Jan 17 12:01:07 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1545
1546 * device.h, device.c (device_instance_call_method): Correct return
1547 type - can return either 0 or -1, hence should be a signed type.
1548 * device_table.h: Ditto.
1549
1550 * hw_memory.c (hw_memory_instance_claim,
1551 hw_memory_instance_release): Update.
1552 * hw_disk.c (hw_disk_max_transfer, hw_disk_block_size,
1553 hw_disk_nr_blocks): Ditto.
1554
1555 Fri Jan 17 11:50:13 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1556
1557 * emul_chirp.c (chirp_emul_claim): Implement using the "claim"
1558 method belonging to "/chosen/memory".
1559 (chirm_emul_release): Ditto.
1560
1561 * Makefile.in (LIB_INLINE_SRC): Remove emul_* from list of files
1562 that are inlined. These modules are called via a table and are
1563 not made inline.
1564
1565 * hw_init.c (update_for_binary_section): Fix failure to allocate
1566 memory used by the binary in real-mode executions. If "claim"
1567 property is present, allocate memory from the "/chosen/memory"
1568 device.
1569
1570 * emul_chirp.c (emul_chirp_create): Specify that memory should be
1571 claimed when loading a real image.
1572
1573 * hw_memory.c (hw_memory_instance_claim): Don't page align memory
1574 allocations.
1575
1576 * hw_memory.c (hw_memory_instance_release): Avoid infinite loop
1577 when merging adjacent memory chunks.
1578
1579 Thu Jan 16 08:51:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1580
1581 * vm.h (vm_data_map_read_buffer, vm_data_map_write_buffer): Add
1582 optional PROCESSOR & CIA args so that this routine also abort an
1583 access.
1584
1585 * vm_n.h (vm_data_map_read_N, vm_data_map_write_N): For a
1586 miss-aligned access when a transfer fails abort.
1587
1588 * emul_bugapi.c (emul_bugapi_do_write): Use emul_read_buffer
1589 instead of the vm_read_buffer.
1590 * emul_netbsd.c (do_write): Ditto.
1591 * emul_unix.c (do_unix_write): Ditto.
1592
1593 Wed Jan 15 14:38:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1594
1595 * configure.in (--enable-sim-jump): Default is NULL and not -E.
1596 * configure: Regenerate.
1597
1598 * basics.h (__attribute__): Enable attributes if GCC >= 2.6.
1599 (UNUSED): Only enable UNUSED if GCC >= 2.7.
1600
1601 * gen-icache.c (print_icache_extraction): Print UNUSED macro
1602 instead of explicit __unused__ attribute.
1603 (print_icache_body): Ditto.
1604 * idecode_expression.h (FPSCR_BEGIN): Use UNUSED.
1605
1606 Wed Jan 15 13:54:50 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1607
1608 * cpu.h, cpu.c (cpu_synchronize_context): Add CIA argument as
1609 reference point.
1610
1611 * vm.c (vm_synchronize_context): Add PROCESSOR and CIA as
1612 arguments so that there is a reference point for recovery.
1613 (vm_synchronize_context): Pass processor+cia for errors.
1614 (om_unpack_sr): Ditto.
1615 (om_unpack_srs): Ditto.
1616 * vm.c (vm_create): Review error messages.
1617
1618 * vm.c: Include "cpu.h" so that cpu_error is visible.
1619
1620 * ppc-instructions (Return From Interrupt): Pass CIA.
1621 (Instruction Synchronize): Ditto.
1622 * psim.c (psim_init): Ditto.
1623
1624 Wed Jan 15 12:25:11 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1625
1626 * cpu.h, cpu.c (cpu_error): Aborts simulation with error message,
1627 but also saves current processor state.
1628
1629 * basics.h: Move #include <stdarg.h> to here from device_table.h.
1630
1631 * interrupts.c (perform_oea_interrupt): Use. No longer loose CIA
1632 when simulation aborted.
1633 (program_interrupt): Ditto.
1634 (floating_point_unavailable_interrupt): Ditto.
1635 (alignment_interrupt): Ditto.
1636 (floating_point_assist_interrupt): Ditto.
1637 (perform_oea_interrupt): Ditto.
1638 (machine_check_interrupt): Ditto.
1639
1640 Tue Jan 14 12:19:10 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1641
1642 * ppc-instructions (Move from Special Purpose Register): Support
1643 move from DEC.
1644
1645 Mon Jan 13 16:58:12 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1646
1647 * debug.h, debug.c: Add "interrupts" trace option.
1648
1649 * interrupts.c (data_storage_interrupt): Add tracing.
1650 (machine_check_interrupt): Ditto.
1651 (instruction_storage_interrupt): Ditto.
1652 (alignment_interrupt): Ditto.
1653 (program_interrupt): Ditto.
1654 (floating_point_unavailable_interrupt): Ditto.
1655 (system_call_interrupt): Ditto.
1656 (floating_point_assist_interrupt): Ditto.
1657 (deliver_hardware_interrupt): Ditto.
1658
1659 * interrupts.c (program_interrupt): For UEA mode, halt the
1660 processor - so that the current state is saved - instead of
1661 aborting.
1662 (floating_point_unavailable_interrupt): Ditto.
1663 (floating_point_assist_interrupt): Ditto.
1664
1665 Thu Jan 2 09:10:41 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1666
1667 * interrupts.c (perform_oea_interrupt): Halt rather than abort on
1668 a double interrupt.
1669
1670 Wed Jan 1 22:54:52 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1671
1672 * ppc-instructions (Store Multiple Word, Load Multiple Word):
1673 Enable.
1674
1675 * tree.c (print_properties): For an array consider printing it out
1676 as an integer array.
1677
1678 * hw_memory.c (hw_memory_init_address): If an "available" property
1679 is present, use that to initialize the available memory instead of
1680 using the reg property.
1681
1682 * emul_generic.c (emul_add_tree_hardware): Add "available"
1683 property to memory device.
1684
1685 Fri Dec 20 13:19:07 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1686
1687 * ppc-instructions (Rotate Left Word then AND with Mask): Enable.
1688
1689 * device.c (device_instance_call_method): Was only looking at the
1690 first method.
1691
1692 * hw_disk.c (hw_disk_nr_blocks): Implement #blocks method.
1693 (hw_disk_block_size): Implement block-size method.
1694 (hw_disk_max_transfer): Implement max-transfer method.
1695
1696 * hw_phb.c (hw_phb_init_address): Reinit the rest of the PHB.
1697
1698 * emul_chirp.c (chirp_emul_instance_to_path): Recover from an
1699 invalid ihandle.
1700 (chirp_emul_instance_to_package): Ditto.
1701 (chirp_emul_method): Ditto.
1702 (chirp_emul_read): Ditto.
1703 (chirp_emul_write): Ditto.
1704 (chirp_emul_close): Ditto.
1705 (chirp_emul_seek): Ditto.
1706 (chirp_emul_package_to_path): Ditto (for phandle).
1707 (chirp_emul_package_to_path): Return the length.
1708
1709 * psim.c (psim_merge_device_file): Allow continuation lines.
1710
1711 Thu Dec 19 11:09:43 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1712
1713 * emul_chirp.c (chirp_emul_boot): Implement. Well report the new
1714 string and exit.
1715
1716 * emul_chirp.c (chirp_emul_exit): Correct type of args struct
1717 members - *_cell not host dependant int.
1718
1719 Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1720
1721 * interrupts.c (perform_oea_interrupt): Print additional
1722 information if a double interrupt is encountered.
1723
1724 Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1725
1726 * psim.c (psim_merge_device_file): Tolerate an incorrect file-name
1727 being specified with the -f option.
1728 (psim_merge_device_file): Correct check for end of string.
1729
1730 Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1731
1732 * emul_chirp.c (chirp_emul_peer): Was falling off the end of the
1733 list of devices. Return zero to the client instead.
1734 * emul_chirp.c (chirp_emul_child): Ditto
1735 * emul_chirp.c (chirp_emul_parent): Ditto
1736
1737 * device.c (device_root): Assert assumption about the device being
1738 valid.
1739
1740 Tue Dec 17 15:12:38 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1741
1742 * emul_chirp.c (emul_chirp_create): Add description property to
1743 each significant node in the device tree.
1744 * emul_bugapi.c (emul_bugapi_create): Ditto.
1745
1746 Fri Dec 13 14:30:31 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1747
1748 * main.c (sim_io_read_stdin): For a single byte STDIO read, use a
1749 tempoary two byte buffer. Single byte read with fgets will not
1750 work.
1751 * main.c: Include errno.h.
1752 (sim_io_read_stdin): For non-STDIO, make it work.
1753
1754 * emul_chirp.c (chirp_emul_read): Return the correct error status.
1755
1756 Fri Dec 13 14:30:31 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1757
1758 * std-config.h (WITH_STDIO): Don't hard-wire the STDIO mechanism.
1759 Instead have each emulation default it to DO_USE_STDIO.
1760
1761 * emul_generic.c (emul_add_tree_options): Select the STDIO I/O
1762 mechanism as the default if enabled or if nothing selected.
1763
1764 * sim_calls.c (sim_io_read_stdin): Passify GCC's desire for a
1765 return value.
1766 (sim_io_write_stdout): Ditto.
1767 (sim_io_write_stderr): Ditto.
1768 * main.c (sim_io_write_stdout): Ditto.
1769 (sim_io_write_stderr): Ditto.
1770 (sim_io_read_stdin): Ditto.
1771
1772 Tue Dec 10 10:31:48 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1773
1774 * emul_chirp.c (emul_chirp_instruction_call): Make *printf calls
1775 type correct.
1776 * vm.c (om_effective_to_virtual): Ditto.
1777 * events.c (event_queue_schedule{,_after_signal}): Ditto.
1778 (event_queue_{deschedule,process}): Ditto.
1779 * hw_htab.c (htab_decode_hash_table): Ditto.
1780 (htab_map_{page,binary}): Ditto.
1781 * hw_opic.c (hw_opic_init_data): Ditto.
1782 (handle_interrupt): Ditto.
1783 (do_processor_init_register_{read,write}): Ditto.
1784 (write_vector_priority_register): Ditto.
1785 ({read,write}_destination_register): Ditto.
1786 (do_suprious_vector_register_{read,write}): Ditto.
1787 (do_current_task_priority_register_N_{read,write}): Ditto.
1788 (do_timer_frequency_reporting_register_{read,write}): Ditto.
1789 (do_timer_N_{current,base}_count_register_{read,write}): Ditto.
1790 (do_ipi_N_dispatch_register_write): Ditto.
1791 (do_vendor_identification_register_read): Ditto.
1792 (do_feature_reporting_register_N_read): Ditto.
1793 (do_global_configuration_register_N_{read,write}): Ditto.
1794 * hw_phb.c (hw_phb_attach_address): Ditto.
1795 (hw_phb_unit_decode): Ditto.
1796 (hw_phb_address_to_attach_address): Ditto.
1797 (hw_phb_io_{read,write}_buffer): Ditto.
1798 * hw_ide.c (setup_fifo): Ditto.
1799
1800 * sim_calls.c ({defs,callback,remote-sim}.h): Find gdb include
1801 files via -I<dir> instead of using "../../gdb/" prefixes.
1802
1803 Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1804
1805 * debug.h: Add tracing for the pal device.
1806 * hw_pal.c: Update.
1807
1808 * emul_chirp.c (chirp_emul_getprop): More tracing.
1809
1810 Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1811
1812 * device.h, device.c (device_find_ihandle_runtime_property): New
1813 function. Reverse of add_ihandle_runtime property.
1814 (device_init_runtime_properties): Use it.
1815
1816 * device.c (find_property_entry): New function returns the
1817 internal property spec.
1818 (device_set_property): Use.
1819 (device_find_property): Use.
1820
1821 Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1822
1823 * psim.c (psim_merge_device_file): Strip newline from device
1824 specs.
1825
1826 Tue Dec 10 10:12:44 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1827
1828 * hw_htab.c (htab_map_binary): For overlapping text / data maps
1829 merge the two. Also check that the merge is safe.
1830
1831 * emul_chirp.c (emul_chirp_create): Add a description property to
1832 the pte's so that they are easier to identify.
1833
1834 (emul_chirp_create): Don't specify a load address for the CHRP
1835 image. Always use the values specified by the executable.
1836
1837 * hw_htab.c (htab_map_page): Abort if a duplicate map is
1838 encountered.
1839
1840 Mon Dec 9 12:08:46 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1841
1842 * hw_htab.c (htab_map_page): Formatting.
1843
1844 * emul_chirp.c (emul_chirp_instruction_call): Check for a NULL
1845 method name when handling the client call. Also check for other
1846 bad call arguments.
1847
1848 * emul_chirp.c (emul_chirp_create): Allow real-mode?, real-base,
1849 etc to be overriden.
1850
1851 Mon Dec 9 12:08:46 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1852
1853 * os_emul.c (os_emul_create): Use tree find property instead of
1854 device find property - sigh.
1855
1856 Thu Dec 5 10:46:42 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1857
1858 * 961205: Release snapshot 961205.
1859
1860 Thu Dec 5 10:46:42 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1861
1862 * configure.in (hostbitsize, bitsize): Fix typo in error message -
1863 cannot contain a comma.
1864 (sim-warnings): Check for more potential errors.
1865
1866 * psim.c (psim_usage): Add -f <file> option. Specifies a file
1867 containing device tree specifications that should be merged into
1868 the device tree.
1869
1870 * configure.in: Sort options.
1871 * configure: Rebuild
1872
1873 Wed Dec 4 13:57:31 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1874
1875 * psim.c (psim_usage): Add -n option - specify number of
1876 processors.
1877
1878 * emul_chirp.c: Add description.
1879 * emul_bugapi.c: Ditto.
1880 * emul_unix.c: Ditto.
1881 * emul_netbsd.c: Ditto.
1882
1883 Fri Nov 29 11:12:22 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1884
1885 * hw_pal.c (hw_pal_attach_address): New function, if an attach is
1886 encountered, assume that it is the single disk.
1887 * hw_pal.c: Add generic device/size decode methods.
1888
1889 * hw_nvram.c (hw_nvram_init_address): Use the first nonzero reg
1890 property entry when determining the nvram size.
1891
1892 * hw_core.c: Add generic address/size decode methods.
1893
1894 * emul_chirp.c (emul_chirp_instruction_call): Return and trace
1895 nonzero status from client functions.
1896
1897 * main.c (error): Always include a cariage return when writing out
1898 errors.
1899
1900 Wed Nov 20 00:36:55 1996 Doug Evans <dje@canuck.cygnus.com>
1901
1902 * sim_calls.c (sim_resume): Reset sim_should_run if single
1903 stepping.
1904
1905 Thu Nov 28 13:19:46 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au>
1906
1907 * emul_bugapi.c (emul_bugapi_do_diskio): Add support for multiple
1908 optional disks.
1909
1910 * emul_generic.c (emul_add_tree_hardware): Drop the dummy eeprom.
1911 Attach the pal - for I/O - as a pseudo device haning from the
1912 firmware sub tree.
1913
1914 * emul_bugapi.c (emul_bugapi_create): Add a small memory device to
1915 the device tree at the address of the hi-mem interrupt vector
1916 addreses. Used by bugapi to establish its trap instructions.
1917
1918 * debug.h: Add a new macro DITRACE for tracing device instances.
1919
1920 * debug.h: Extend the DTRACE macro so that it can also tests for
1921 device specific tracint.
1922
1923 * device.h, device.c (device_trace): Add method to determine
1924 device specific tracing.
1925 (device_init_address): Set the devices tracing level.
1926
1927 Thu Nov 21 12:05:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
1928
1929 * tree.h, tree.c (tree_device): New files - separate out the
1930 device parser and other tree operations from the device.
1931
1932 * inline.h, inline.c (INLINE_TREE): Add.
1933 * device.h, device.c (device_tree_add_parsed): Delete.
1934 * Makefile.in (tree.c): Add rules for new file.
1935 * Makefile.in: Better order the emul_* files.
1936
1937 * emul_generic.c (emul_add_tree_hardware): Update.
1938 * emul_netbsd.c (emul_netbsd_create): Update.
1939 * emul_unix.c (emul_unix_create): Ditto.
1940 * emul_chirp.c (emul_chirp_create): Ditto.
1941 * emul_bugapi.c (emul_bugapi_create): Ditto.
1942 * psim.c (psim_tree): Ditto.
1943 * hw_init.c: Ditto.
1944
1945 * emul_generic.h: Include tree.h
1946 * Makefile.in: Add to EMUL_GENERIC_H dependencies.
1947
1948 * device.h, device.c (device_root): New function - returns the
1949 root of the tree.
1950 * corefile.c: Use.
1951
1952 * device.h, device.c (device_clean): New function, clean up device
1953 ready for next simulation run. This includes things like deleting
1954 interrupt edges and properties created during the simulation and
1955 also scrubbing any pre-defined properties.
1956 * tree.c (tree_init): Use.
1957
1958 * device.h, device.c (device_init_static_properties): New
1959 function. Initialize any static predefined properties. By static
1960 we mean those that have values that can be determined before the
1961 device tree initialization has started.
1962 * tree.c (tree_init): Use.
1963
1964 * device.h, device.c (device_init_address): Add code to
1965 check/verify the devices #address-cells and #size-cells.
1966 (device_add_integer_property): Delete corresponding code.
1967 (device_nr_address_cells, device_nr_data_cells): Check for
1968 property when returning value.
1969
1970 * device.h, device.c (device_init_runtime_properties): New
1971 function. Initialize those properties that are not `static'. At
1972 present the only such property is the ihandle.
1973 * tree.c (tree_init): Use.
1974
1975 * device.h, device.c (reg, ranges): Rework these so that they use
1976 an array of the fundamental type - single reg or single range
1977 entry.
1978
1979 * device.h, device.c (device_add_ihandle_runtime_property):
1980 Re-implement the adding of an ihandle during tree construction so
1981 that it better fits in with device initialization.
1982
1983 Thu Nov 21 12:05:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
1984
1985 * device.h, device.c (device_ioctl): Add additional argument -
1986 request - so that the caller must always specify the type of
1987 the ioctl request.
1988
1989 * device_table.h: Update.
1990 * hw_trace.c (hw_trace_ioctl): Ditto.
1991 * hw_vm.c (hw_vm_ioctl_callback): Ditto.
1992 * hw_init.c (hw_stack_ioctl_callback): Ditto.
1993 * psim.c (psim_options): Ditto.
1994
1995 Thu Nov 21 12:05:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
1996
1997 * BUGS: Updated a bit.
1998
1999 Wed Nov 20 14:06:37 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2000
2001 * hw_opic.c: Finish - third round.
2002
2003 Wed Nov 20 12:02:08 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2004
2005 * hw_glue.c (hw_glue_io_read_buffer_callback): Fix miscalc of glue
2006 reg index.
2007 (hw_glue_io_write_buffer_callback): Ditto.
2008
2009 Tue Nov 19 21:17:08 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2010
2011 * events.c (event_queue_process): Was incorrectly consuming future
2012 events on the queue when they should be left alone.
2013
2014 * debug.h, debug.c (events): Add support for event queue tracing.
2015 * events.c: Add event tracing.
2016
2017 * debug.h, debug.c: Order device trace options.
2018
2019 Fri Nov 15 15:23:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2020
2021 * pk_disklabel.c (pk_disklabel_create_instance): Fix up some
2022 warnings generated by GCC.
2023
2024 Sun Nov 17 17:59:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2025
2026 * sim-endian.h: Add LE versions of byte swap macros. Needed for
2027 PCI devices which are little-endian.
2028
2029 * sim-endian-n.h (endian_le2h_N, endian_h2le_N): Ditto
2030
2031 Sun Nov 17 17:59:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2032
2033 * hw_iobus.c (hw_iobus_attach_address_callback): Change the iobus
2034 so that it is implementing a 1-1 address map.
2035
2036 * emul_generic.c (emul_add_tree_hardware): Adjust.
2037
2038 * emul_generic.c (emul_add_tree_hardware): Don't add the nvram as
2039 a default.
2040
2041 Sun Nov 17 17:59:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2042
2043 * device.c (split_find_device): Be tolerant of missing unit
2044 addresses.
2045
2046 Fri Nov 15 16:49:49 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2047
2048 * basics.h (port_direction): New type, specify the direction of
2049 any `port'.
2050
2051 * device.h, device.c (device_interrupt_decode): Include
2052 specification of port direction in operations.
2053 (device_interrupt_encode): Ditto.
2054
2055 * device_table.h: Add a direction field to the interrupt port
2056 table.
2057
2058 * device.c (device_tree_add_parsed): Specify port direction.
2059
2060 Thu Nov 14 21:38:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2061
2062 * hw_opic.c: Finish - second round.
2063
2064 Thu Nov 7 00:18:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2065
2066 * hw_htab.c (htab_init_data_callback): Allow the virtual-address
2067 to be specified as an array which allows 64bit addresses.
2068
2069 * device.c (device_find_integer_array_property): New function.
2070 Simplify the querying of elements of an integer array.
2071 (device_add_integer_property, device_find_integer_property):
2072 Update to correctly use the cell type.
2073
2074 * vm.c (om_unpack_sr): Clarify shifting comment.
2075 (om_pte_0_masked_vsid): Ditto. Add 64bit version.
2076
2077 * emul_chirp.c (emul_chirp_create): Initialize the segment
2078 registers.
2079
2080 * vm.c (om_effective_to_virtual): Trace segment register use.
2081
2082 * hw_htab.c (htab_map_page): Print out the pteg base address to
2083 simplify cross checking between vm and the htab.
2084 (htab_decode_hash_table): Use device_error instead of error.
2085 (htab_map_page): Ditto.
2086 (htab_dma_binary): Ditto.
2087 (htab_map_binary): Ditto.
2088 (htab_init_data_callback): Ditto.
2089
2090 Wed Nov 6 20:20:58 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2091
2092 * interrupts.h: Clarify what the optional instruction program
2093 interrupt is - a subset of illegal instruction program interrupt.
2094
2095 * interrupts.c (program_interrupt): For UEA mode, clarify what an
2096 optional instruction program interrupt is.
2097 (program_interrupt): For OEA mode, as per spec, generate an
2098 illegal instruction program interrupt when an optional instruction
2099 is encountered.
2100
2101 * gen-semantics.c (print_semantic_body): Delete code
2102 differentiating between an unimplemented floating point and normal
2103 instruction. Instead, such a case can be handled explicitly.
2104
2105 * ppc-instructions (store floating-point as integer word indexed):
2106 Mark as optional.
2107 (Floating Convert to Integer Doubleword): Make the floating point
2108 assist interrupt explicit.
2109 (Floating Convert To Integer Doubleword with round towards Zero):
2110 Ditto.
2111 (Floating Convert To Integer Word): Ditto
2112 (Move From FPSCR): Ditto.
2113 (Move to Condition Register from FPSCR): Ditto.
2114 (Move To FPSCR Fields): Ditto.
2115 (Move To FPSCR Field Immediate): Ditto.
2116 (Move To FPSCR Bit 0): Ditto.
2117 (Move To FPSCR Bit 1): Ditto.
2118
2119 Mon Nov 4 12:49:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2120
2121 * corefile.c (core_map_read_buffer, core_map_write_buffer): Avoid
2122 breaking up transfers.
2123
2124 * corefile.c: Adjust arguments so that the client server
2125 relationship is clarified.
2126
2127 * hw_glue.c (hw_glue_init_address): Update so it can be attached
2128 to a PCI bus.
2129
2130 * hw_disk.c (hw_disk_instance_write): Add more checks to disk IO -
2131 looking for things like overflow/underflow.
2132
2133 Sun Nov 3 18:45:20 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2134
2135 * emul_generic.c (emul_add_tree_hardware): Hang the disk off the
2136 PAL device instead of the IOBUS. The disk must be attached to a
2137 logical bus.
2138
2139 * hw_disk.c (hw_disk_init_address): Just use the unit address
2140 directly in the attach - the rest isn't relevant.
2141
2142 Sat Nov 2 21:48:57 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2143
2144 * configure.in (sim-hardware, sim-packages): Allow additional
2145 hardware and packages to be prefixed as well as appended.
2146
2147 * Makefile.in (tmp-hw, tmp-pk): Retain the user specified order of
2148 packages when building them. Consequently, a user can override a
2149 standard device by prefixing their own version.
2150
2151 * Makefile.in (hw_opic.o, hw_pci.o, hw_ide.o): Add dependencies.
2152
2153 Fri Nov 1 14:42:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2154
2155 * mon.c (_cpu_mon): Add fields for counting 1, 2, 4, and 8 byte
2156 reads and writes.
2157 (mon_{read,write}): Count 1, 2, 4, and 8 byte reads/writes.
2158 (mon_print_info): Correct typo regarding # of unaligned reads and
2159 writes. Print out how many 1, 2, 4, and 8 byte reads/writes there
2160 are.
2161
2162 Tue Oct 29 17:55:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2163
2164 * configure.in (AC_CHECK_FUNCS): Add access.
2165 * config{.in,ure}: Regenerate.
2166
2167 * emul_unix.c (do_unix_nop): System call that always succeeds.
2168 (do_unix_access): Support access system call.
2169 (solaris_descriptors): Make sigaltstack and sigaction nops.
2170 ({solaris,linux}_descriptors): Add support for access.
2171
2172 Tue, 8 Oct 18:42:26 1996 Jason Molenda <crash@cygnus.co.jp>
2173
2174 * Makefile.in (clean): Move config.log to distclean.
2175
2176 Fri Nov 1 16:44:28 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2177
2178 * corefile-n.h (core_map_write_N): Improve abort messages.
2179
2180 * device.h, device.c (device_attach_address): Remove unused name
2181 parameter.
2182 (device_detach_address): Ditto.
2183 * device_table.h, device_table.c: Update.
2184 * hw_iobus.c (hw_iobus_attach_address_callback): Ditto.
2185 * hw_nvram.c (hw_nvram_init_address): Ditto.
2186 * hw_memory.c (hw_memory_init_address): Ditto.
2187 * hw_vm.c (hw_vm_init_address_callback): Ditto.
2188 (hw_vm_attach_address): Ditto.
2189 (hw_vm_add_space): Ditto.
2190 * hw_init.c (update_for_binary_section): Ditto.
2191 * hw_core.c (hw_core_attach_address_callback): Ditto.
2192
2193 * hw_iobus.c (hw_iobus_attach_address_callback): Rewrite to handle
2194 configurable parent busses.
2195
2196 Wed Oct 30 18:46:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2197
2198 * device_table.c (generic_device_size_to_attach_size): Provide
2199 limited support for multi-cell sizes.
2200 (generic_device_address_to_attach_address): Ditto for addresses.
2201
2202 Tue Oct 29 02:01:29 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2203
2204 * device.c (device_add_integer_property): Check for setting of
2205 #address-cells and #size-cells properties. For these, update the
2206 corresponding device values.
2207 (device_nr_address_cells, device_nr_size_cells): Use the value
2208 from the device instead of the property.
2209
2210 * hw_core.c: Use generic address and size conversions for the top
2211 bus.
2212
2213 * hw_memory.c (hw_memory_init_address): Tolerate case where
2214 #address and #size cells is greater than 1.
2215
2216 * device.c (device_tree_print_device): Clean out printing of
2217 properties.
2218
2219 * device.c (split_device_specifier): Don't detect comments here -
2220 "#" can be a valid prefix - eg #size-cells.
2221
2222 * psim.c (psim_merge_device_file): Suppress comments and blank
2223 lines here.
2224
2225 * emul_generic.c (emul_add_tree_hardware): Fix typo of incorrect
2226 pal unit address. Add the property /#address-cells to the root of
2227 the tree.
2228
2229 * device.c (device_template_create_device): Check that the unit
2230 address was successfully parsed.
2231
2232 * device_table.c (generic_device_unit_decode): Rewrite to better
2233 handle multi-cell addresses.
2234 (generic_device_unit_encode): Ditto.
2235
2236 * emul_generic.c (emul_add_tree_hardware): "reg" properties no
2237 longer need the explicit array type - the parser takes care of it.
2238
2239 * pk_disklabel.c (pk_disklabel_create_instance): Add NULL return
2240 to keep GCC happy.
2241
2242 Mon Oct 28 22:55:48 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2243
2244 * hw_ide.c: New file. Model of a basic IDE interface attached to
2245 a PCI bus.
2246
2247 * configure.in (hardware): Add the ide device to the default
2248 configuration.
2249 * configure: Regenerate.
2250
2251 * debug.h, debug.c: Add tracing option for the IDE device.
2252
2253 Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2254
2255 * hw_phb.c, hw_phb.h: New files - implement a PHB.
2256
2257 * configure.in (hardware): Add the phb to the list of devices to
2258 build by default.
2259
2260 Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2261
2262 * hw_com.c: Review description.
2263 * hw_disk.c: Ditto.
2264 * hw_htab.c: Ditto.
2265 * hw_eeprom.c: Ditto.
2266 * hw_init.c: Ditto.
2267 * hw_cpu.c: Ditto.
2268
2269 * hw_com.c: Update event handling.
2270
2271 * hw_disk.c: Implement tracing.
2272
2273 Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2274
2275 * device_table.c (generic_device_init_address): Use
2276 assigned-addresses property in preference to any other reg
2277 property.
2278
2279 Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2280
2281 * device.h, device.c (device_find_ranges_property): New function.
2282 Simplify the manipulation of "ranges" properties.
2283
2284 * device.c (device_add_parsed): Extend to include support for the
2285 ranges property.
2286
2287 * device.c (device_add_parsed): Add assigned-addresses to the list
2288 of reg type properties.
2289
2290 * device.c (device_tree_print_device): Add code to format and
2291 print a ranges property.
2292
2293 * device.h, device.c (device_nr_address_cells,
2294 device_nr_size_cells): New functions. Determine the values of the
2295 standard properties #address-cells and #size-cells. Both of which
2296 are optional and have default values of two and one respectfuly.
2297 Previously, code that determined #address-cells was incorrectly
2298 using a value of one.
2299
2300 Fri Oct 25 21:28:25 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2301
2302 * debug.h, debug.c: Sort debug options, Add entries for the
2303 comming PHB device.
2304
2305 Fri Oct 18 12:12:21 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2306
2307 * ppc-instructions (Floating Select): Add support for fsel unless
2308 model is 601. Allow user to filter out instruction unless -Fs is
2309 passed to igen.
2310 (Store Floating-Point as Integer Word Indexed): Raise optional
2311 instruction program abort. Allow user to filter out instruction
2312 unless -Fs is passed to igen.
2313 (Floating Square Root{, Single}): Ditto.
2314 (Floating Reciprocal Estimate Single): Ditto.
2315 (Floating Reciprocal Square Root Estimate): Ditto.
2316
2317 * configure.in (--enable-sim-filter): If not passed, pass 32,f,s
2318 to igen.
2319 * configure: Regenerate.
2320
2321 * interrupts.h (program_interrupt_reasons): Add
2322 optional_instruction_program_interrupt.
2323
2324 * interrupts.c (program_interrupt): Call error with more detailed
2325 information on program interrupts, particularly in user mode. Add
2326 support for optional_instruction_program_interrupt.
2327
2328 Wed Sep 25 10:20:29 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2329
2330 * hw_glue.c: New device. Hooks for manipulating interrupt ports.
2331
2332 * debug.h, debug.c (trace_glue_device): Add tracing support for
2333 the interrupt glue logic device.
2334
2335 * configure.in (hardware): Add glue device.
2336 * configure: Regenerate.
2337
2338 Tue Sep 24 20:55:38 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2339
2340 * device.c (device_tree_parse_integer_property): New function,
2341 parse a list of integers as an array property.
2342 (device_tree_add_parsed): Call it.
2343
2344 * device.c (device_tree_parse_string_property): New function,
2345 parse a list of strings as a string property (with embeded
2346 null's). For moment, don't try to implement a complext string
2347 parser.
2348 (device_tree_add_parsed): Call it.
2349
2350 Tue Sep 24 16:30:48 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2351
2352 * hw_opic.c: New file. OpenPIC interrupt controller.
2353
2354 * configure.in (hardware): Add opic device.
2355 * configure: re-generate.
2356
2357 * hw_pic.c: Delete, replaced with hw_opic.c.
2358
2359 * debug.h, debug.c: Add debug option for OpenPIC device. -
2360 opic-device.
2361
2362 Tue Sep 24 16:30:48 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2363
2364 * Makefile.in (psim.o, idecode.o): Since idecode and not psim is
2365 now the file that does all the inlining.
2366
2367 * Makefile.in (LIB_SRC, LIB_INLINE_SRC, idecode.o): Break out the
2368 library source code that could be involved in an inlining. Make
2369 idecode.o only dependant on the inlined library source code.
2370
2371 * Makefile.in (LIB_OBJ): Put options last on the list so that it
2372 is compiled last.
2373
2374 * std-config.h (DEVICE_INLINE): Only inline locals when the
2375 default is to inline.
2376
2377 Mon Sep 23 00:37:49 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2378
2379 * hw_htab.c (htab_sum_binary): Determine the real-base for the
2380 binary.
2381
2382 * hw_htab.c (htab_map_binary): Depending on the value of the
2383 load-base, either map the program in as a contiguous section or as
2384 separate sections controled by th binaries lma values.
2385 (htab_init_data_callback): Ditto.
2386
2387 Sun Sep 22 15:56:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2388
2389 * emul_generic.c (emul_add_tree_options): Remove load-base option.
2390
2391 * emul_chirp.c (map_over_chirp_note): Add load_base field to note
2392 struct. Don't require the load_base field to be present - just
2393 issue warning - it is a recent addition.
2394 (emul_chirp_create): Support both virtual and physical modes.
2395
2396 * emul_chirp.c (emul_chirp_create): Add a stack initialization
2397 property so that any arguments specified on the command line can
2398 be passed on to user programs.
2399
2400 * hw_init.c (create_ppc_chirp_bootargs): Add support for chirp
2401 argument passing to the pseudo device stack.
2402
2403 Sat Sep 21 19:39:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2404
2405 * device.c (device_error): Make it more tolerant to incomplete
2406 devices.
2407
2408 * hw_init.c (hw_data_init_data_callback): Extend the data device
2409 so that it can perform initialization operations either dma or a
2410 more complex instance open, seek, write operation.
2411 * hw_init.c: Update the description of the data device to reflect
2412 this.
2413
2414 Sat Sep 21 00:13:02 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2415
2416 * device.c (device_event_queue_schedule,
2417 device_event_queue_deschedule, device_event_queue_time): Have the
2418 device object export the event operations. Making these available
2419 from the device object should hopefully simplify writing device
2420 models.
2421
2422 Fri Sep 20 14:04:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2423
2424 * configure.in (sim-hardware): Add eeprom device to default build.
2425
2426 * hw_eeprom.c: Rewrite so it works.
2427
2428 * debug.h, debug.c: Add tracing support for the eeprom and com
2429 devices.
2430
2431 Thu Sep 19 14:40:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2432
2433 * debug.h: Add disklabel-package and disk-device trace options.
2434 debug.h (PTRACE): Add macro to simplify tracing in packages.
2435
2436 Thu Sep 19 14:40:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2437
2438 * device.c (device_create_instance_from): Tighten up loop
2439 searching for device instances.
2440 (device_instance_delete): Ditto.
2441 (device_instance_delete): Only leaf instances need to be removed
2442 from a devices list of active instances.
2443
2444 Thu Sep 19 14:40:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2445
2446 * hw_disk.c: Add the cdrom as an alias.
2447
2448 * pk_disklabel.c (disklabel_delete): Implement, remembering to
2449 delete the raw disk instance while we're at it.
2450
2451 * pk_disklabel.c (pk_disklabel_create_instance): Implement a
2452 little bit more - still a long way to go.
2453
2454 * pk_disklabel.c (disklabel_write, disklabel_read): Remember the
2455 new head position after a read or write.
2456
2457 Thu Sep 19 13:05:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2458
2459 * emul_chirp.c (chirp_emul_read): Allow reads to be longer then
2460 the internal buffer.
2461
2462 Thu Sep 19 13:05:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2463
2464 * emul_chirp.c (chirp_read_t2h_args): Call memset-0 with the args
2465 in the correct order.
2466
2467 * emul_chirp.c (chirp_emul_call_method): Correct computation for
2468 the address of the first stack argument passed in from the client
2469 program.
2470
2471 Wed Sep 18 19:33:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2472
2473 * words.h: Add new types signed_cell and unsigned_cell which
2474 correspond to the signed and unsigned IEEE 1275 memory locations.
2475 * device.h, device.c, emul_chirp.c: Where refering to an IEEE 1275
2476 memory cell, replace uses of unsigned32 with unsigned_cell.
2477 * device_table.h: Ditto.
2478
2479 * sim-endian.h: Add new macros H2BE_cell and BE2H_cell which
2480 convert cell sized values to from big endian.
2481 * device.c, emul_chirp.c: Where refering to IEEE 1275 memory cells
2482 use these new macros.
2483
2484 Tue Sep 17 15:57:44 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2485
2486 * device.c (device_tree_add_parsed): Detect and report an
2487 interrupt being attached to an invalid device. Was dumping core.
2488
2489 Mon Sep 16 23:09:12 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2490
2491 * device.h, device.c (device_address_to_attach_address,
2492 device_size_to_attach_size): New functions. Convert a devices
2493 unit address or unit size structure into a form suitable for
2494 passing on to the attach and detach functions.
2495 * device_table.h: Add extra methods to device table.
2496
2497 * device.h, device.c (device_find_reg_property): New function.
2498 For a reg type property, return the selected address + size
2499 tupple, along with a positive success status. Add a reg_property
2500 to the list of property types.
2501 * (device_tree_add_parsed): Make array properties with the name
2502 reg or alternate-reg of type reg_property.
2503
2504 * hw_memory.c (hw_memory_init_address): Rewrite to use new
2505 find_reg_property method.
2506 * hw_nvram.c (hw_nvram_init_address): Ditto.
2507
2508 * device.c (device_tree_print_device): Add code to print out a reg
2509 property.
2510
2511 * device_table.c (generic_device_address_to_attach_address,
2512 generic_device_size_to_attach_size ): New functions. Generic
2513 functions for converting between unit and attach address or size.
2514
2515 * device_table.c (generic_device_init_address): Rewrite to use the
2516 new find_reg and address convert functions. Look for both reg and
2517 alternate-reg properties.
2518
2519 Mon Sep 16 23:09:12 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2520
2521 * hw_com.c: New file. A '550 serial device that can quickly be
2522 attached to any bus.
2523 * configure.in (enable-sim-hardware): Add the com device.
2524 * configure: re-generate.
2525
2526 Thu Sep 12 17:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2527
2528 * device.c (device_tree_verify_reg_unit_address): New
2529 function. Check that the unit address as specified by the reg
2530 property correctly corresponds to any unit address previously
2531 specified by the devices name.
2532 (device_tree_add_parsed): When adding a reg property, verify
2533 that the unit-address - first value of property - correctly
2534 matches any previous value specified when creating the device
2535 node.
2536
2537 Thu Sep 12 17:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2538
2539 * mon.c (mon_event): Remove assertion that an unsigned is >= 0.
2540
2541 Fri Aug 16 12:05:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2542
2543 * device.c (device_full_name): Cast strdup to char *, since AIX
2544 3.2.5 mistakenly declares the function to be const char *.
2545 (device_create_from): Ditto.
2546 (device_create_instance_from): Ditto.
2547 (device_add_property): Ditto.
2548
2549 Tue Aug 13 11:40:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2550
2551 * debug.c (trace_option): For -t all, do not set the
2552 trace_dump_device_tree flag, so that the simulator is run.
2553
2554 Tue Aug 13 11:40:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2555
2556 * Makefile.in (options.o): Depend on defines.h.
2557 (defines.h): New rule, go through config.h and make strings of all
2558 of the #define HAVE_xxx macros.
2559 (distclean): Remove defines.h.
2560
2561 * options.c (print_options): Print whether many of the
2562 configuration macros are defined.
2563
2564 * main.c (main): If -t options and no filename, just print the
2565 options, and don't print the usage message.
2566
2567 Mon Aug 12 18:42:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2568
2569 * configure.in: Test whether /dev/zero works on the system, and if
2570 it does, define HAVE_DEVZERO.
2571 * configure: Regenerate.
2572
2573 * emul_generic.c (emul_add_tree_hardware): Do not add /iobus/disk
2574 if we don't have a working /dev/zero on the system.
2575
2576 * emul_bugapi.c (emul_bugapi_init): If HAVE_DEVZERO is not
2577 defined, don't add disk support.
2578 (emul_bugapi_do_diskio): Ditto.
2579 (emul_bugapi_instruction_call): Ditto.
2580
2581 Wed Aug 7 14:34:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2582
2583 * emul_unix.c (HAVE_TCGETATTR): If HAVE_TERMIOS_STRUCTURE is not
2584 defined, make sure HAVE_TCGETATTR is #undef'ed
2585
2586 Wed Aug 7 14:34:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2587
2588 * std-config.h (REGPARM): Only define REGPARM attributes if using
2589 GNU C. Test for __i686__ in case GCC ever defines it. If not on
2590 a x86 platform, define REGPARM as nothing.
2591
2592 * sim-endian.h (WITH_HOST_BYTE_ORDER): Test for i686 and __i686__
2593 also.
2594
2595 Wed Aug 7 20:19:55 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2596
2597 * ld-decode.h, ld-decode.c: Rename goto_gen to the more correct
2598 goto_switch_gen.
2599 * gen-idecode.c: Ditto.
2600
2601 * gen-idecode.c (print_idecode_table): Comment out check for
2602 switch/table combination until a bug with it is fixed.
2603
2604 * ppc-opcode-goto: New file. Like complex and flat but uses
2605 goto-switch instead of padded-switch for the tables.
2606
2607 * gen-idecode.c (print_goto_switch_name): New function.
2608 (print_goto_switch_table_leaf): New function.
2609 (print_goto_switch_break): New function.
2610 (print_goto_switch_table): New function. Prints a jump table
2611 that can be jumped into instead of a switch statement.
2612
2613 * gen-idecode.c (*switch_*): As an option output a switch that is
2614 implemented using a jump table but only if the switch is not
2615 boolean.
2616
2617 Tue Aug 6 09:28:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2618
2619 * configure.in (--enable-sim-{hardware,packages}): Fix typos.
2620 * configure: Regenerate.
2621
2622 * device.c (device_instance_call_method): Fixup format message in
2623 error case. Return 0 in case of error to shut up compiler
2624 warnings.
2625
2626 Wed Aug 7 00:17:37 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2627
2628 * device_table.c (generic_device_unit_decode): Require a comma
2629 between elements of a unit address.
2630
2631 * device.c (device_tree_print_device): For reg, alternate-reg and
2632 ranges properties use special print functions.
2633 (device_print_ranges_property): Print formatted ranges property.
2634 (device_print_reg_property): Print formatted reg property.
2635
2636 Tue Aug 6 21:35:18 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2637
2638 * device.c (device_tree_add_parsed): For reg, ranges and
2639 alternate-reg properties use a special parser.
2640 (device_tree_parse_reg_property): New function to parse a reg
2641 property.
2642 (device_tree_parse_ranges_property): New function to parse a
2643 ranges property.
2644 (device_encode_unit): Wrapper for encode_unit callback.
2645 (device_decoce_unit): Wrapper for decode_unit callback.
2646
2647 Wed Jul 31 00:02:30 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2648
2649 * device_table.h (device_instance_callbacks): Relace the claim and
2650 release methods with a more general table mapping from method-name
2651 to method-function.
2652
2653 * device.c (device_instance_call_method): New function. Implement
2654 the OpenBoot call-method client interface. Attempts to locate the
2655 instances method in the callback table.
2656 (device_instance_claim, device_instance_release): Delete.
2657 Replaced with call-method and a lookup table.
2658
2659 * emul_chirp.c (chirp_emul_call_method): Use the new device
2660 instance call method and let that handle a client claim call.
2661
2662 * hw_htab.c (claim_memory): Wrapper function to call the memory
2663 devices "claim" method using the new device-instance call-method
2664 interface. Replaces the previous direct calls to claim.
2665 (htab_map_region): Use claim_memory.
2666 (htab_init_data_callback): Ditto.
2667
2668 * hw_memory.c (hw_memory_instance_claim): Update function
2669 interface so that it is compatible with call-method.
2670 (hw_memory_instance_release): Ditto.
2671 (hw_memory_instance_methods): New table of memory specific
2672 methods claim and release. Add to the hw_memory_callback
2673 table.
2674
2675 Tue Jul 30 21:26:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2676
2677 * psim.c (psim_init): Back out of change to initial value of
2678 system->last_cpu.
2679
2680 Tue Jul 30 21:12:24 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2681
2682 * sim_callbacks.h (sim_io_printf_filtered): Replace
2683 printf_filtered with a local simulator specific version. Add
2684 #define printf_filtered to simplify updating of existing code.
2685
2686 * sim_callbacks.h (sim_io_write_stdout, sim_io_read_stdin,
2687 sim_io_write_stderr): New functions. Read / write to the
2688 simulations stdin and stdout and stderr interfaces. Merge in code
2689 from hw_pal that previously handled async I/O.
2690 (sim_io_flush_stdoutput): Rename flush_stdoutput. Add #define
2691 flush_stdoutput to simplify updating of existing code.
2692
2693 * hw_pal.c (scan_hw_pal, write_hw_pal,
2694 hw_pal_instance_write_callback): Use the new sim_io functions.
2695
2696 * main.c: Implement standalone versions of the new sim_io
2697 functions. Include support for async I/O.
2698 * sim_calls.c: Ditto. This time using the gdb callback table.
2699
2700 * std-config.h (CURRENT_STDIO, current_stdio): New macro. Set up
2701 stdio configuration so that it works in the same way as the rest
2702 of the simulation.
2703 * psim.c (psim_create): Initialize current_stdio from the device
2704 tree.
2705 * emul_generic.c (emul_add_tree_options): Enter a default value
2706 for use-stdio in the device tree.
2707
2708 Fri Jul 26 19:43:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2709
2710 * gen-idecode.c (print_jump): Was always generating a jump back to
2711 idecode. Only necessary at tail of semantic code.
2712 (print_jump): Was always setting the processor's cia, even during
2713 startup when the processor was still undefined.
2714 (print_jump): For safety, restart smp loop when cpu_nr >= nr_cpus,
2715 not just equal.
2716
2717 * options.c (print_options): Add printing of WITH_REGPARM and
2718 WITH_STDCALL.
2719
2720 * std-config.h (WITH_REGPARM, WITH_STDCALL): Provide default
2721 (disabled) values if not defined.
2722
2723 Fri Jul 26 00:36:35 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2724
2725 * ppc-cache-rules (cache): Change RS and RB to cache instead of
2726 compute. The block move instructions use them.
2727
2728 * idecode_expression.h (FPSCR_SET): New macro, set specific FPSCR
2729 register.
2730 (CR_FIELD): New macro, extract specific CR register.
2731 (FPSCR_FIELD): New macro, extract specific FPSCR register.
2732
2733 * registers.h (GPR): New macro, simplify accesses to GPR[i].
2734
2735 * bits.c (INSERTED): Covert INSERTED macro into a function.
2736 (EXTRACTED): Conditionally compile on correct bit size macro.
2737
2738 * bits.h (BIT8): New macro, set a single bit in an 8 bit byte.
2739
2740 * ppc-instructions: With hints from Paul Martin, type in missing
2741 some instruction semantics. Leave disabled for the moment.
2742 (Load Multiple Word): Ditto.
2743 (Store Multiple Word): Ditto.
2744 (Load String Word Immediate): Ditto.
2745 (Load String Word Indexed): Ditto.
2746 (Store String Word Immedate): Ditto.
2747 (Store String Word Indexed): Ditto.
2748 (Move to Condition Register from XER): Ditto.
2749 (Move From Condition Register): Ditto.
2750 (Move From FPSCR): Ditto.
2751 (Move to Condition Register from FPSCR): Ditto.
2752 (Move To FPSCR Field Immediate): Ditto.
2753 (Move To FPSCR Fields): Ditto.
2754 (Move To FPSCR Bit 0): Ditto.
2755 (Move To FPSCR Bit 1): Ditto.
2756
2757 Thu Jul 25 22:10:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2758
2759 * std-config.h (SEMANTICS_INLINE): By default, mask out the
2760 inlining of semantic functions from DEFAULT_INLINE. Almost all
2761 configurations call the semantic code via a pointer so there is
2762 little benefit.
2763
2764 * std-config.h (ICACHE_INLINE): Ditto.
2765
2766 Thu Jul 25 20:07:30 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2767
2768 * configure.in (sim_regparm): Add configuration option for
2769 enabling GCC's regparm attribute.
2770 * (sim_stdcall): Add configuration option for enabling GCC's
2771 stdcall attribute.
2772
2773 * Makefile.in (REGPARM_CFLAGS): Pass regparam configuration onto
2774 compilations.
2775 * (STDCALL_CFLAGS): Pass stdcall configuration onto compilations.
2776
2777 * std-config.h (REGPARM): Extend construction of REGPARM macro so
2778 that it can include __stdcall__ function attribute.
2779
2780 Wed Jul 24 19:04:20 1996 Andrew Cagney <cagney@sawnoff>
2781
2782 * options.c (print_options): Include SUPPORT_INLINE in information
2783 dump.
2784
2785 * gen-idecode.c (print_run_until_stop_body): Only generate loop
2786 termination test if creating idecode_run_until_stop. Push the
2787 loop termination test back into each alternative branch.
2788
2789 Wed Jul 24 15:47:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2790
2791 * gen-icache.c (print_icache_function): Have the cache function
2792 always update the cache_entries semantic and address fields.
2793
2794 * gen-idecode.c (print_idecode_switch_illegal): Include a break
2795 when generating illegal instructions. This was commented out
2796 which is a hangover from looking a at switch statements generated
2797 using indirect jumps.
2798
2799 Tue Jul 23 20:57:01 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2800
2801 * igen.c (print_my_defines): Replaces print_define_my_index.
2802 Print both a definition for MY_INDEX and MY_PREFIX.
2803 * gen-icache.c (print_icache_function): Adjust.
2804 * gen-idecode.c (print_jump_insn): Adjust.
2805 * gen-semantics.c (print_c_semantic): Adjust.
2806
2807 * gen-support.c (gen_support_h): Add optional include to created
2808 support.h so that, like cpu, it is optionally inlined for all
2809 modules that include it.
2810 * inline.h, inline.c: Adjust so that support.[hc] is handled the
2811 same as cpu.[hc].
2812
2813 * idecode_fields.h (LABEL, GOTO): Macro's that create a unique
2814 name for a lable and then branch to it.
2815
2816 * ppc-instructions (convert_to_integer, Floating Round to
2817 Single-Precision, Floating Convert from Integer Doubleword): Use
2818 LABEL and GOTO instead of the recently added switch statements.
2819
2820 Wed Jul 24 14:02:42 1996 Andrew Cagney <cagney@sawnoff.highland.com.au>
2821
2822 * gen-idecode.c (print_run_until_stop_body): Too many rparen in
2823 generated code.
2824
2825 Tue Jul 23 20:57:01 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2826
2827 * configure.in (--enable-sim-line-nr): Typo - sim_line-nr.
2828 * (--enable-sim-inline): Reorder patern matching of arguments so
2829 that SUPPORT=ALL_INLINE is reconized as *=* and not *_INLINE.
2830
2831 * configure: rebuild.
2832
2833 Mon Jul 22 23:25:08 1996 Andrew Cagney <cagney@highland.com.au>
2834
2835 * configure.in (--enable-sim-hardware, --enable-sim-packages): New
2836 configuration options. Let the user specify the packages or
2837 hardware devices that are to be included in the build. Makes it
2838 possible for user packages to be specified.
2839
2840 * Makefile.in (tmp-pk, tmp-hw): Just use the list of packages and
2841 hardware instead of checking it using ls. configure.in should
2842 have taken care of any problems.
2843 (HW_SRC, HW_OBJ, PACKAGE_SRC, PACKAGE_OBJ): Set by configure.
2844
2845 Mon Jul 22 22:38:59 1996 Andrew Cagney <cagney@highland.com.au>
2846
2847 * psim.c (psim_options): Enter the argument to the memory size
2848 option directly into the device tree. Was using atol() which is
2849 dangerously non portable.
2850
2851 Mon Jul 22 22:17:08 1996 Andrew Cagney <cagney@highland.com.au>
2852
2853 * configure.in (icache): Extend icache flag to include an insn
2854 option. If specifyed the insn - aka instruction - is included in
2855 the instruction cache. Make this the default.
2856 * configure: re-generate.
2857
2858 * igen.c (main), igen.h: Add option -S - inSn - for specifying
2859 that the instruction should be included in the icache.
2860
2861 * gen-icache.c (print_icache_body): If enabled, output code to put
2862 the instruction into the icache.
2863 (print_icache_struct): If enabled, add insn to the icache struct.
2864
2865 Mon Jul 22 20:46:12 1996 Andrew Cagney <cagney@highland.com.au>
2866
2867 * Makefile.in (BUILD_CFLAGS): Include -g when building the
2868 generators.
2869
2870 Mon Jul 22 20:00:25 1996 Andrew Cagney <cagney@highland.com.au>
2871
2872 * emul_generic.c (emul_add_tree_options): Was incorrectly setting
2873 the strict-alignment option when hardwired for non-strict
2874 alignment.
2875
2876 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2877
2878 * gen-semantics.c: Make the my_index variable a macro MY_INDEX.
2879
2880 * ppc-instructions: Adjust so that references are to MY_INDEX and
2881 not my_index.
2882
2883 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2884
2885 * gen-idecode.c: Output the complete run_until_stop function
2886 instead of just the code to handle a single instruction issue.
2887 * : Have the generated idecode.c include inline.c (instead of psim.c).
2888
2889 * std-config.h: Change psim.c so that it isn't inlined (as this is
2890 no longer needed).
2891
2892 * psim.c (run_until_stop): Delete the old run_until_stop function
2893 instead calling the idecode_run and idecode_run_until_stop
2894 functions that gen-idecode.c is now creating.
2895
2896 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2897
2898 * dgen.c: Maintenance - update to use new features found in lf.c.
2899
2900 * filter_filename.c (filter_filename): Maintenance - make the
2901 string constant.
2902
2903 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2904
2905 * debug.c (TRACE, ITRACE, DTRACE): Have GCC instead of CPP
2906 eliminate trace statements.
2907
2908 * debug.c: Change trace format so that it is consistent
2909 (file:line-nr) with CC's error output.
2910
2911 * gen-itable.c (itable_c_insn): Add the source file name and
2912 source line number to the instruction's informational entry.
2913
2914 * debug.c (ITRACE): Use the itable (and my_index) to get the
2915 current instructions name and source line number.
2916
2917 * gen-semantics.c, gen-icache.c: Adjust generated ITRACE calls to
2918 match new interface.
2919
2920 * emul_bugapi.c (emul_bugapi_instruction_call): Adjust
2921 corresponding call to ITRACE so that it still matches.
2922
2923 * idecode_expression.h (ALU_END, CR0_COMPARE): Use TRACE instead
2924 of ITRACE. The CPP line directives would have previously set the
2925 line-nr and file name so ITRACE isn't needed.
2926
2927 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2928
2929 * gen-idecode.c (print_jump_until_stop_body): New function and
2930 idecode generation option. Instead of generating and calling
2931 separate functions containing the semantic and icache code
2932 generate a single monolythic function and use goto's (and GCC's
2933 indirect jump) to move between code blocks.
2934
2935 * Makefile.in: Add sim_jump flag to those passed to igen.
2936
2937 * configure.in: New option --enable-sim-jump (default disabled)
2938
2939 * ppc-instructions: Eliminate any uses of labels and goto's.
2940 These result in duplicate declarations when a single flat function
2941 is being create.
2942
2943 * ppc-opcode-jump: New file. Set of opcode rules useful when
2944 testing jumping idecodes.
2945
2946 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2947
2948 * gen-idecode.c: Optionally include the semantic code for an
2949 instruction in the function that is doing the decoding.
2950
2951 * igen.c: Add option (-C) to generate semantics in the instruction
2952 decode functions.
2953
2954 * configure.in (--enable-sim-icache): Accept an option list such
2955 as 1024,define. Add a new choice to the list - semantic - which
2956 will cause igen to generate instruction decode functions that
2957 include the corresponding semantic code.
2958
2959 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2960
2961 * configure.in: New option --enable-sim-line-nr (default enabled).
2962 Enable/disable the inclusion of CPP line directives in the
2963 generated files. Such directives refer back to the source files
2964 used when generating the simulator code.
2965
2966 * Makefile.in (sim_line_nr): Pass to igen.
2967
2968 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2969
2970 * igen.c (main): Revamp the options so that more letters are
2971 available.
2972
2973 * configure.in: Adjust to match igen's revamped options
2974
2975 Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2976
2977 * Makefile.in (pk.h, hw.h): Rewrite depenencies for hw.h (etc) so
2978 that they use the same technique as igen (ie a dummy targets
2979 tmp-pk and tmp-hw are created).
2980
2981 Mon Jun 24 22:28:00 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2982
2983 * Makefile.in (BUILD_CFLAGS): Include WARNING_CFLAGS.
2984
2985 Wed Jun 19 21:45:28 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
2986
2987 * ld-cache.[hc], ld-decode.[hc], ld-insn.[hc]: New files. Separate
2988 out the loading of each of the tables from the rest of igen.
2989 * Makefile.in: Adjust.
2990 * igen.c: Adjust.
2991
2992 * gen-icache.[hc], gen-idecode.[hc], gen-itable.[hc],
2993 gen-model.[hc], gen-semantics.[hc]: New files. Separate out the
2994 code creating each separate set of generated files.
2995 * Makefile.in: Adjust.
2996 * igen.c: Adjust.
2997
2998 * gen-support.[ch]: New files. Output the support functions (found
2999 in the ppc-instructions file) into a separate file.
3000 * Makefile.in: Add.
3001 * inline.h, inline.c: Add.
3002 * std-config.h: Add.
3003
3004 * ld-cache.c: Re-design the cache table format.
3005 * ppc-cache-rules: Update to new format.
3006
3007 * ld-decode.c: Re-design the decode table format.
3008 * ppc-opcode-simple: Update to new format
3009 * ppc-opcode-complex: Ditto
3010 * ppc-opcode-flat: Ditto
3011
3012 * filter.h, filter.c: New files. Separate the opcode filter table
3013 reading code from the rest of igen.c. Re-design the filter so that
3014 it works inclusivly not exclusivly.
3015 * igen.c: Remove the opcode filter table loading code.
3016 * Makefile.in (filter.o): Adjust
3017 * configure.in: Adjust filter flag so that default includes 32bit
3018 and floating point.
3019 * ppc-instructions: Clean up filter fields so that only in use
3020 entries are specified (ie delete `be').
3021
3022 * misc.c (name2i, i2name): New function. Map between a string and
3023 an integer value.
3024
3025 Mon Jun 17 20:08:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3026
3027 * sim_calls.c (sim_close): If simulator not created, skip printing
3028 of run information.
3029
3030 Mon Jun 17 20:08:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3031
3032 * registers.c (register_description): Typo, insns not insn.
3033
3034 * ppc-instructions (model_get_number_of_stalls): New model function,
3035 returns number of stalls for the specified processor.
3036 * psim.c (psim_read_register): Add call to new function
3037 model_get_number_of_stalls().
3038
3039 * ppc-instructions (model_get_number_of_cycles): New model function,
3040 returns number of stalls for the specified processor.
3041 * psim.c (psim_read_register): Add call to new function
3042 model_get_number_of_cycles().
3043
3044 Fri Jun 14 00:11:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3045
3046 * device_table.h: Don't pass the parent device into a devices
3047 create function. This makes the create function consistent with
3048 the documentation.
3049 * device.c (device_template_create_device): Ditto
3050 * hw_pal.c (hw_pal_create): Ditto
3051 * hw_core.c (hw_core_create): Ditto
3052 * hw_vm.c (hw_vm_create): Ditto
3053 * hw_disk.c (hw_disk_create): Ditto
3054 * hw_nvram.c (hw_nvram_create): Ditto
3055 * hw_memory.c (hw_memory_create): Ditto
3056 * hw_cpu.c (hw_cpu_create): Ditto.
3057
3058 * device.c (split_find_device): Allow a null initial parent device.
3059 (device_template_create_device): Ditto.
3060
3061 * device.c (device_create_from): Make local (static) only used
3062 within device.c.
3063 * device_table.h: typedef device_callbacks moved here (from
3064 device.h) where it belongs.
3065
3066 * hw_core.c: New file. Implements just the core device using the
3067 core object.
3068
3069 * corefile.c: Moved all core device functions into the new
3070 hw_core.c file. core_device_create() disapears.
3071
3072 * psim.c (psim_tree): Use device_tree_add_parsed() to create the
3073 core device.
3074
3075 Thu Jun 13 00:09:29 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3076
3077 * hw_init.c: Correct typo in comment.
3078
3079 * corefile.c (core_init): Remove any remaining references to a
3080 default map.
3081 (core_map_find_mapping): Ditto.
3082
3083 Wed Jun 12 22:30:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3084
3085 * corefile.c (core_init): Make function global so that other
3086 devices are able to use the full core object.
3087
3088 * corefile.c (core_create, core_from_device): Break core_create
3089 into two functions. The first creates a core object, the second
3090 returns the core object associated with a core device.
3091
3092 * corefile.c (core_device_create): Use core_create to make the
3093 core object.
3094
3095 * psim.c (psim_create): Use core_from_device() instead of
3096 core_create().
3097
3098 * device.c (device_template_create_device): Make static as only
3099 needed by functions internal to device.c.
3100
3101 Fri Jun 7 23:47:18 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3102
3103 * ppc-opcode-test-2: Remove description of fields.
3104 * ppc-opcode-complex: Ditto
3105 * ppc-opcode-flat: Ditto
3106 * ppc-opcode-simple: Ditto
3107 * ppc-opcode-stupid: Ditto
3108 * ppc-opcode-test-1: Ditto
3109 * ppc-cache-rules: Ditto
3110
3111 * igen.c: Add description of files as a comment at the front.
3112
3113 Wed Jun 26 12:50:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3114
3115 * configure.in: Check for whether the termios and termio
3116 structures are really defined, and whether or not, they define the
3117 c_line field.
3118 * configure: Regenerate.
3119
3120 * Makefile.in ({,TERMIO_}CFLAGS): Add TERMIO_CFLAGS options set by
3121 configure.
3122
3123 * emul_unix.c: Various changes to allow for building on systems
3124 with different termio and termios structures. If host has both
3125 termio and termios, just use termios. No longer include
3126 sys/ioctl.h.
3127
3128 Wed Jun 26 12:26:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
3129
3130 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
3131 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
3132 (docdir): Removed.
3133 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
3134 (AC_PROG_INSTALL): Added.
3135 * configure: Rebuilt.
3136
3137 Wed Jun 5 23:53:42 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3138
3139 * corefile.h: Rewrite documentation so that it can be extracted and
3140 converted into texinfo (and hence ready for translation into html,
3141 tex or nroff).
3142 * device.h: Ditto
3143
3144 Thu Jun 6 09:52:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3145
3146 * hw_disk.c (SEEK_SET): If SEEK_SET is not defined, define as 0.
3147
3148 Wed Jun 5 11:46:52 1996 Andrew Cagney <cagney@puddin>
3149
3150 * hw_disk.c: Include <unistd.h> if available. Under SunOS, that
3151 is the source of SEEK_SET.
3152
3153 Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3154
3155 * psim.c (psim_options): Correct type of dummy arguments being
3156 passed to a device_ioctl call.
3157
3158 * hw_init.c (hw_data_init_data_callback): Adjust printf arguments.
3159 (write_stack_arguments): Ditto.
3160 * hw_trace.c: Instance callback entry no longer a table.
3161
3162 Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3163
3164 * emul_unix.c (do_unix_umask): Cast printf argument.
3165 (convert_to_linux_termios): Use LINUX_VSWTC not LINUX_VSWCH
3166
3167 Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3168
3169 * hw_init.c (update_for_binary_section): Abort if we find an
3170 .interp section, which indicates the need for shared libraries to
3171 be loaded.
3172
3173 Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3174
3175 * emul_unix.c (do_unix_{time,gettimeofday,getrusage}): Add support
3176 for time, gettimeofday, and getrusage system calls.
3177 ({solaris,linux}_descriptors): Add new system calls.
3178 (do_get{,e}{uid,gid}): Use gid_t/uid_t types.
3179 (do_get{,p}pid): Use pic_t types.
3180
3181 * configure.in (AC_TYPE_{GETGROUPS,SIGNAL}): Define.
3182 (AC_TYPE_{MODE,OFF,PID,SIZE,UID}_T): Define.
3183 * config{.in,ure}: Regenerate.
3184
3185 Mon Jun 3 23:19:57 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3186
3187 * emul_netbsd.c (emul_netbsd_create): Use the more specific names
3188 `ppc-elf' and `ppc-xcoff' for the stack-type.
3189 * emul_unix.c (emul_unix_create): Ditto.
3190 * emul_bugapi.c (emul_bugapi_create): Ditto.
3191 * hw_init.c: Reconize the new names.
3192
3193 * emul_unix.c (do_unix_break): Adjust so that the updated ioctl
3194 call is used (no system parameter).
3195
3196 Sun Jun 2 11:21:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3197
3198 * emul_unix.{h,c}: New files to provide Solaris and Linux system
3199 call emulations.
3200
3201 * Makefile.in (LIB_{SRC,OBJ}): Add emul_unix.{c,o}.
3202 (os_emul.o): Depend on emul_unix.h.
3203 (emul_unix.o): New dependency.
3204
3205 * configure.in (--enable-sim-alignment): Add 0|default to mean set
3206 alignment to 0, which means use appropriate alignment for mode.
3207 (AC_CHECK_FUNCS): Add new functions needed by emul_unix.c.
3208 (AC_CHECK_HEADERS): Add new include files needed by emul_unix.c.
3209 * config.in: Regenerate.
3210 * configure: Regenerate.
3211
3212 * emul_generic.c (emul_write2_status): New function to return
3213 results in r3 and r4 for Solaris system calls.
3214 (emul_do_system_call): If the system call is not support, but
3215 there is a string for the system call name, print out the string
3216 instead of the system call number.
3217
3218 * emul_generic.h (emul_write2_status): Declare it.
3219
3220 * emul_netbsd.c: Use /* */ around comment on #endif.
3221
3222 * os_emul.c: Include emul_unix.h.
3223 (os_emulations): Add emulations for Solaris, and Linux.
3224
3225 * psim.c (psim_usage): Add message about solaris, linux
3226 emulations.
3227
3228 Thu May 30 00:00:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3229
3230 * hw_iobus.c: Tidy up notes so that they can be auto-extracted.
3231
3232 * README: Correct PSIM's title
3233
3234 Wed May 29 23:50:26 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3235
3236 * basics.h: New global type object_disposition, used to indicate
3237 the status of objects when things are restarted.
3238
3239 Fri May 17 17:28:52 1996 Andrew Cagney <cagney@benjimen.highland.com.au>
3240
3241 * device_table.h: Change the interrupt descriptor structure so
3242 that it includes an additional member - an upper bound on the
3243 interrupts by that name.
3244
3245 * device.c (device_interrupt_decode): Allow a range of interrupt
3246 ports (eg rst0 .. rst6) if the port descriptors bound is non zero.
3247
3248 * device.c (device_tree_print_device): Include a list of valid
3249 interrupt ports when listing supported devices.
3250
3251 * device.h, device.c (device_child_interrupt_*): Delete. Not used.
3252
3253 * emul_generic.c (emul_add_tree_hardware): Modify the creation of
3254 the interrupt net so that it uses int0 .. intN.
3255
3256 Tue May 14 23:03:53 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3257
3258 * device.h, device.c (device_ioctl): Drop the system argument.
3259 Devices can not obtain this using the device_system() call.
3260 * device_table.h: Adjust accordingly.
3261 * hw_*.c: Adjust accordingly.
3262 * emul_netbsd.c (do_break): Adjust call to vm device accordingly.
3263 * psim.c (psim_options): Use a device_ioctl call to force the
3264 hw_trace device to update the trace options.
3265 * hw_trace.c: Replace the init function with an ioctl call. Adjust
3266 doc accordingly.
3267
3268 * psim.c (psim_init): Re-order initialization so that the
3269 os-emulation is initialized after the device tree. Without this,
3270 os-emul's are not able to create instances or access properties
3271 that contain an instance handle.
3272
3273 * device.h, device.c (device_add_*_property): Make these functions
3274 internal to device.c. The user has access to the more generic
3275 device_tree_add_parsed function. Differentiate between the initial
3276 and current value for each property.
3277 * (clean_device_properties): New function that deletes any
3278 properties created after the start of a simulation and restores
3279 the initial value of any others (ignoring ihandles).
3280 * (init_device_properties): (Re)Initialize any properties that
3281 contain ihandles. create
3282
3283 * (device_tree_init): Include calls to clean the device tree's
3284 properties and then initialize them. Document this in the device.h
3285 file.
3286
3287 Mon May 6 17:36:15 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3288
3289 * interrupts.c (decrementer_interrupt): Always pend a decrementer
3290 interrupt even if it is not yet possible to deliver it.
3291
3292 Wed May 1 12:26:51 1996 Andrew Cagney <cagney@benjimen>
3293
3294 * mon.h, mon.c (mon_get_number_of_insns): Make this externally
3295 visable adjusting the arguments so that the interface is correct.
3296 (mon_print_info): Adjust calls.
3297
3298 * registers.h, registers.c (register_description): Add phony
3299 cycle, insn and stall registers.
3300
3301 * psim.c (psim_read_register): Return nr of instructions for given
3302 processor.
3303
3304 Tue Apr 30 22:09:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3305
3306 * hw_htab.c: New file. Extract contents from disk_table.c.
3307 Contains a device that, during initialization will create a
3308 PowerPC htab in memory.
3309 * hw_register.c: New file. Extract contents from disk_table.c.
3310 Contains a device that, during initialization, will parse its
3311 property list and use that to initialize various processor
3312 registers (not target specific).
3313 * hw_vm.c: New file. Extract contents from disk_table.c. Contains
3314 a device that handles accesses to invalid virtual memory addresses
3315 (in user mode).
3316 * hw_init.c: New file. Extract contents from disk_table.c. Misc
3317 devices that can initialize memory from a file.
3318 * hw_trace.c: New file. Extract contents from disk_table.c.
3319 Configure trace options from property values.
3320
3321 * Makefile.in (hw_htab.o, hw_register.o, hw_vm.o, hw_init.o,
3322 hw_trace.c): Add new device files.
3323
3324 * device_table.c: Remove above code, now in separate independant
3325 files.
3326
3327 Fri Apr 26 00:00:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3328
3329 * hw_disk.c: New file. Disk and CDROM device.
3330
3331 * Makefile.in (hw_disk.o): Add device hw_disk.c.
3332
3333 * pk_disklabel.c: New file. Implement the miss-named disk-label
3334 package.
3335
3336 * Makefile.in (pk.h): Create the file pk.h that contains a list of all
3337 the packages.
3338
3339 * Makefile.in (hw.h, hw.c): Add dependancy on Makefile so that
3340 they are re-created when the makefile is updated.
3341
3342 * emul_generic.c (emul_add_tree_hardware): Add a disk device
3343 (below the iobus) to the device tree. Include an ihandle of
3344 the disk as /chosen/disk.
3345
3346 * emul_bugapi.c (emul_bugapi_create): Don't initialize the input,
3347 output and (new) disk handles yet.
3348 * (emul_bugapi_init): Initialize the input, output (and just added)
3349 disk ihandles here.
3350 * (emul_bugapi_do_diskio): New. Performs disk i/o (well at least
3351 what I think the behavour is).
3352 * emul_bugapi.c (emul_bugapi_instruction_call): Add hook to disk
3353 i/o bug call. For RETURN call, exit using gpr[3]'s status even
3354 though this isn't part of the spec - makes it possible for machine
3355 code to signal the aporting of a simulation run.
3356
3357 * emul_chirp.c (chirp_emul_call_method): Add support for the
3358 claim/release methods.
3359 * (chirp_emul_exit): Add an optional exit status argument to
3360 the exit method. Makes it possible for chirp emul simulations
3361 to abort upon an error.
3362 * device.h, device.c (device_instance_claim,
3363 device_instance_release): New methods for claiming and releasing
3364 memory.
3365 * hw_memory.c: add claim and release memory methods.
3366 * hw_*: Use the claim memory method when allocating physical
3367 memory.
3368
3369 Thu Apr 18 23:38:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3370
3371 * hw_nvram.c (hw_nvram_update_clock): Use the current not previous
3372 time when updating the clock.
3373
3374 * hw_nvram.c: Tidy up documentation
3375
3376 Fri May 24 10:08:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3377
3378 * configure.in (AC_STRUCT_ST_{BLKSIZE,BLOCKS,RDEV}): Use these
3379 macros to determine whether or not the appropriate st_<xxx> fields
3380 exist in the stat structure.
3381 (AC_CHECK_FUNCS): Check for all unix system calls used, except for
3382 the real basic ones like open, read, write, etc.
3383 * config{.in,ure}: Regenerate.
3384
3385 * emul_netbsd.c: Add support for missing system calls, and/or
3386 missing stat fields.
3387 (MAXPATHLEN): Undefine if including unistd.h, since sys/param.h
3388 might define it.
3389
3390 * hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL
3391 are not defined.
3392 (scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or
3393 F_SETFL not defined.
3394
3395 Tue May 21 17:24:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3396
3397 * emul_netbsd.c (write_stat): Don't convert st_blocks unless the
3398 host is netbsd.
3399
3400 Thu May 16 10:56:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3401
3402 * configure.in (AC_CHECK_HEADERS): Add sys/ioctl.h.
3403 * config{.in,ure}: Regenerate.
3404 * emul_netbsd.c: If HAVE_SYS_IOCTL_H is not defined, don't include
3405 sys/ioctl.h.
3406
3407 Tue May 7 17:28:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3408
3409 * hw_pal.c (hw_pal_instance_read_callback): Remove unused
3410 variable.
3411
3412 * misc.c ({,target_}a2i): Rewrite to not use strtoul.
3413
3414 * Makefile.in ({spreg,misc}.o): Add dependency on .c file.
3415 ({i,d}gen): Don't link in liberity. Use BUILD_LIBS instead of
3416 LIBS.
3417
3418 Mon May 6 11:31:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3419
3420 * hw_pal.c (hw_pal_instance_read_callback): If using stdio, use
3421 fgets to read line. If not using stdio, do a simple blocking read
3422 of len bytes.
3423
3424 Fri May 3 15:07:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3425
3426 * Makefile.in: Correctly build simulator for build machine != host
3427 machine.
3428
3429 Tue Apr 30 18:46:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3430
3431 * configure.in (--enable-hostendian): Rework so the default uses
3432 the AC_C_BIGENDIAN results. Only run AC_C_BIGENDIAN if not cross
3433 compiling.
3434 * configure: Regenerate.
3435
3436 * sim-endian.h: Add more tests for host endian to support more
3437 platforms in a cross compilation environment.
3438
3439 Wed Apr 17 14:38:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3440
3441 * hw_pal.c ({scan,write}_hw_pal): If WITH_STDIO == DO_USE_STDIO,
3442 use stdio, instead of unpended read/printf_filtered.
3443 (hw_pal_instance_write_callback): If WITH_STDIO == DO_USE_STDIO,
3444 flush stdout after writing the characters.
3445
3446 * options.c (print_options): Print out WITH_STDIO.
3447
3448 * Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@
3449 configuration variable.
3450 (CONFIG_CFLAGS): Include STDIO_CFLAGS.
3451 (hw.{c,h}): Allow for source dir != build dir, and for HW_SRC
3452 files to contain directory pieces.
3453
3454 * std-config.h (DO{,NT}_USE_STDIO): New flags for whether we
3455 should use stdio for console input.
3456 (WITH_STDIO): If not defined, define as DONT_USE_STDIO.
3457
3458 * configure.in (--enable-sim-stdio): Add new switch to control
3459 whether stdio is used for console I/O.
3460 * configure: Regenerate.
3461
3462 * interrupts.c (external_interrupt): Declare it to be
3463 INLINE_INTERRUPTS, not INLINE_CPU.
3464
3465 Mon Apr 15 23:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3466
3467 * events.c (insert_event_entry): Allow events to be scheduled
3468 *NOW* (at delta time 0). Add assertions to clarify behavour of
3469 event queue.
3470
3471 * events.c (update_time_from_event): New function. Calculates the
3472 number of ticks from the next event. Use this.
3473
3474 Sun Apr 14 21:39:45 1996 Andrew Cagney <cagney@highland.com.au>
3475
3476 * emul_netbsd.c (do_break): Return 0 if success (instead of
3477 adjusted break).
3478
3479 * device_table.c (vm_ioctl_callback): Don't return adjusted break
3480 (isn't needed).
3481
3482 Sun Apr 14 21:32:41 1996 Andrew Cagney <cagney@highland.com.au>
3483
3484 * device_table.h: Change type of the device ioctl so that it
3485 returns an int (status).
3486 * device.h (device_ioctl): Ditto.
3487 * device.c (device_ioctl): Ditto.
3488
3489 * device_table.c (stack_ioctl_callback): Return 0 status.
3490 (vm_ioctl_callback): Ditto
3491
3492 Sat Apr 13 00:00:24 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3493
3494 * emul_netbsd.c (do_read): Correctly set the return value.
3495 (do_getpid): Ditto.
3496 (do_getuid): Ditto.
3497 (do_geteuid): Ditto.
3498 (do_dup): Ditto.
3499 (do_getegid): Ditto.
3500 (do_getgid): Ditto.
3501 (do_sigprocmask): Ditto.
3502 (do_umask): Ditto.
3503 (do_dup2): Ditto.
3504 (do_gettimeofday): Ditto.
3505 (do_getrusage): Ditto.
3506 (do_fstat): Ditto.
3507 (do_stat): Ditto.
3508 (do_lseek): Ditto.
3509 (do___sysctl): Ditto.
3510
3511 Fri Apr 12 20:56:47 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3512
3513 * device_table.c (vm_ioctl_callback): Don't access the processor
3514 registers directly, instead leave it to the caller to handle this.
3515
3516 * emul_netbsd.c (do_break): Which calls vm_ioctl_callback to
3517 perform a break. Pass in the new break value and set the
3518 registers according to the result.
3519
3520 * emul_generic.c (emul_write_status): Change so that r3 contains
3521 either status or errno and failure is indicated by SO.
3522
3523 Thu Apr 4 23:03:38 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3524
3525 * emul_bugapi.c (emul_bugapi_create): More strict check of OEA
3526 address.
3527
3528 Thu Apr 4 20:58:05 1996 Andrew Cagney <cagney@highland.com.au>
3529
3530 * interrupts.h (interrupts): New structure contains state of
3531 pending interrupts.
3532
3533 * cpu.c (cpu_interrupts): New function. Pending interrupt status
3534 in the cpu and grant access to it. Add interrupts to cpu
3535 structure.
3536
3537 Fri Mar 29 22:09:25 1996 Andrew Cagney <cagney@highland.com.au>
3538
3539 * device.c (device_tree_add_parsed): Check that the creation of a
3540 device instance worked before using it.
3541
3542 * psim.c (psim_halt): Remove cia argument from psim_halt. This
3543 function does not save the CIA so do not pass it in.
3544
3545 Fri Mar 29 21:30:56 1996 Andrew Cagney <cagney@highland.com.au>
3546
3547 * hw_pal.c (hw_pal): Merge the halt and icu and console devices
3548 found in device_table.c into a single hack pal.
3549
3550 * device_table.c (halt, icu, console): Delete.
3551
3552 * Makefile.in (hw_pal.o): New dependency.
3553
3554 * emul_generic.c (emul_add_tree_hardware): Re-arange device tree
3555 so that it uses the pal instead of the icu/halt/console devices.
3556 Wire the pal's interrupt ports up to the cpu nodes.
3557
3558 Fri Mar 29 20:17:17 1996 Andrew Cagney <cagney@highland.com.au>
3559
3560 * hw_iobus.c (hw_iobus_attach_address_callback): Move from
3561 device_table.c to here.
3562
3563 * Makefile.in (hw_iobus.o): New dependency.
3564
3565 Fri Mar 29 12:17:58 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3566
3567 * emul_bugapi.c (_os_emul_data): Add fields for output, input.
3568 (emul_bugapi_create): Create input, output from /chosen/stdin and
3569 /chosen/stdout.
3570 (emul_bugapi_do_{read,write}): Switch to use device_instance
3571 interface.
3572 (emul_bugapi_instruction_call): Change calls to
3573 emul_bugapi_do_{read,write} to pass device instance argument.
3574
3575 Tue Mar 26 14:57:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3576
3577 * igen.c (idecode_switch_end): Fix 2/26 change so that an extra
3578 default is not written out if a default was already written.
3579
3580 * psim.c (psim_{read,write}_register): Use sizeof unsigned_8 to
3581 size cooked_buf, not sizeof natural_word, since floating point
3582 registers are 8 bytes.
3583
3584 Mon Mar 25 22:07:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3585
3586 * configure: Regenerate with autoconf 2.9.
3587
3588 Thu Mar 21 00:14:26 1996 Andrew Cagney <cagney@highland.com.au>
3589
3590 * device_table.h: Always include string headers.
3591
3592 Thu Mar 21 00:06:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3593
3594 * main.c (error): Be careful to not try to print out statistics
3595 when the simulation was never created.
3596
3597 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
3598
3599 * basics.h: Move the event queue's definition to here so that it
3600 can be refered to globally with out importing all of events.h.
3601
3602 * psim.h, psim.c (psim_event_queue): New function. Grant access
3603 to the simulation event queue. Will make this the single point of
3604 access (there is after all only one event queue in the
3605 simulation).
3606
3607 * cpu.c (cpu_create): Use psim_event_queue to obtain the event
3608 queue instead of it being passed in. No longer allow access to
3609 the cpu's copy of the event queue.
3610
3611 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
3612
3613 * events.h, events.c (event_handler): Remove event_queue from
3614 arguments passed to an event handler. That argument is redundant
3615 - the `data' should refer to a data structure that contains the
3616 event queue if queing is needed.
3617
3618 * cpu.c (cpu_decrement_event): adjust
3619
3620 * events.c (event_queue_process): adjust
3621
3622 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
3623
3624 * device.h, device.c (device_system): New, returns a handle for
3625 the system given the device.
3626
3627 * device.c (device_address_init): Store a pointer back to the
3628 system in each devices node.
3629
3630 * device_table.h: Don't pass `system' into each device when it is
3631 being initialized, this is now available using device_system(me).
3632
3633 * device.c (device_address_init, device_data_init): Adjust.
3634
3635 * hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c:
3636 Adjust.
3637
3638 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
3639
3640 * interrupts.c (decrementer_interrupt, external_interrupt):
3641 Remember that an interrupt wasn't delivered so that it can be
3642 tried again later.
3643
3644 * interrupts.c (check_masked_interrupt): New function. (re)
3645 checks for the posibility that a recent change to the MSR may have
3646 made it possible to deliver an interrupt that was previously
3647 masked be the EE bit.
3648
3649 * ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of
3650 a pending interrupt being delivered using check_masked_interrupt().
3651
3652 * cpu.c (cpu_decrement_event): Just call decrementer_interrupt()
3653 leaving it to that module to handle both interrupt synchronization
3654 and masking.
3655
3656 * cpu.c (struct _cpu): remove variables that were going to record
3657 pending decrementer and external interrupts.
3658
3659 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
3660
3661 * hw_cpu.c, hw_cpu.h: New files. Implement a device that sits
3662 between the interrupt controller and the simulators internal
3663 processor model. Maps device interrupts onto the processor
3664 interrupt function calls.
3665
3666 Mon Mar 4 06:06:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3667
3668 * hw_nvram.c: NVRAM device that includes a real-time clock that is
3669 updated each second.
3670
3671 Mon Mar 4 04:18:50 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3672
3673 * device.h (attach_type): Remove attach_default type address
3674 spaces. Will replace with levels of callback memory.
3675
3676 * corefile.h, corefile.c (new_core_mapping), corefile.c
3677 (core_map_attach): Replace default attach with a layerd callback
3678 approach.
3679
3680 Sun Mar 3 03:58:46 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3681
3682 * device.c (split_property_specifier): ensure that only a single
3683 property is found.
3684 (split_value): New function, parses the value part of a device
3685 spec.
3686
3687 * device.c (device_tree_add_parsed): Use the interrupt conversion
3688 functions to determine the interrupt port numbers.
3689
3690 * device_table.h: Add table that maps between an interrupts
3691 symbolic name and its port number.
3692
3693 * device.h, device.c (device_interrupt_decode,
3694 device_interrupt_encode): new functions use the recently added
3695 interrupt port name/number tables to perform conversion.
3696
3697 Sun Mar 3 03:23:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3698
3699 * device.h, device.c (device_set_array_property,
3700 device_set_boolean_property, device_set_ihandle_property,
3701 device_set_integer_property, device_set_string_property): New
3702 functions - allow the value of a given property to be changed.
3703
3704 * device.h, device.c: Re-order declaration and definition of
3705 property functions.
3706
3707 Sun Mar 3 03:10:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3708
3709 * device.c (device_tree_print_device, device_tree_add_parsed):
3710 Remove references to phandle properties.
3711
3712 Wed Feb 28 00:43:07 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
3713
3714 * Makefile.in (corefile.o): missing dependency on device_table.h
3715 etc.
3716
3717 Tue Feb 27 23:59:35 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
3718
3719 * device_table.h: Revamp device init callbacks so that they are a
3720 sub structure.
3721 * device.c (device_init_data, device_init_address): If an init
3722 callback is NULL assume it should do nothing.
3723 * device_table.c (ignore_device_init, unimp_device_init): delete
3724 as redundant.
3725 * device_table.c, hw_memory.c: adjust.
3726
3727 * (io): ditto.
3728 * (dma): ditto.
3729 * (device_instance): ditto.
3730 * (ioctl): ditto.
3731 * (address nee config_address): ditto.
3732 * (interrupt): ditto.
3733
3734 Mon Feb 26 21:11:20 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
3735
3736 * igen.c (idecode_switch_end): Output a default entry when the
3737 switch statement is perfect. Firstly stops GCC complaining about
3738 an incomplete switch and secondly it will be eliminated by a good
3739 compiler any way.
3740
3741 Mon Feb 26 22:47:15 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
3742
3743 * Makefile.in (hw.h, hw.c): New targets. Create from the list of
3744 hw_*.c files. hw.h declares a device descriptor table for each hw
3745 device while hw.c lists those tables in a form suitable for the
3746 construction of a top leveltable in device_table.c.
3747
3748 * Makefile.in (device_table.o): now depends on hw.c a generated
3749 table of hw.
3750
3751 * device_table.c (device_table): Re-arange the table of devices so
3752 that two levels are possible. Make use of hw.c.
3753 * device_table.h: ditto.
3754
3755 * device.c (device_template_create_device): Handle new two level
3756 device lookup table.
3757 * device.c (device_usage): ditto.
3758
3759 Mon Feb 26 22:24:00 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
3760
3761 * device_table.c: Delete the memory device (moved to hw_memory.c).
3762
3763 * hw_memory.c: New file. Just an OpenBoot memory device.
3764
3765 Wed Jan 17 21:47:34 1996 Andrew Cagney <cagney@highland.com.au>
3766
3767 * device.c (device_init_address): New. Split initialization into
3768 two stages, address and address spaces
3769 * device.c (device_init_data): New. ... and data or other work.
3770 With out this, devices try to modify memory before it as been
3771 attached.
3772
3773 * device.c (device_tree_init): Update to perform staged
3774 initialization.
3775
3776 * device.c (device_init): Delete.
3777
3778 Wed Jan 17 21:43:09 1996 Andrew Cagney <cagney@highland.com.au>
3779
3780 * device_table.c (data_*): Rewrite to make heaver use of property
3781 nodes. Allow initialization by different data types.
3782 * device_table.c (htab_* pte_*): Rewrite to use properties.
3783
3784 * emul_chirp.c (emul_chirp_create): Use
3785 * emul_bugapi.c (emul_bugapi_create): Ditto
3786 * emul_netbsd.c (emul_netbsd_create): Ditto
3787
3788 Wed Jan 17 21:24:50 1996 Andrew Cagney <cagney@highland.com.au>
3789
3790 * emul_generic.c (emul_add_tree_options): Annotate existing tree
3791 with options that haven't yet been specified.
3792 * emul_generic.c (emul_add_tree_hardware): Annotate existing tree
3793 with demo devices and properties.
3794
3795 * emul_chirp.c (emul_chirp_create): Update to use new
3796 device_tree_add_parsed call and additional information now
3797 included in the device tree. Use emul_add_tree* functions to add
3798 any missing details.
3799 * emul_bugapi.c (emul_bugapi_create): Ditto
3800 * emul_netbsd.c (emul_netbsd_create): Ditto
3801
3802 Wed Jan 17 21:18:27 1996 Andrew Cagney <cagney@highland.com.au>
3803
3804 * device.c (device_instance_create): New. Create/delete and
3805 operate on instances of a device.
3806 * device.c (device_instance_delete): Ditto
3807 * device.c (device_instance_read): Ditto
3808 * device.c (device_instance_write): Ditto
3809 * device.c (device_instance_seek): Ditto
3810 * device.c (device_instance_data): Ditto
3811 * device.c (device_instance_name): Ditto
3812 * device.c (device_instance_path): Ditto
3813
3814 * emul_chirp.c (chirp_emul_open): Implement using device_instance.
3815 * emul_chirp.c (chirp_emul_close): Ditto
3816 * emul_chirp.c (chirp_emul_read): Ditto
3817 * emul_chirp.c (chirp_emul_write): Ditto
3818 * emul_chirp.c (chirp_emul_seek): Ditto
3819
3820 * emul_chirp.c (chirp_read_t2h_args): Read arguments from device.
3821 Being careful to convert all from target to host byte order.
3822 * emul_chirp.c (chirp_write_h2t_args): Converse.
3823
3824 Wed Jan 17 20:07:15 1996 Andrew Cagney <cagney@highland.com.au>
3825
3826 * device.c (device_tree_add_parsed): New. Rewrite code to add
3827 devices to the device tree so that a single printf style function
3828 is used.
3829
3830 * device.c (device_tree_add_*): Delete. Replaced by above.
3831
3832 * device.c (split_device_specifier): Functions to manipulate a
3833 device specifier (path) breaking it into its components
3834 * device.c (split_property_specifier): Ditto
3835 * device.c (split_device_name): Ditto
3836 * device.c (split_find_device): Ditto
3837
3838 * device.c (scan_*): Delete
3839
3840 * device.c (device_tree_find_device): Rewrite to use above.
3841 * device.c (device_add_property): Ditto
3842
3843 Wed Jan 17 19:51:56 1996 Andrew Cagney <cagney@highland.com.au>
3844
3845 * psim.c(psim_options): Parse the psim options, installing their
3846 value in the device tree. Options are now first entered into a
3847 device tree and then extracted out again when needed. This allows
3848 greater flexability in configuration.
3849
3850 * psim.c (psim_tree): Returns a basic device tree ready for
3851 parsing by psim_options.
3852 * psim.c (psim_usage): New. Give usage to varing levels of detail
3853 according to the verbosity. In turn output device and trace
3854 usage.
3855
3856 * main.c (main): Update to use new system
3857 * sim_calls.c (sim_open, sim_do_command): Ditto
3858
3859 * psim.c (psim_options): Add `r' option - ram size.
3860 * psim.c (psim_options): Add `o' option - openboot tree entry.
3861 * psim.c (psim_options): Add `h'/`H' options - more help.
3862
3863 * debug.c (trace_usage): Add more detailed help.
3864 * device.c (device_usage): New. Output help including a list of
3865 the devices currently available in the device table.
3866 * device_table.c: Add usage operator to each device.
3867
3868 * corefile.c (core_create, core_device_create): Adjust so that the
3869 core device is created earlier for psim_tree(). Core can later be
3870 created from it.
3871
3872 * psim.c (psim_create): Update to handle above way of creating
3873 things. Extract all information from the device tree.
3874
3875 * device_tree.c (trace_*): New device node, its properties are
3876 used to set the value of the trace options. Init this device (in
3877 psim_options) when ever the options are updated.
3878
3879 Wed Jan 17 19:46:07 1996 Andrew Cagney <cagney@highland.com.au>
3880
3881 * debug.h: Add trace_print_info, trace_print_device_tree and
3882 trace_dump_device_tree. The first is a replacement for the
3883 variable `print_info' found in main.c and sim_calls.c. The latter
3884 two enable the dumping of the entire device tree.
3885
3886 * debug.c: Add to trace_description table.
3887
3888 * main.c (main): Use above trace instead of local variable
3889 * sim_calls.c (sim_close): Ditto
3890
3891 * device.c (device_tree_print_device): New. Prints the device
3892 tree in a format that is consistent with what can be parsed by the
3893 device tree load from file code.
3894
3895 * psim.c (psim_create): Dump device tree if enabled. If nump
3896 selected, exit psim immediatly.
3897
3898 Wed Jan 17 19:36:52 1996 Andrew Cagney <cagney@highland.com.au>
3899
3900 * corefile-n.h (core_map_read_N): When mapping from an address to
3901 a device, do not subtract the devices base. The device its self
3902 can do this. Brings the behavour into line with OpenBoot.
3903 * corefile-n.h (core_map_write_N): Ditto
3904 * corefile.c (core_map_read_buffer): Ditto
3905 * corefile.c (core_map_write_buffer): Ditto
3906
3907 * device_table.c (console_io_read_buffer_callback): Adjust to
3908 handle biased address.
3909 * device_table.c (console_io_write_buffer_callback): Ditto
3910
3911 Wed Jan 17 18:36:09 1996 Andrew Cagney <cagney@highland.com.au>
3912
3913 * device.c (attach_device_interrupt_edge): New. Interrupt model
3914 did not allow interrupts to be wired up as a general net (edges).
3915 Re-implement so that interrupt events can be passed to multiple
3916 controllers and interrupt controllers can further propogate
3917 interrupt events.
3918
3919 * device.c (attach_device_interrupt_edge) : New, Ditto
3920 * device.c (detach_device_interrupt_edge) : New, Ditto
3921 * device.c (clean_device_interrupt_edges) : New, Ditto
3922 * device.c (device_interrupt_event) : New, Ditto
3923 * device.c (device_interrupt_attach) : New, Ditto
3924 * device.c (device_interrupt_detach) : New, Ditto
3925 * device.c (device_child_interrupt_attach) : New, Ditto
3926 * device.c (device_child_interrupt_detach) : New, Ditto
3927
3928 * device.c (device_attach_interrupt) : Delete old
3929 * device.c (device_detach_interrupt) : Delete old
3930 * device.c (device_interrupt) : Delete old
3931 * device.c (device_interrupt_ack) : Delete old
3932
3933 * device_table.c (unimp_*) : Update to match
3934
3935 * device_table.c (icu_io_write_buffer_callback) : Update to use
3936 interface.
3937 * device_table.c (icu_interrupt_event_callback) : Ditto
3938
3939 Wed Jan 17 18:18:40 1996 Andrew Cagney <cagney@highland.com.au>
3940
3941 * device.c (external_to_device) : New function that provides a
3942 standard mapping between a devices internal representation (a
3943 pointer) and its external (or what is passed to a client)
3944 representation (a phandle). Implement using the cap object
3945 attached to the root node.
3946
3947 * device.c (device_to_external) : Ditto
3948 * device.c (external_to_device_instance) : Ditto but for ihandle
3949 and device instance.
3950 * device.c (device_instance_to_external) : Ditto
3951
3952 * Makefile (device.o): Add dependency on cap.
3953
3954 * emul_chirp.c (struct _emul_chirp_data) : Elimate use of cap. Code
3955 needing to translate between internal and external representations
3956 changed to use the external_to_device et.al. device operations.
3957 * emul_chirp.c (chirp_emul_*) : Ditto
3958
3959 * Makefile (emul_chirp.o): Remove dependency on cap
3960
3961 Sat Jan 6 10:13:26 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
3962
3963 * emul_chirp.c (map_over_chirp_note): Tighten up (and fix) checks
3964 on OpenBoot note section.
3965
3966 Fri Jan 5 20:28:53 1996 Andrew Cagney <cagney@hignland.com.au>
3967
3968 * emul_generic.c (emul_write_buffer): Use vm faulting byte
3969 read/write calls for buffer transfers. This will cause a fault to
3970 occure if the transfer fails. CHRP catches the fault while the
3971 others suffer the consequences.
3972 (emul_read_buffer): Ditto.
3973 (emul_write_word): Ditto.
3974 (emul_read_word): Ditto.
3975 (emul_read_string): Ditto.
3976
3977 Fri Jan 5 18:55:34 1996 Andrew Cagney <cagney@highland.com.au>
3978
3979 * emul_chirp.c (emul_chirp_create, emul_chirp_instruction_call),
3980 emul_generic (emul_blr_instruction): Use a real blr instruction to
3981 return from a client service call.
3982
3983 * emul_chirp.c (services): Add all OpenBoot services to table.
3984
3985 * emul_generic.h, emul_bugapi.c (emul_bugapi_create), emul_chirp.c
3986 (emul_chirp_create) : Use names instead of numbers for
3987 instructions being stored in memory.
3988
3989 Fri Jan 5 18:52:28 1996 Andrew Cagney <cagney@highland.com.au>
3990
3991 * Makefile.in (maintainer-clean): Remove .log, core and *.core
3992 (From NetBSD) files.
3993
3994 Wed May 29 22:57:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
3995
3996 * ChangeLog.00, ChangeLog: ChangeLog from gdb-4.16 becomes
3997 ChangeLog.00
3998
This page took 0.113548 seconds and 4 git commands to generate.