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