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