xref: /netbsd-src/external/gpl3/gdb/dist/sim/ppc/ChangeLog-2021 (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
12021-07-01  Mike Frysinger  <vapier@gentoo.org>
2
3	* Makefile.in (RESERVED_CFLAGS): Delete.
4	* configure.ac: Delete sim-reserved-bits.
5	* std-config.h (WITH_RESERVED_BITS): Delete.
6	* configure: Regenerate.
7
82021-06-30  Mike Frysinger  <vapier@gentoo.org>
9
10	* configure.ac: Add -W flags from ../m4/sim_ac_option_warnings.m4.
11	Run compile tests against each flag.
12	* configure: Regenerate.
13
142021-06-29  Mike Frysinger  <vapier@gentoo.org>
15
16	* main.c (sim_io_error): Add comment
17	* sim_calls.c (sim_io_error): Likewise.  Change "" to " ".
18	(error): Likewise.
19
202021-06-20  Mike Frysinger  <vapier@gentoo.org>
21
22	* Makefile.in (INLINE_CFLAGS): Change to $(SIM_INLINE).
23	* configure.ac: Delete sim-inline logic.
24	* configure: Regenerate.
25
262021-06-19  Mike Frysinger  <vapier@gentoo.org>
27
28	* configure.ac: Replace ALL_INLINE with ALL_C_INLINE and
29	PSIM_INLINE_LOCALS with INLINE_LOCALS.
30	* inline.h: Likewise.
31	* options.c: Likewise.
32	* std-config.h: Likewise.  Include sim-inline.h explicitly.
33	(REVEAL_MODULE): Define to H_REVEALS_MODULE.
34	(INLINE_MODULE): Define to C_REVEALS_MODULE.
35	(PSIM_INLINE_LOCALS): Delete.
36	(ALL_INLINE): Delete.
37	* configure: Regenerate.
38
392021-06-19  Mike Frysinger  <vapier@gentoo.org>
40
41	* Makefile.in: Move intl vars to ../arch-subdir.mk.in.
42	* configure.ac: Delete ZW_GNU_GETTEXT_SISTER_DIR call.
43	* config.in, configure: Regenerate.
44
452021-06-19  Mike Frysinger  <vapier@gentoo.org>
46
47	* Makefile.in: Delete toolchain vars.
48	* configure.ac: Likewise.
49	* configure: Regenerate.
50
512021-06-19  Mike Frysinger  <vapier@gentoo.org>
52
53	* Makefile.in (LIBS): Add $(COMMON_LIBS).
54	(ZLIB): Use $(zlibdir).
55	* configure.ac: Delete AM_ZLIB & AC_PLUGINS calls.
56	* aclocal.m4, config.in, configure: Regenerate.
57
582021-06-18  Mike Frysinger  <vapier@gentoo.org>
59
60	* Makefile.in (WERROR_CFLAGS): Delete.
61	* configure.ac: Delete werror configure option.
62	* configure: Regenerate.
63
642021-06-18  Mike Frysinger  <vapier@gentoo.org>
65
66	* Makefile.in: Include ../arch-subdir.mk.
67
682021-06-18  Mike Frysinger  <vapier@gentoo.org>
69
70	* sim-main.h: Delete sim-signal.h include.
71
722021-06-17  Mike Frysinger  <vapier@gentoo.org>
73
74	* Makefile.in (ENDIAN_CFLAGS): Delete.
75	* configure.ac: Delete sim-endian.
76	* configure: Regenerate.
77
782021-06-17  Mike Frysinger  <vapier@gentoo.org>
79
80	* igen.c (gen_semantics_h): Rename PAGE_SIZE to MPC860C0_PAGE_SIZE.
81	* ppc-instructions: Likewise.
82
832021-06-16  Mike Frysinger  <vapier@gentoo.org>
84
85	* configure.ac: Delete AC_EXEEXT call.
86	* configure: Regenerate.
87
882021-06-16  Mike Frysinger  <vapier@gentoo.org>
89
90	* configure.ac: Delete sim-assert logic.
91	* config.in, configure: Regenerate.
92
932021-06-16  Mike Frysinger  <vapier@gentoo.org>
94
95	* altivec.igen: Change BIG_ENDIAN to BFD_ENDIAN_BIG.
96	* configure.ac: Change LITTLE_ENDIAN, BIG_ENDIAN, & 0 to
97	BFD_ENDIAN_LITTLE, BFD_ENDIAN_BIG, & BFD_ENDIAN_UNKNOWN respectively.
98	* emul_generic.c: Likewise.
99	* options.c (options_byte_order): Likewise.  Change int to bfd_endian.
100	* psim.c (current_target_byte_order): Change type to bfd_endian.
101	(psim_create): Change LITTLE_ENDIAN & BIG_ENDIAN to BFD_ENDIAN_LITTLE
102	& BFD_ENDIAN_BIG respectively.
103	* sim-endian-n.h: Likewise.
104	* sim-endian.c: Likewise.
105	* std-config.h: Include bfd.h.
106	(LITTLE_ENDIAN, BIG_ENDIAN): Delete.
107	(HOST_BYTE_ORDER): Change to BFD_ENDIAN_BIG & BFD_ENDIAN_LITTLE.
108	(WITH_TARGET_BYTE_ORDER): Change to BFD_ENDIAN_UNKNOWN.
109	(current_target_byte_order): Change type to bfd_endian.
110	(CURRENT_TARGET_BYTE_ORDER): Compare to BFD_ENDIAN_UNKNOWN.
111	* vm.c (vm_synchronize_context): Change LITTLE_ENDIAN & BIG_ENDIAN to
112	BFD_ENDIAN_LITTLE & BFD_ENDIAN_BIG respectively.
113	* configure: Regenerate.
114
1152021-06-16  Mike Frysinger  <vapier@gentoo.org>
116
117	* basics.h (__attribute__): Delete.
118	* misc.h (__attribute__): Likewise.
119	Include ansidecl.h.
120
1212021-06-16  Mike Frysinger  <vapier@gentoo.org>
122
123	* cpu.h: Include ansidecl.h.
124	(cpu_error): Change __attribute__ ((format (printf... to
125	ATTRIBUTE_PRINTF_3.
126	* device.h (device_error): Change __attribute__ ((format (printf...
127	to ATTRIBUTE_PRINTF_2.
128	* lf.h: Include ansidecl.h.
129	(lf_printf): Change __attribute__ ((format (printf... to
130	ATTRIBUTE_PRINTF_2.
131	* sim_callbacks.h (sim_io_printf_filtered): Change __attribute__
132	((format (printf... to ATTRIBUTE_PRINTF_1.
133	* tree.h (tree_parse): Change __attribute__ ((format (printf... to
134	ATTRIBUTE_PRINTF_2.
135
1362021-06-16  Mike Frysinger  <vapier@gentoo.org>
137
138	* double.c: Include ansidecls.h.
139	* dp-bit.c: Change __attribute__ ((packed)) to ATTRIBUTE_PACKED.
140
1412021-06-16  Mike Frysinger  <vapier@gentoo.org>
142
143	* basics.h (NORETURN): Delete.
144	* sim_callbacks.h: Include ansidecl.h.  Change NORETURN to
145	ATTRIBUTE_NORETURN.
146	* sim_calls.c: Likewise.
147
1482021-06-16  Mike Frysinger  <vapier@gentoo.org>
149
150	* basics.h (UNUSED): Delete.
151	* gen-icache.c (print_icache_extraction): Change UNUSED to
152	ATTRIBUTE_UNUSED.
153	* idecode_expression.h: Likewise.  Include ansidecl.h.
154	* inline.h: Likewise.
155
1562021-06-16  Mike Frysinger  <vapier@gentoo.org>
157
158	* basics.h: Delete CONCAT* and XCONCAT* macros.
159	* corefile.c: Include symcat.h.
160	* idecode_fields.h: Likewise.
161	* sim-endian.c: Likewise.
162	* vm.c: Likewise.
163
1642021-06-16  Mike Frysinger  <vapier@gentoo.org>
165
166	* device.h (device_add_boolean_property): Rename bool arg to boolean.
167
1682021-06-16  Mike Frysinger  <vapier@gentoo.org>
169
170	* Makefile.in (HOSTENDIAN_CFLAGS): Delete.
171	* configure.ac: Delete sim-hostendian logic.
172	* altivec_registers.h (WITH_HOST_BYTE_ORDER): Rename to ...
173	(HOST_BYTE_ORDER): ... this.
174	* options.c: Likewise.
175	* sim-endian.c: Likewise.
176	* psim.c (current_host_byte_order): Delete.
177	(CURRENT_HOST_BYTE_ORDER): Rename to ...
178	(HOST_BYTE_ORDER): ... this.
179	* sim-endian-n.h: Likewise.
180	* sim-endian.h: Delete all custom endian include & define logic.
181	* std-config.h (WITH_HOST_BYTE_ORDER): Delete.
182	(LITTLE_ENDIAN): Define fallback.
183	(BIG_ENDIAN): Likewise.
184	(HOST_BYTE_ORDER): Define based on WORDS_BIGENDIAN.
185	(current_host_byte_order, CURRENT_HOST_BYTE_ORDER): Delete.
186	* config.in, configure: Regenerate.
187
1882021-06-13  Mike Frysinger  <vapier@gentoo.org>
189
190	* Makefile.in (COMMON_OBJS_NAMES, +COMMON_OBJS): New variables.
191	(LIB_OBJ): Replace version.o with $(COMMON_OBJS).
192	(version.c, version.o): Delete rules.
193
1942021-06-12  Mike Frysinger  <vapier@gentoo.org>
195
196	* Makefile.in: Add $(EXEEXT) to run and psim.
197
1982021-06-12  Mike Frysinger  <vapier@gentoo.org>
199
200	* Makefile.in: Delete ALIGNMENT_CFLAGS.
201	* configure.ac: Delete sim-alignment.
202	* configure: Regenerate.
203
2042021-06-12  Mike Frysinger  <vapier@gentoo.org>
205
206	* configure.ac: Delete calls to ACX_PKGVERSION & ACX_BUGURL.
207	* aclocal.m4, config.in, configure: Regenerate.
208
2092021-06-12  Mike Frysinger  <vapier@gentoo.org>
210
211	* configure.ac: Delete sim-stdio & sim-trace.
212	* debug.h: Define TRACE_* defines.
213	* config.in, configure: Regenerate.
214
2152021-06-12  Mike Frysinger  <vapier@gentoo.org>
216
217	* configure.ac: Delete AC_STRUCT_*, AC_TYPE_*, AC_CHECK_FUNCS,
218	AC_CHECK_HEADERS, and AC_HEADER_DIRENT calls.
219	* config.in, configure: Regenerate.
220
2212021-06-12  Mike Frysinger  <vapier@gentoo.org>
222
223	* configure.ac: Delete sim-env configure option.
224	* defs.h: Include ../config.h.  Undefine PACKAGE* defines.
225	* std-config.h (ALL_ENVIRONMENT): Define.
226	* config.in, configure: Regenerate.
227
2282021-06-09  Mike Frysinger  <vapier@gentoo.org>
229
230	* basics.h (NULL): Delete.
231	* gen-itable.c (NULL): Likewise.
232	* gen-model.c (NULL): Likewise.
233	* ld-cache.c (NULL): Likewise.
234	* ld-decode.c (NULL): Likewise.
235
2362021-05-29  Mike Frysinger  <vapier@gentoo.org>
237
238	* configure.ac (WERROR_CFLAGS): Add -Wno-format for mingw32 hosts.
239	* configure: Regenerate.
240
2412021-05-29  Mike Frysinger  <vapier@gentoo.org>
242
243	* emul_generic.c (emul_write_status): Rename errno to err.
244	(emul_write2_status): Likewise.
245	* emul_generic.h (emul_write_status, emul_write2_status): Likewise.
246	* emul_netbsd.c (errno): Delete.
247	* emul_unix.c (errno): Delete.
248
2492021-05-29  Mike Frysinger  <vapier@gentoo.org>
250
251	* Makefile.in (INCLUDES): Add -I../..
252
2532021-05-16  Mike Frysinger  <vapier@gentoo.org>
254
255	* Makefile.in (gentmap): Pass -DUSE_CONFIG_H.
256	* basics.h, debug.c, filter_filename.c, inline.c, sim-endian.c,
257	words.h: Replace config.h include with defs.h.
258	* defs.h: New file.
259
2602021-05-15  Mike Frysinger  <vapier@gentoo.org>
261
262	* Makefile.in (WERROR_CFLAGS): Define.
263	(STD_CFLAGS): Add $(WERROR_CFLAGS).
264	* configure.ac: Add --enable-werror.
265	* device.c (device_full_name): Delete full_name variable.
266	(device_clean): Delete system variable.
267	* emul_chirp.c (chirp_emul_getprop): Cast vars to unsigned long.
268	(chirp_emul_seek): Likewise.
269	* hw_glue.c (hw_glue_init_address): Use %zu format.
270	* hw_ide.c (hw_ide_io_read_buffer): Cast vars to unsigned long.
271	(hw_ide_io_write_buffer): Likewise.
272	* hw_init.c (update_for_binary_section): Cast vars to unsigned long.
273	* hw_phb.c (hw_phb_dma_read_buffer): Likewise.
274	(hw_phb_dma_write_buffer): Likewise.
275	* hw_shm.c (hw_shm_init_data): Delete d variable.
276	(hw_shm_attach_address_callback): Delete shm variable.
277	* igen.c (gen_semantics_c): Include tree.h.
278	* interrupts.c (alignment_interrupt): Cast vars to unsigned long.
279	* ld-insn.c (dump_insn_field): Cast vars to unsigned long.
280	* main.c (main): Add const to argv.
281	* options.c (print_options): Cast var to int.
282	* ppc-instructions: Add %s to format.  Delete shifted variable.  Add
283	parenthesis to binary operations.
284	* psim.c (find_arg): Add const to return and argv.
285	(is_num): Add const to string.
286	(psim_options): Add const to return and argv, and p & param.
287	(psim_command): Add const to argv, device, and media.
288	(psim_stack): Add const to argv and envp.
289	* psim.h: Add const to psim_options, psim_command, and psim_stack.
290	* tree.c (parse_reg_property): Delete & from sizeof.
291	* vm.c (om_virtual_to_real): Const vars to long.
292	* vm_n.h (vm_data_map_read_N): Change format to %zu.
293	(vm_data_map_write_N): Likewise.
294	* configure: Regenerate.
295
2962021-05-14  Mike Frysinger  <vapier@gentoo.org>
297
298	* Makefile.in: Update path.
299	* gdb-sim.c: Update include path.
300	* main.c: Likewise.
301	* psim.h: Likewise.
302	* sim_calls.c: Likewise.
303
3042021-04-22  Tom Tromey  <tom@tromey.com>
305
306	* mon.c: Update includes.
307	* emul_unix.c: Update includes.
308	(do_unix_gettimeofday): Update condition.
309
3102021-04-22  Tom Tromey  <tom@tromey.com>
311
312	* Makefile.in (stamp-vals, stamp-map): New targets.
313	(targ-vals.h, targ-map.c): Update.
314	(clean): Remove files.
315
3162021-04-08  Tom Tromey  <tom@tromey.com>
317
318	* emul_unix.c: Include time.h.
319
3202021-04-08  Simon Marchi  <simon.marchi@polymtl.ca>
321
322	* Makefile.in: Set ASAN_OPTIONS when running igen.
323
3242021-04-03  Mike Frysinger  <vapier@gentoo.org>
325
326	* Makefile.in (install): Install as run-ppc when not the primary arch.
327	(install-strip): Likewise.
328
3292021-03-13  Mike Frysinger  <vapier@gentoo.org>
330
331	* Makefile.in (BUILD_LDFLAGS): Rename to ...
332	(LDFLAGS_FOR_BUILD): ... this.
333	(LINK_FOR_BUILD): Change BUILD_LDFLAGS to LDFLAGS_FOR_BUILD.
334
3352021-03-13  Mike Frysinger  <vapier@gentoo.org>
336
337	* Makefile.in (COMPILE_FOR_BUILD, LINK_FOR_BUILD): Define.
338	Change $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) to
339	$(LINK_FOR_BUILD).  Change $(CC_FOR_BUILD) $(BUILD_CFLAGS) to
340	$(COMPILE_FOR_BUILD).
341
3422021-03-08  Mike Frysinger  <vapier@gentoo.org>
343
344	* Makefile.in (gentmap, dgen, igen, tmp-filter, tmp-ld-decode,
345	tmp-ld-cache, tmp-ld-insn): Delete $(BUILD_LIBS).
346
3472021-03-07  Mike Frysinger  <vapier@gentoo.org>
348
349	* Makefile.in (check): Define.
350
3512021-02-13  Mike Frysinger  <vapier@gentoo.org>
352
353	* configure.ac: Replace sinclude with AC_CONFIG_MACRO_DIRS.
354	* aclocal.m4, configure: Regenerate.
355
3562021-02-06  Mike Frysinger  <vapier@gentoo.org>
357
358	* Makefile.in (STD_CFLAGS): Delete $(HDEFINES) $(TDEFINES).
359	(NOWARN_CFLAGS): Likewise.
360	(HDEFINES, TDEFINES): Delete.
361	* configure.ac: Delete AC_SUBST(HDEFINES) and bfd/configure.host
362	sourcing.
363	* configure: Regenerate.
364
3652021-01-19  Mike Frysinger  <vapier@gentoo.org>
366
367	* Makefile.in (version.c): Simplifiy args and call move-if-change.
368
3692021-01-11  Mike Frysinger  <vapier@gentoo.org>
370
371	* configure.ac: Delete checks for stdlib.h, string.h,
372	strings.h, and time.h.
373	* config.in, configure: Regenerate.
374	* cpu.c, debug.c, device.c, device_table.c, device_table.h,
375	dgen.c, emul_bugapi.c, emul_chirp.c, emul_netbsd.c, emul_unix.c,
376	filter.c, hw_com.c, hw_eeprom.c, hw_nvram.c, hw_opic.c, hw_pal.c,
377	hw_phb.c, hw_sem.c, hw_shm.c, lf.c, main.c, misc.c, misc.h,
378	mon.c, pk_disklabel.c, psim.c, registers.c, sim_calls.c, table.c,
379	tree.c: Delete HAVE_ERRNO_H, HAVE_STDLIB_H, HAVE_STRING_H,
380	HAVE_STRINGS_H, HAVE_LIMITS_H, HAVE_TIME_H, and strings.h include.
381	* hw_nvram.c: Likewise.
382	(_hw_nvram_device): Always define host_time as time_t.
383	(hw_nvram_update_clock): Delete error fallback.
384	* gen-model.c (gen_model_c): Delete HAVE_STDLIB_H output.
385
386
3872021-01-09  Mike Frysinger  <vapier@gentoo.org>
388
389	* configure: Regenerate.
390
3912021-01-08  Mike Frysinger  <vapier@gentoo.org>
392
393	* sim_calls.c (sim_memory_map): Define.
394
3952021-01-04  Mike Frysinger  <vapier@gentoo.org>
396
397	* gen-icache.c, igen.c: Include stdlib.h.
398
3992021-01-04  Mike Frysinger  <vapier@gentoo.org>
400
401	* acinclude.m4 (ACX_BUGURL): Change http:// to https://.
402	* configure: Regenerate.
403
4042020-10-20  Dr. David Alan Gilbert  <dgilbert@redhat.com>
405
406	* emul_netbsd.c (do_sigprocmask): Fix printf format.
407
4082020-07-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
409
410	* ld-insn.h (last_model, last_model_data, last_model_function,
411	last_model_internal, last_model_macro, last_model_static):
412	Delete.
413	(max_model_fields_len, model_data, model_functions,
414	model_internal, model_macros, model_static, models): Declare, but do not
415	define.
416	* ld-insn.c (last_model, last_model_data, last_model_function,
417	last_model_internal, last_model_macro, last_model_static,
418	max_model_fields_len, model_data, model_functions,
419	model_internal, model_macros, model_static, models): Define.
420
4212020-03-12  Kamil Rytarowski  <n54@gmx.com>
422
423	* emul_netbsd.c (netbsd_signal_names): Sync with NetBSD 9.99.49.
424
4252020-03-12  Kamil Rytarowski  <n54@gmx.com>
426
427	* emul_netbsd.c (netbsd_error_names): Sync with NetBSD 9.99.49.
428
4292019-12-19  Tom Tromey  <tromey@adacore.com>
430
431	PR build/24572:
432	* Makefile.in (install-strip): New target.
433
4342019-09-20  Alan Modra  <amodra@gmail.com>
435
436	* emul_generic.c (emul_add_tree_options): Delete old bfd code.
437
4382019-01-26  Tom Tromey  <tom@tromey.com>
439
440	* Makefile.in (version.c): Use sim's create-version.sh.
441
4422018-05-09  Sebastian Rasmussen  <sebras@gmail.com>
443
444	* e500_registers.h: Comment typo fix.
445	* ppc-instructions (ppc_insn_mfcr): Likewise.
446
4472017-09-05  John Baldwin  <jhb@FreeBSD.org>
448
449	PR sim/20863
450	* sim_calls.c (error): New function.
451
4522017-02-13  Mike Frysinger  <vapier@gentoo.org>
453
454	* cpu.h: Include libiberty.h.
455	* emul_bugapi.c (emul_bugapi_instruction_name): Use ARRAY_SIZE.
456	* emul_generic.h: Include libiberty.h.
457	* emul_netbsd.c (emul_netbsd_syscalls): Use ARRAY_SIZE.
458	* emul_unix.c (convert_to_solaris_stat): Likewise.
459	(emul_solaris_syscalls): Likewise.
460	(emul_linux_syscalls): Likewise.
461	* options.c (print_options): Likewise.
462	* ppc-instructions: Likewise.
463
4642016-01-10  Mike Frysinger  <vapier@gentoo.org>
465
466	* configure.ac (sim-assert): Call AC_MSG_CHECKING,
467	AC_DEFINE_UNQUOTED, and AC_MSG_RESULT
468	(sim-env, sim-stdio, sim-trace): Delete.
469	* config.in, configure: Regenerate.
470	* Make-common.in (ENV_CFLAGS, TRACE_CFLAGS, ASSERT_CFLAGS,
471	STDIO_CFLAGS): Delete.
472	(CONFIG_CFLAGS): Delete $(ENV_CFLAGS), $(TRACE_CFLAGS),
473	$(ASSERT_CFLAGS), and $(STDIO_CFLAGS).
474	* std-config.h (WITH_ENVIRONMENT, WITH_TRACE, WITH_ASSERT,
475	WITH_STDIO): Delete.
476
4772016-01-10  Mike Frysinger  <vapier@gentoo.org>
478
479	* configure: Regenerate.
480
4812016-01-10  Mike Frysinger  <vapier@gentoo.org>
482
483	* configure: Regenerate.
484
4852016-01-10  Mike Frysinger  <vapier@gentoo.org>
486
487	* configure.ac: Delete --enable-sim-regparm and sim_regparm,
488	and --enable-sim-stdcall and sim_stdcall.
489	* configure: Regenerate.
490	* Makefile.in (REGPARM_CFLAGS, STDCALL_CFLAGS): Delete.
491	(CONFIG_CFLAGS): Delete $(REGPARM_CFLAGS) and $(STDCALL_CFLAGS).
492	* inline.h: Delete REGPARM everywhere.
493	* options.c (print_options): Delete WITH_REGPARM and
494	WITH_STDCALL.
495	* std-config.h (WITH_REGPARM, WITH_STDCALL, REGPARM): Delete.
496
4972016-01-10  Mike Frysinger  <vapier@gentoo.org>
498
499	* configure.ac: Delete --enable-sim-cflags and sim_cflags.
500	* configure: Regenerate.
501	* INSTALL: Delete all mention of --enable-sim-cflags.
502	* Makefile.in (SIM_CFLAGS): Delete.
503	(STD_CFLAGS, NOWARN_CFLAGS): Delete $(SIM_CFLAGS).
504	(psim): Likewise.
505
5062016-01-06  Mike Frysinger  <vapier@gentoo.org>
507
508	* sim_calls.c (sim_open): Mark argv const.
509	(sim_create_inferior): Mark argv and env const.
510
5112016-01-04  Mike Frysinger  <vapier@gentoo.org>
512
513	* configure.ac (sim-bswap): Delete.
514	* configure: Regenerate.
515	* INSTALL: Delete --enable-sim-bswap docs.
516	* Makefile.in (BSWAP_CFLAGS): Delete.
517	(CONFIG_CFLAGS): Delete $(BSWAP_CFLAGS).
518	* options.c (print_options): Delete WITH_BSWAP.
519	* sim-endian.h (htonl, ntohl): Delete.
520	* std-config.h (WITH_BSWAP): Delete.
521
5222016-01-02  Mike Frysinger  <vapier@gentoo.org>
523
524	* main.c (main): Pass SIM_OPEN_STANDALONE to psim_options and
525	psim_usage.
526	* psim.c (psim_usage): Add new kind arg.  Only show bug URL and
527	exit when kind is SIM_OPEN_STANDALONE.
528	(psim_options): Add new kind arg.  Pass kind down to all psim_usage
529	calls.  Replace error/break calls after psim_usage with return NULL.
530	Only exit with version case when kind is SIM_OPEN_STANDALONE.
531	* psim.h: Include gdb/remote-sim.h.
532	(psim_options): Add new kind arg.
533	(psim_usage): Likewise.
534	* sim_calls.c (sim_open): Pass kind to psim_options.  Return NULL
535	when it returns NULL.
536
5372015-12-29  Kevin Buettner  <kevinb@redhat.com>
538
539	* emul_netbsd.c (fd_closed): New static array.
540	(fdbad): New function.
541	(do_read, do_write, do_close, do_dup, do_ioctl, do_dup2, do_fcntl)
542	(do_fstatfs, do_fstat, do_lseek): Call `fdbad'.
543	(emul_netbsd_init): Initialize `fd_closed'.
544	* emul_unix.c (fd_closed): New static array.
545	(fdbad): New function.
546	(do_unix_read, do_unix_write, do_unix_close, do_unix_dup)
547	(do_unix_dup2, do_unix_lseek, do_solaris_fstat, do_solaris_ioctl)
548	(do_linux_fstat, do_linux_ioctl): Call `fdbad'.
549	(emul_solaris_init, emul_linux_init): Initialize `fd_closed'.
550
5512015-12-26  Mike Frysinger  <vapier@gentoo.org>
552
553	* Makefile.in (TCONFIG_H): Delete.
554	(sim-fpu.o): Delete $(TCONFIG_H).
555	(tconfig.h): Delete rule.
556
5572015-11-21  Mike Frysinger  <vapier@gentoo.org>
558
559	PR sim/13834
560	* Makefile.in (gentmap): Change $< to $(srcdir)/../common/gentmap.c.
561	(callback.o): Change $< to $(srcdir)/../common/callback.c.
562	(options.o): Change $< to $(srcdir)/options.c.
563
5642015-11-17  Pedro Alves  <palves@redhat.com>
565
566	* debug.h (TRACE, ITRACE, DTRACE, DITRACE, PTRACE): Call
567	sim_io_printf_filtered instead of printf_filtered.
568
5692015-06-12  Mike Frysinger  <vapier@gentoo.org>
570
571	* configure: Regenerate.
572
5732015-04-29  Nick Clifton  <nickc@redhat.com>
574
575	PR 18273
576	* hw_htab.c (htab_map_binary): Fix overlap check.
577
5782015-04-13  Mike Frysinger  <vapier@gentoo.org>
579
580	* Makefile.in (version.o): Change to using create-version.sh from gdb.
581	(create-version.sh): Delete.
582
5832015-03-31  Mike Frysinger  <vapier@gentoo.org>
584
585	* config.in, configure: Regenerate.
586	* Makefile.in (INCLUDES): Add $(ZLIBINC).
587	(ZLIB, ZLIBINC): Define.
588	(BFD_LIB): Add $(ZLIB).
589
5902014-11-23  Joel Sherrill <joel.sherrill@oarcorp.com>
591
592	* ChangeLog, ChangeLog.00, hw_com.c, ld-cache.h, ppc-instructions:
593	Change immediatly to immediately.
594
5952014-08-27  Joel Sherrill <joel.sherrill@oarcorp.com>
596
597	* basics.h, device.c, device.h, hw_htab.c, hw_memory.c:
598	Correct spelling in comments.
599
6002014-08-19  Alan Modra  <amodra@gmail.com>
601
602	* configure.ac: Invoke AC_PLUGINS.
603	* configure: Regenerate.
604	* config.in: Regenerate.
605
6062014-03-10  Mike Frysinger  <vapier@gentoo.org>
607
608	* sim_calls.c (sim_do_command): Add const to cmd.
609
6102014-03-05  Mike Frysinger  <vapier@gentoo.org>
611
612	* sim_calls.c (sim_load): Add const to prog.
613
6142014-02-17  Aaro Koskinen  <aaro.koskinen@iki.fi>
615
616	PR gdb/12202
617	* Makefile.in (psim): Delete $(LIBS) from dependency.
618
6192013-10-15  Hans-Peter Nilsson  <hp@axis.com>
620
621	* Makefile.in (srcsim): New variable.
622	(version.c): Adjust call to $(srccom)/create-version.sh as per change.
623
6242013-06-28  Tom Tromey  <tromey@redhat.com>
625
626	* Make-common.in (version.c): Use version.in, not
627	common/version.in.
628
6292013-06-24  Joel Brobecker  <brobecker@adacore.com>
630
631	* Makefile.in (srccom): New variable.
632	(version.c): Update rule dependencies, and re-implement using
633	sim/common/create-version.sh.
634
6352013-05-03  Hafiz Abid Qadeer  <abidh@codesourcery.com>
636
637	revert:
638	2013-04-19  Nathan Froyd  <froydnj@codesourcery.com>
639	* ppc-instructions (isel): New instruction.
640
6412013-04-19  Nathan Froyd  <froydnj@codesourcery.com>
642
643	* ppc-instructions (isel): New instruction.
644
6452012-12-19  Joel Brobecker  <brobecker@adacore.com>
646
647	* COPYING: Update to GPL version 3.
648
6492012-06-15  Joel Brobecker  <brobecker@adacore.com>
650
651	* configure: Regenerate.
652
6532012-05-24  Pedro Alves  <palves@redhat.com>
654
655	PR gdb/7205
656	* Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
657
6582012-03-14  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
659
660	* emul_unix.c (st_pad1, st_pad2, st_pad3): Undefine.
661
6622012-01-02  Joel Brobecker  <brobecker@adacore.com>
663
664	* dp-bit.c: Reformat copyright header.
665
6662011-02-11  Ben Golding  <ben_golding@yahoo.co.uk>
667
668	* events.c: add #include <stdlib.h> for free(). Fix PR build/13372.
669
6702011-10-17  Mike Frysinger  <vapier@gentoo.org>
671
672	* configure.ac: Change include to common/acinclude.m4.
673
6742011-10-17  Mike Frysinger  <vapier@gentoo.org>
675
676	* configure.ac: Change AC_PREREQ to 2.64.  Delete AC_CONFIG_HEADER
677	call.  Replace common.m4 include with SIM_AC_COMMON.
678	* configure: Regenerate.
679
6802011-06-09  Joel Brobecker  <brobecker@adacore.com>
681
682	* psim.c (psim_options): Fix length of comparison when checking
683	for --sysroot= option.
684
6852011-06-08  Joel Brobecker  <brobecker@adacore.com>
686
687	* psim.c (psim_options): Add option that cause the error
688	in invalid-option error messages. Print the usage when
689	detecting an invalid long-name option.
690
6912011-06-08  Joel Brobecker  <brobecker@adacore.com>
692
693	* psim.c (psim_options): Accept and ignore `--sysroot=...'.
694
6952011-06-03  Joel Brobecker  <brobecker@adacore.com>  (obvious fix)
696
697	From Stephen Kitt  <steve@sk2.org>
698	* vm.c (vm_synchronize_context): Spelling fix in function
699	documentation.
700
7012011-04-16  Mike Frysinger  <vapier@gentoo.org>
702
703	* sim_calls.c (sim_complete_command): New stub function.
704
7052011-02-14  Mike Frysinger  <vapier@gentoo.org>
706
707	* cap.c (cap_remove): Change zfree to free.
708	* corefile.c (core_init): Likewise.
709	* device.c (detach_device_interrupt_edge): Likewise.
710	(clean_device_interrupt_edges): Likewise.
711	(device_instance_delete): Likewise.
712	(device_set_property): Likewise.
713	(clean_device_properties): Likewise.
714	(device_add_range_array_property): Likewise.
715	(device_add_reg_array_property): Likewise.
716	* emul_bugapi.c (emul_bugapi_do_read): Likewise.
717	(emul_bugapi_do_write)
718	* emul_netbsd.c (write_direntries): Likewise.
719	(do_read): Likewise.
720	(do_write): Likewise.
721	(do_getdirentries): Likewise.
722	* emul_unix.c (do_unix_read): Likewise.
723	(do_unix_write): Likewise.
724	* events.c (event_queue_init): Likewise.
725	(event_queue_deschedule): Likewise.
726	(event_queue_process): Likewise.
727	* hw_disk.c (open_disk_image): Likewise.
728	(hw_disk_instance_delete): Likewise.
729	* hw_eeprom.c (hw_eeprom_instance_delete): Likewise.
730	* hw_htab.c (htab_dma_binary): Likewise.
731	* hw_init.c (update_for_binary_section): Likewise.
732	* hw_memory.c (hw_memory_set_available): Likewise.
733	(hw_memory_init_address): Likewise.
734	(hw_memory_instance_release): Likewise.
735	* pk_disklabel.c (disklabel_delete): Likewise.
736	* table.c (table_push): Likewise.
737	* tree.c (parse_reg_property): Likewise.
738	(parse_ranges_property): Likewise.
739	(parse_string_property): Likewise.
740	* main.c (zfree): Delete.
741	* sim_calls.c (zfree): Likewise.
742	* sim_callbacks.h (zfree): Likewise.
743
7442011-01-11  Andrew Burgess  <aburgess@broadcom.com>
745
746	* gdb-sim.c (sim_store_register): Update return value to
747	match new API.
748
7492011-01-05  Joel Brobecker  <brobecker@adacore.com>
750
751	* psim.texinfo: Copyright year update.
752
7532010-04-14  Mike Frysinger  <vapier@gentoo.org>
754
755	* sim_calls.c (sim_write): Add const to buf arg.
756
7572010-02-14  Andreas Schwab  <schwab@linux-m68k.org>
758
759	* ppc-instructions: Fix missing assignment in last change.
760
7612010-02-05  Andreas Schwab  <schwab@linux-m68k.org>
762
763	* ppc-instructions: Fix aliasing bugs when calling
764	invalid_arithemetic_operation.
765
7662009-11-13  Nathan Froyd  <froydnj@codesourcery.com>
767
768	* configure.ac: If build != host, create a separate build-config.h
769	file desecribing the build machine.
770	* configure: Regenerate.
771	* lf.c: Include build-config.h instead of config.h.
772	* dgen.c: Likewise.
773	* igen.c: Likewise.
774	* misc.c: Likewise.
775	* misc.h: Likewise.
776	* filter.c: Likewise.
777	* table.c: Likewise.
778
7792009-10-15  Joel Sherrill <joel.sherrill@oarcorp.com>
780
781	* std-config.h: Fix spelling error.
782
7832009-09-22  Joel Sherrill  <joel.sherrill@oarcorp.com>
784
785	* main.c: Fix spelling error.
786
7872009-09-15  Andreas Tobler <andreast-list@fgznet.ch>
788	    Doug Evans  <dje@google.com>
789
790	* configure.ac (sim_hwflags): Use AC_DEFINE to define HAVE_UNION_SEMUN.
791	* configure: Regenerate.
792	* config.in: Regenerate.
793	* hw_sem.c: (HAVE_UNION_SEMUN): Renamed from HAS_UNION_SEMUN.
794
7952009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
796
797	* config.in: Regenerate.
798	* configure: Likewise.
799
800	* configure: Regenerate.
801
8022009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
803
804	* Makefile.in (datarootdir): New variable.
805
8062009-01-12  Nathan Froyd  <froydnj@codesourcery.com>
807
808	* ppc-instructions (sync): Add L field.
809
8102008-12-15 Joel Sherrill <joel.sherrill@oarcorp.com>
811
812	* ppc-instructions, ppc-spr-table: Add ability
813	to read tbrl and tbru special registers.
814
8152008-11-18  Joel Sherrill <joel.sherrill@oarcorp.com>
816
817	* configure: Regenerated.
818	* configure.ac: Add test for System V shared memory and semaphore.
819	* debug.c, debug.h: Add trace support for new devices.
820	* hw_sem.c, hw_shm.c: New files.
821	* Makefile.in: Add hw_sem.c and hw_shm.c.
822
8232008-07-11  Hans-Peter Nilsson  <hp@axis.com>
824
825	* configure.ac: Add test for libz and zlib.h.
826	* Makefile.in (LIBS): Set from @LIBS@.
827	* configure: Regenerate.
828	* config.in: Ditto.
829
8302008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
831	    Daniel Jacobowitz  <dan@codesourcery.com>
832	    Joseph Myers  <joseph@codesourcery.com>
833
834	* configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
835	* configure, config.in: Regenerated.
836	* Makefile.in (LIB_OBJ): Add version.o.
837	(version.c, version.o): New rules.
838	* psim.c (psim_usage): Add help parameter.  Print the bug URL.
839	Exit with code 0 for help.
840	(psim_options): Update calls to psim_usage.  Handle --help and
841	--version.
842	* psim.h (psim_usage): Update prototype.
843	* main.c (main): Update psim_usage call.
844
8452008-03-14  Nick Hudson  <nick.hudson@dsl.pipex.com
846
847	* configure.ac: Pass ../../intl to ZW_GNU_GETTEXT_SISTER_DIR.
848	* configure: Regenerate.
849
8502007-10-15  Daniel Jacobowitz  <dan@codesourcery.com>
851
852	* gdb-sim.c (regnum2spr): Rename to...
853	(sim_spr_register_name): ... this.  Make global.
854
8552007-09-04  Jerome Guitton  <guitton@adacore.com>
856
857	* sim/ppc/emul_bugapi.c (emul_bugapi_create): quote the file
858	name property before parsing it.
859
8602006-12-21  Hans-Peter Nilsson  <hp@axis.com>
861
862	* acconfig.h: Remove.
863	* config.in: Regenerate.
864
8652006-11-22  Tom Marn <tom.marn@telargo.com>
866
867	Committed by Andrew Cagney.
868	* ppc-instructions: Implement optional PowerPC stfiwx instruction.
869
8702006-07-12  Fred Fish  <fnf@specifix.com>
871
872	* sim-endian.h (asm/byteorder.h): Don't include private kernel
873	header.
874
8752006-06-13  Richard Earnshaw  <rearnsha@arm.com>
876
877	* configure: Regenerated.
878
8792006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
880
881	* Makefile.in: Replace INTLLIBS and INTLDEPS with LIBINTL
882	and LIBINTL_DEP everywhere.
883	(INTL_DIR, INTL_SRC): Remove.
884	(INTL_CFLAGS): Use INCINTL.
885	* configure.ac: Use ZW_GNU_GETTEXT_SISTER_DIR.
886	* configure: Regenerated.
887
8882006-05-05  Andreas Schwab  <schwab@suse.de>
889
890	* configure.ac (CFLAGS_FOR_BUILD): Set and substitute.
891	* configure: Regenerate.
892
893	* Makefile.in (CFLAGS_FOR_BUILD): Define.
894	(BUILD_CFLAGS): Use it instead of hardcoding "-g -O".
895	(gentmap): Fix typo BUILD_FLAGS -> BUILD_CFLAGS.
896
8972006-04-23  Andreas Schwab  <schwab@suse.de>
898
899	* Makefile.in (tmp-ld-decode): Fix dependencies.
900	(tmp-ld-cache): Likewise.
901	(tmp-ld-insn): Likewise.
902
9032006-02-01  Mark Mitchell  <mark@codesourcery.com>
904
905	* emul_netbsd.c (emul_netbsd_create): Quote file-name property.
906	* emul_unix.c (emul_unix_create): Likewise.
907	* tree.c (libiberty.h): Include it.
908	(tree_quote_property): New function.
909	* tree.h (tree_quote_property): Declare.
910
9112006-01-25  Mark Mitchell  <mark@codesourcery.com>
912
913	* words.h (natural32): Define as "int".
914
9152006-01-23  Mark Mitchell  <mark@codesourcery.com>
916
917	* words.h (signed32): Define as "int".
918	(unsigned32): Define as "unsigned int".
919
9202005-11-28 Mark Mitchell  <mark@codesourcery.com>
921
922	* configure.ac (USE_WIN32API): Define it.
923	* configure.in: Regenerate.
924	* config.in: Likewise.
925	* emul_netbsd.c (write_timezone): Guard with HAVE_GETTIMEOFDAY.
926	* emul_unix.c (do_unix_mkdir): Handle Win32 1-argument mkdir.
927
9282005-11-28  Mark Mitchell  <mark@codesourcery.com>
929
930	* psim.c: Include gdb/signals.h.
931
932	* sim_calls.c (gdb/signals.h): Include it.
933	(sim_stop_reason): Use TARGET_SIGNAL_*.
934	* psim.c (cntrl_c_simulation): Use TARGET_SIGNAL_*.
935
9362005-07-15  Ben Elliston  <bje@au.ibm.com>
937
938	* hw_htab.c (bfd_get_section_lma): Remove macro; use BFD's.
939
9402005-07-15  Ben Elliston  <bje@au.ibm.com>
941
942	* hw_init.c: Comment out tokens after #endif directive.
943	* hw_register.c: Likewise.
944	* hw_trace.c: Likewise.
945	* hw_vm.c: Likewise.
946
9472005-04-20  Manoj Iyer  <manjo@austin.ibm.com>
948
949	* psim.c: Added libiberty.h header file.
950
9512005-04-18  Manoj Iyer  <manjo@austin.ibm.com>
952
953	* configure.ac: Added check for long long.
954	* config.in: Regenerated.
955	* configure: Regenerated.
956	* words.h: Modified logic to check for HAVE_LONG_LONG instead of
957	__GNUC__, added config.h header file.
958
9592005-03-25  Anthony Green  <green@redhat.com>
960
961	* tree.c (parse_reg_property): Fix memset usage.
962
9632005-03-23  Mark Kettenis  <kettenis@gnu.org>
964
965	* configure: Regenerate.
966
9672005-01-11  Andrew Cagney  <cagney@localhost.localdomain>
968
969	* configure.ac: Delete AC_CONFIG_AUX_DIR.
970	* configure: Re-generate.
971
9722005-01-07  Andrew Cagney  <cagney@gnu.org>
973
974	* configure.ac: Rename configure.in, require autoconf 2.59.
975	* configure: Re-generate.
976
9772005-01-03  Andreas Schwab  <schwab@suse.de>
978
979	* Makefile.in (hw_com.o, hw_eeprom.o): Depend on
980	$(DEVICE_TABLE_H).
981
9822004-11-16  Andreas Schwab  <schwab@suse.de>
983
984	* Makefile.in (defines.h): Depend on tmp-defines.
985	(hw.c hw.h): Depend on tmp-hw.
986	(pk.h): Depend on tmp-pk.
987
9882004-11-11  Andreas Schwab  <schwab@suse.de>
989
990	* sim_calls.c: Include "libiberty.h".
991
9922004-09-24  Ian Lance Taylor <ian@wasabisystems.com>
993
994	Committed by Andrew Cagney.
995	* configure.in: Check for sys/mount.h, sys/vfs.h, sys/statfs.h.
996	Check for struct statfs.
997	* emul_netbsd.c: If not HAVE_STRUCT_STATFS, #undef HAVE_FSTATFS.
998	* configure, config.in: Regenerate.
999
10002004-08-05  Nathanael Nerode  <neroden@gcc.gnu.org>
1001
1002	* Makefile.in (GDB_INCLUDES): Remove bogus reference to mmalloc.
1003
10042004-08-04  Andrew Cagney  <cagney@gnu.org>
1005	    Jim Blandy <jimb@redhat.com>
1006
1007	* sim_callbacks.h (simulator): Declare.
1008	* Makefile.in (gdb-sim.o): New rule.
1009	(MAIN_SRC, GDB_OBJ): Add gdb-sim.o, gdb-sim.c.
1010	(DEFS_H): Delete.
1011	(GDB_SIM_PPC_H): Define.
1012	* gdb-sim.c: New file.
1013	* sim_calls.c: Do not include "defs.h".
1014	(simulator): Drop static.
1015	(sim_store_register, sim_fetch_register): Delete.
1016
10172004-08-04  Andrew Cagney  <cagney@gnu.org>
1018
1019	* Back out accidently committed change.
1020
10212004-08-04  Jim Blandy  <jimb@redhat.com>
1022
1023	Use a fixed register numbering when communicating with the PowerPC
1024	simulator.
1025	* sim_calls.c: #include "registers.h" and "gdb/sim-ppc.h"; do not
1026	include GDB's "defs.h".
1027	(gdb_register_name_table): New variable.
1028	(gdb_register_name_table_size): New enum constant.
1029	(gdb_register_name): New function.
1030	(sim_fetch_register, sim_store_register): Use gdb_register_name,
1031	instead of calling gdbarch_register_name.
1032	* Makefile.in (GDB_SIM_PPC_H): New variable.
1033	(DEFS_H): Delete variable.
1034	(sim_calls.o): Update dependencies.
1035
10362004-07-26  Andrew Cagney  <cagney@gnu.org>
1037
1038	Problem from Olaf Hering <olh@suse.de>.
1039	* Makefile.in (install, installdirs): Add DESTDIR.
1040
10412004-07-10  Ben Elliston  <bje@au.ibm.com>
1042
1043	* tree.c (parse_integer_property): Comment typo fix.
1044
10452004-07-06  Jim Blandy  <jimb@redhat.com>
1046
1047	* Makefile.in: Update all dependency information.
1048	(BASICS_H, CPU_H, IDECODE_H, PSIM_H, REGISTERS_H, DEVICE_TABLE_H)
1049	(EMUL_GENERIC_H): Values updated.
1050	(ACCONFIG_H, ALTIVEC_EXPRESSION_H, ALTIVEC_REGISTERS_H)
1051	(ANSIDECL_H, BFD_H, BITS_H, CAP_H, COMMON_SIM_BASE_H)
1052	(COMMON_SIM_BASICS_H, COMMON_SIM_FPU_H, COMMON_SIM_INLINE_H)
1053	(COMMON_SIM_SIGNAL_H, CONFIG_H, COREFILE_H, COREFILE_N_H, DEBUG_H)
1054	(DEFINES_H, DEFS_H, DEVICE_H, E500_EXPRESSION_H, E500_REGISTERS_H)
1055	(EMUL_BUGAPI_H, EMUL_CHIRP_H, EMUL_NETBSD_H, EMUL_UNIX_H, EVENTS_H)
1056	(FILTER_FILENAME_H, FILTER_H, GDB_CALLBACK_H, GDB_REMOTE_SIM_H)
1057	(GEN_ICACHE_H, GEN_IDECODE_H, GEN_ITABLE_H, GEN_MODEL_H)
1058	(GEN_SEMANTICS_H, GEN_SUPPORT_H, HW_CPU_H, HW_H, HW_PHB_H)
1059	(ICACHE_H, IDECODE_BRANCH_H, IDECODE_EXPRESSION_H)
1060	(IDECODE_FIELDS_H, IGEN_H, INLINE_H, INTERRUPTS_H, ITABLE_H)
1061	(LD_CACHE_H, LD_DECODE_H, LD_INSN_H, LF_H, MISC_H, MODEL_H, MON_H)
1062	(OPTIONS_H, OS_EMUL_H, PK_H, PPC_CONFIG_H, SEMANTICS_H)
1063	(SIM_CALLBACKS_H, SIM_ENDIAN_H, SIM_ENDIAN_N_H, SIM_MAIN_H)
1064	(SPREG_H, STD_CONFIG_H, SUPPORT_H, TABLE_H, TARG_VALS_H, TCONFIG_H)
1065	(TREE_H, VM_H, VM_N_H, WORDS_H): New variables.
1066	(callback.o, cap.o, corefile.o, debug.o, device.o, device_table.o)
1067	(dgen.o, emul_bugapi.o, emul_chirp.o, emul_netbsd.o, emul_unix.o)
1068	(events.o, filter.o, filter_filename.o, filter_host.o)
1069	(gen-icache.o, gen-idecode.o, gen-itable.o, gen-model.o)
1070	(gen-semantics.o, gen-support.o, hw_core.o, hw_cpu.o, hw_disk.o)
1071	(hw_htab.o, hw_init.o, hw_phb.o, hw_register.o, icache.o)
1072	(idecode.o, igen.o, interrupts.o, itable.o, ld-cache.o)
1073	(ld-decode.o, ld-insn.o, lf.o, main.o, misc.o, model.o, mon.o)
1074	(options.o, os_emul.o, pk_disklabel.o, psim.o, registers.o)
1075	(semantics.o, sim-endian.o, sim-fpu.o, sim_calls.o, spreg.o)
1076	(support.o, table.o, targ-map.o, tree.o, vm.o): Update dependencies.
1077
10782004-06-28  Jim Blandy  <jimb@redhat.com>
1079
1080	* e500_registers.h (EVR): Cast the 32-bit value of the GPR to an
1081	unsigned type before or-ing it with a 64-bit value.
1082
10832004-06-15  Alan Modra  <amodra@bigpond.net.au>
1084
1085	* hw_htab.c (htab_sum_binary(bfd): Use bfd_get_section_size
1086	instead of bfd_get_section_size_before_reloc.
1087	(htab_dma_binary(bfd): Likewise.
1088	* hw_init.c (update_for_binary_section(bfd): Likewise.
1089
10902004-05-10  Daniel Jacobowitz  <dan@debian.org>
1091
1092	* configure.in (sim_fpu_cflags): Add -I../common.
1093	* configure: Regenerated.
1094
10952004-01-27  Andrew Cagney  <cagney@redhat.com>
1096
1097	* ppc-instructions: Update copyright.
1098	(convert_to_integer): Add trailing ";" to label.
1099
11002003-10-16  Michael Snyder  <msnyder@redhat.com>
1101
1102	* emul_netbsd.c: Only a comment may follow an #endif.
1103
11042003-10-15  Michael Snyder  <msnyder@redhat.com>
1105
1106	* Makefile.in (sim_calls.o): No longer depends on gdb/tm.h.
1107
11082003-06-22  Andrew Cagney  <cagney@redhat.com>
1109
1110	Written by matthew green <mrg@redhat.com>, with fixes from Aldy
1111	Hernandez <aldyh@redhat.com>, Jim Wilson <wilson@redhat.com>, and
1112	Nick Clifton <nickc@redhat.com>.
1113
1114	* ppc-instructions: Include altivec.igen and e500.igen.
1115	(model_busy, model_data): Add vr_busy and vscr_busy.
1116	(model_trace_release): Trace vr_busy and vscr_busy.
1117	(model_new_cycle): Update vr_busy and vscr_busy.
1118	(model_make_busy): Update vr_busy and vscr_busy.
1119	* registers.c (register_description): Add Altivec and e500
1120	registers.
1121	* psim.c (psim_read_register, psim_read_register): Handle Altivec
1122	and e500 registers.
1123	* ppc-spr-table (SPEFSCR): Add VRSAVE and SPEFSCR registers.
1124	* configure.in (sim_filter): When *altivec* add "av".  When *spe*
1125	or *simd* add e500.
1126	(sim_float): When *altivec* define WITH_ALTIVEC.  When *spe* add
1127	WITH_E500.
1128	* configure: Re-generate.
1129	* e500.igen, altivec.igen: New files.
1130	* e500_expression.h, altivec_expression.h: New files.
1131	* idecode_expression.h: Update copyright.  Include
1132	"e500_expression.h" and "altivec_expression.h".
1133	* e500_registers.h, altivec_registers.h: New files.
1134	* registers.h: Update copyright.  Include "e500_registers.h" and
1135	"altivec_registers.h".
1136	(registers): Add Altivec and e500 specific registers.
1137	* Makefile.in (IDECODE_H): Add "idecode_e500.h" and
1138	"idecode_altivec.h".
1139	(REGISTERS_H): Add "e500_registers.h" and "altivec_registers.h".
1140	(tmp-igen): Add dependencies on altivec.igen and e500.igen .
1141
11422003-06-22  Andrew Cagney  <cagney@redhat.com>
1143
1144	Problems reported by Joshua LeVasseur.
1145	* emul_chirp.c: Update copyright.
1146	(chirp_emul_nextprop): Return the first property.
1147	* hw_htab.c: Update copyright.
1148	(htab_decode_hash_table): Fix check for htab size.
1149
11502003-06-21  Andrew Cagney  <cagney@redhat.com>
1151
1152	* interrupts.c: Update copyright.
1153	(external_interrupt): Fix test for already pending interrupt.
1154	Problem found by Joshua LeVasseur.
1155
1156	* ppc-instructions: Add missing +8 line.  Found by blofeldus at
1157	yahoo.com.
1158
11592003-06-21  Andrew Cagney  <cagney@redhat.com>
1160
1161	From Ian Lance Taylor <ian@airs.com>: * hw_nvram.c
1162	(hw_nvram_init_address): Correct call to memset--swap second and
1163	third arguments.
1164
11652003-06-21  Andrew Cagney  <cagney@redhat.com>
1166
1167	* hw_com.c (hw_com_device_init_data): Check that the output, and
1168	not input file opened.  Pointed out by masahino tky3.3web.ne.jp.
1169
11702003-06-20  Andrew Cagney  <cagney@redhat.com>
1171
1172	* sim_calls.c (sim_create_inferior): Assert that
1173	psim_write_register succeeded.
1174	(sim_fetch_register, sim_store_register): Make "regname" constant.
1175	Delete Altivec hack.  Return result from psim_read_register /
1176	psim_write_register.
1177	* psim.h (psim_read_register, psim_write_register): Change return
1178	type to int.  Update comments.
1179	* psim.c: Update copyright.
1180	(psim_stack): Assert that the psim_read_register worked.
1181	(psim_read_register, psim_read_register): Return the register's
1182	size.  Allocate the cooked buffer dynamically.
1183	* hw_register.c: Update copyright.
1184	(do_register_init): Check that psim_write_register succeeded.
1185	* hw_init.c: Update copyright.
1186	(create_ppc_elf_stack_frame, create_ppc_aix_stack_frame): Assert
1187	that the register transfer worked.
1188
11892003-06-19  Andrew Cagney  <cagney@redhat.com>
1190
1191	* ld-insn.h: Update copyright.
1192	(cache_fields): Define.
1193	(insn_table_fields): Add insn_field_6 and insn_field_7.
1194	(load_insn_table): Pass in the "cache_rules".
1195	* ld-insn.c: Update copyright.
1196	(load_insn_table): Add parameter "cache_rules".  Handle "cache",
1197	"computed" and "scratch" fields.
1198	(main): Pass "cache_rules" to load_insn_table.
1199	* ld-cache.h: Update copyright.
1200	(append_cache_table): Declare.
1201	* ld-cache.c: Update copyright.
1202	(append_cache_table): New function.
1203	(load_cache_table): Call.
1204	* gen-model.c: Include "ld-cache.h".
1205	* gen-itable.c: Include "ld-cache.h".
1206	* igen.c: Move #include "ld-cache.h" to earlier.  Update
1207	copyright.
1208	(main): Permit a NULL "cache_rules".  Pass address of
1209	"cache_rules" to load_insn_table.
1210	* Makefile.in (tmp-ld-insn): Add "ld-cache.o".
1211	(tmp-igen): Do not include ppc-cache-rules.
1212	(gen-itable.o, gen-model.o): Add "ld-cache.h".
1213	* ppc-cache-rules: Delete file.
1214	* ppc-instructions: Add cache rules.
1215
12162003-06-19  Andrew Cagney  <cagney@redhat.com>
1217
1218	* Makefile.in (ICACHE_CFLAGS, SEMANTICS_CFLAGS): Delete.
1219	(SIM_FPU_FLAGS): Define.
1220	(icache.o): Delete explicit compile command.
1221	(semantics.o, idecode.o): Delete explicit compile command.
1222	(NOWARN_CFLAGS, STD_CFLAGS): Append SIM_FPU_CFLAGS.
1223	* gen-support.c (gen_support_c): Generate #include of
1224	"sim-inline.h" and "sim-fpu.h", but conditional on
1225	HAVE_COMMON_FPU.
1226	* gen-idecode.c (gen_idecode_c): Ditto.
1227	* igen.c (gen_icache_c, gen_semantics_c): Wrap #include of
1228	"sim-inline.h" and "sim-fpu.h" in HAVE_COMMON_FPU conditional.
1229	Move to before "support.h".
1230	* Makefile.in, gen-support.c, gen-idecode.c, igen.c: Update
1231	copyright.
1232
12332003-05-16  Ian Lance Taylor  <ian@airs.com>
1234
1235	* Makefile.in (various): Use $(SHELL) whenever we invoke
1236	move-if-change.
1237
12382003-02-27  Andrew Cagney  <cagney@redhat.com>
1239
1240	* sim_calls.c (sim_open, sim_create_inferior): Rename _bfd to bfd.
1241
12422002-09-27  Andrew Cagney  <ac131313@redhat.com>
1243
1244	* hw_disk.c (hw_disk_init_address): Set device type to "block",
1245	not "disk".
1246
12472002-06-22  Andrew Cagney  <ac131313@redhat.com>
1248
1249	* Makefile.in (INTL_SRC): Define.
1250	(INTL_CFLAGS): Define.
1251	(INTL_DIR): Define.
1252	(STD_CFLAGS): Add INTL_CFLAGS.
1253
12542002-06-17  Elena Zannoni  <ezannoni@redhat.com>
1255
1256	* psim.c (psim_options): Don't choke when gdb invokes us with
1257	the --architecture option, just ignore it.
1258
12592002-06-16  Andrew Cagney  <ac131313@redhat.com>
1260
1261	* configure: Regenerated to track ../common/aclocal.m4 changes.
1262
12632002-06-08  Andrew Cagney  <cagney@redhat.com>
1264
1265	* main.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
1266	* sim_calls.c: Ditto.
1267
12682002-05-30  DJ Delorie  <dj@redhat.com>
1269
1270	* lf.c (lf_print__gnu_copyleft): Convert multiline strings to
1271	compatible format.
1272	* gen-idecode.c (print_run_until_stop_body): Likewise.
1273	* gen-model.c (gen_model_c): Likewise.
1274
12752002-04-15  Elena Zannoni  <ezannoni@redhat.com>
1276
1277	* sim_calls.c (sim_fetch_register, sim_store_register): Return -1 for
1278	AltiVec registers as a temporary stopgap.
1279
12802002-03-24  David O'Brien  <obrien@FreeBSD.org>
1281
1282	* ppc/hw_disk.c: Export a disk device property.
1283
12842002-03-23  Andrew Cagney  <ac131313@redhat.com>
1285
1286	From 2001-12-09 Julien Ducourthial <jducourt@noos.fr>:
1287	* ppc-instructions (lswx): Do the register control with the
1288	register count.  Initialize the right register in the loop.
1289	(mtfsfi) : Correct prefix for the instruction.
1290
12912002-02-24  Andrew Cagney  <ac131313@redhat.com>
1292
1293	From wiz at danbala:
1294	* std-config.h: Fix grammar and typos.  Update copyright.
1295	Fix PR gdb/287.
1296
12972002-01-12  matthew green  <mrg@redhat.com>
1298
1299	* Makefile.in (tmp-igen): Pass -I $(srcdir) to igen.
1300	* igen.c (main): Change -I to add include paths for :include:
1301	files.
1302	Implement -G as per sim/igen, with just gen-icache=N support.
1303	Call load_insn_table() with the built include path.
1304
1305	* ld-insn.c (parse_include_entry): New. Load an :include: file.
1306	(load_insn_table): New `includes' argument.  Look for :include:
1307	entries and call parse_include_entry() for them.
1308	(main): Adjust load_insn_table() call.
1309	* ld-insn.h (model_include_fields): New enum.
1310	(load_insn_table): Update prototype.
1311	* table.c (struct _open_table, struct _table): Rework
1312	structures to handle included files.
1313	(table_push): Move the guts of table_open() here.
1314
1315	* table.c (struct _open table, struct table): Make table object an
1316	indirect ptr to the current table file.
1317	(current_line, new_table_entry, next_line): Make file arg type
1318	open_table.
1319	(table_open): Use table_push.
1320	(table_entry_read): Point variable file at current table, at eof, pop
1321	last open table.
1322
1323	* misc.h (NZALLOC): New macro. From sim/igen.
1324
1325	* table.h, table.c (table_push): New function.
1326
13272002-01-04  matthew green  <mrg@redhat.com>
1328
1329	* bits.c (LSMASKED64): New inline function.
1330	(LSEXTRACTED64): Likewise.
1331	* bits.h (_LSB_POS, _LSMASKn, LSMASK64): New macros from
1332	sim/common/sim-bits.h
1333	(LSMASKED64, LSEXTRACTED64): New functions definitions.
1334	* Makefile.in (sim-bits.o): Remove target.
1335
1336	* main.c (zalloc): Fix typo in error message.
1337
13382001-12-16  Andrew Cagney  <ac131313@redhat.com>
1339
1340	* configure.in (sim_fpu): Don't add sim-bits.o.
1341	* configure: Re-generate.
1342
13432001-12-15  matthew green  <mrg@redhat.com>
1344
1345	* main.c: Include "defs.h", "bfd.h", "callback.h" and "remote-sim.h".
1346	(sim_io_error): New function.
1347	* sim_calls.c: (sim_io_error): New function.
1348
13492001-12-14  matthew green  <mrg@redhat.com>
1350
1351	* Makefile.in (LIB_OBJ): Add @sim_fpu@.
1352	(ICACHE_CFLAGS, SEMANTICS_CFLAGS): New variables.
1353	(icache.o, semantics.o): Add new ICACHE_FLAGS & SEMANTICS_FLAGS.
1354	(sim-fpu.o, sim-bits.o, tconfig.h): New targets.
1355	* configure.in: Rename INLINE_LOCALS to PSIM_INLINE_LOCALS.  Add a
1356	check for sim/common/sim-fpu.c.  Output sim_fpu and sim_fpu_cflags.
1357	* configure: Regenerate.
1358	* device.h (device_find_integer_array_property): Match function definition.
1359	* gen-icache.c (print_icache_internal_function_declaration): Rename
1360	INLINE_ICACHE to PSIM_INLINE_ICACHE.
1361	* gen-idecode.c (print_idecode_run_function_header): Rename INLINE_IDECODE
1362	to PSIM_INLINE_IDECODE.
1363	* gen-semantics.c (print_semantic_function_header): Rename
1364	EXTERN_SEMANTICS to PSIM_EXTERN_SEMANTICS.
1365	* gen-support.c (print_support_function_name): Rename INLINE_SUPPORT to
1366	PSIM_INLINE_SUPPORT.
1367	* igen.c (print_function_name): Also escape `(' and `)'.
1368	(gen_semantics_h): Rename EXTERN_SEMANTICS to PSIM_EXTERN_SEMANTICS.
1369	(gen_semantics_c): Likewise.  Also output includes for "sim-fpu.h"
1370	* inline.h (INLINE_SIM_ENDIAN): Renamed INLINE_PSIM_ENDIAN.
1371	(EXTERN_SIM_ENDIAN): Renamed EXTERN_PSIM_ENDIAN.
1372	(STATIC_INLINE_SIM_ENDIAN): Renamed STATIC_INLINE_PSIM_ENDIAN.
1373	(INLINE_LOCALS): Renamed PSIM_INLINE_LOCALS.
1374	(EXTERN_SUPPORT): Renamed PSIM_EXTERN_SUPPORT.
1375	(INLINE_SUPPORT): Renamed PSIM_INLINE_SUPPORT.
1376	(EXTERN_SEMANTICS): Renamed PSIM_EXTERN_SEMANTICS.
1377	(INLINE_SEMANTICS): Renamed PSIM_INLINE_SEMANTICS.
1378	(EXTERN_IDECODE): Renamed PSIM_EXTERN_IDECODE.
1379	(INLINE_IDECODE): Renamed PSIM_INLINE_IDECODE.
1380	(EXTERN_ICACHE): Renamed PSIM_EXTERN_ICACHE.
1381	(INLINE_ICACHE): Renamed PSIM_INLINE_ICACHE.
1382	* options.c (options_inline): Fix names.
1383	* sim-endian-n.h: Change INLINE_SIM_ENDIAN to INLINE_PSIM_ENDIAN.
1384	* sim-endian.h: Likewise.
1385	* sim-main.h: New file.
1386	* std-config.h: Rename INLINE_LOCALS to PSIM_INLINE_LOCALS.
1387
13882001-12-01  Andrew Cagney  <ac131313@redhat.com>
1389
1390	From Mark Peek.
1391	* ppc-spr-table: Add SDA and PIR.
1392
13932001-10-29  Andrew Cagney  <ac131313@redhat.com>
1394
1395	* tree.c (parse_size): Assert #size-cells > 0.
1396	(parse_address): Ditto for #address-cells.
1397	(parse_reg_property): Only parse the size when #size-cells is
1398	non-zero.
1399
14002001-10-25  Andrew Cagney  <ac131313@redhat.com>
1401
1402	* emul_generic.c (OEA_MEMORY_SIZE): Increase to 4mb.
1403	* hw_htab.c (htab_map_binary): Don't try to map the text section
1404	when it is empty.
1405	* emul_chirp.c (map_over_chirp_note): Default load-base to -1 not
1406	CHIRP_LOAD_BASE.
1407	(emul_chirp_create): Map in the interrupt table.
1408
14092001-07-16  Daniel Jacobowitz  <drow@mvista.com>
1410
1411	* Makefile.in: Add dependencies on $(CPU_H).
1412
1413Wed Mar  7 10:45:12 HST 2001  Glen Nakamura  <gen@lava.net>
1414
1415	* hw_init.c (dma_file): Fixed problem with loading last 1KB of
1416	file.
1417
14182001-03-04  Andrew Cagney  <ac131313@redhat.com>
1419
1420	* emul_netbsd.c [WITH_NetBSD_HOST]: Include <sys/mount.h> and
1421	<errno.h>.
1422	(do_stat): Only do SYS test when SYS_stat defined.
1423	(do_sigprocmask): Ditto for SYS_sigprocmask.
1424	(do_fstat): Ditto for SYS_fstat.
1425	(do_getdirentries): Ditto for SYS_getdirentries.
1426	(do_lstat): Ditto for SYS_lstat.
1427
14282001-01-15  Geoffrey Keating  <geoffk@redhat.com>
1429
1430	* emul_netbsd.c (do_open): Translate the flag parameter to the
1431	open syscall to the numbers supported by the host.
1432
14332000-12-12  Geoffrey Keating  <geoffk@redhat.com>
1434
1435	* sim-endian.h: Don't have parameters on macro definitions which
1436	are simply renaming functions, to permit use of XCONCAT2 in both
1437	the macro name and the arguments in a use of such a definition.
1438
14392000-11-15  Jim Blandy  <jimb@redhat.com>
1440
1441	* sim_calls.c: Doc fix.
1442	(sim_fetch_register, sim_store_register): Call
1443	gdbarch_register_name directly, instead of going through
1444	REGISTER_NAME macro.
1445
14462000-10-24  Geoff Keating  <geoffk@cygnus.com>
1447
1448	* ppc-instructions (lfsux): Correct XO field of lfsux instruction.
1449
1450Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1451
1452	* configure: Regenerated to track ../common/aclocal.m4 changes.
1453
1454Fri Apr 28 15:59:27 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1455
1456	* events.c (event_queue_process): Call update_time_from_event
1457 	every time an event is removed from the queue.
1458	(update_time_from_event): Delete assertion that a negative
1459 	time_from_event implies an empty event queue.
1460
1461Fri Apr 28 15:53:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>
1462
1463	* interrupts.c (deliver_hardware_interrupt): Print time trace in
1464 	decimal.
1465	* events.c (event_queue_process): Cleanup trace message.
1466	(update_time_from_event): Trace full event queue.
1467
14682000-03-25  Geoff Keating  <geoffk@cygnus.com>
1469
1470	* ppc-instructions (Disabled_Exponent_Underflow): Increment
1471	the exponent when denormalizing.
1472
1473Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
1474
1475	* configure: Regenerated to track ../common/aclocal.m4 changes.
1476
14771999-05-08  Felix Lee  <flee@cygnus.com>
1478
1479	* configure.in: Use AC_EXEEXT instead of AM_EXEEXT.
1480	* configure: Regenerated to track ../common/aclocal.m4 changes.
1481
14821999-04-02  Keith Seitz  <keiths@cygnus.com>
1483
1484	* sim_calls.c (POLL_QUIT_INTERVAL): Define. Used to tweak
1485	the frequency at which the poll_quit callback is called.
1486	(poll_quit_count): New global.
1487	(sim_io_poll_quit): Only call the poll_quit callback
1488	after the specified POLL_QUIT_INTERVAL.
1489
14901999-02-22  Jim Lemke  <jlemke@cygnus.com>
1491
1492	* dc-complex: Force expansion on all bits of field BO.
1493	Previously, the least-significant (prediction) bit was ignored.
1494	* ppc-instructions (conditional branches): Implement mpc860c0 option.
1495	* igen.c (gen_semantics_[ch]): Setup for mpc860c0 option.
1496	* psim.c (is_num, psim_options): Added parsing for mpc860c0 option.
1497	* interrupts.h: Added "mpc860c0_instruction_program_interrupt".
1498	* interrupts.c (program_interrupt): Added handling for above interrupt.
1499
15001999-02-01  Jim Blandy  <jimb@zwingli.cygnus.com>
1501
1502	Make the simulator compatible with the MPC750.  It would be nicer
1503	to make this a real multi-sim, but that's more work than we have
1504	time for.
1505	* emul_generic.c (emul_add_tree_options): Only require strict
1506	alignment if it was explicitly requested at configuration time.
1507	Don't make it the default for little-endian machines.
1508	* ppc-spr-table (UMMCR0, UMMCR1, UPMC1, UPMC2, USIA, UPMC3, UPMC4,
1509 	MMCR0, PMC1, PMC2, SIA, MMCR1, PMC3, PMC4, L2CR, ICTC, THRM1,
1510 	THRM2, THRM3): Plop in the MPC750 SPR registers.
1511	(DABR): This is weird.  This was HID5, but the PPC spec says this
1512 	should be DABR; why did some random processor use it for something
1513 	else?  The HID5 entry dates back to the original checkin of the
1514	simulator code in 1995, so remove it.
1515	* sim_calls.c (register_names): Delete this; since the user can
1516	now change GDB's list of register names dynamically, we can't
1517	pretend there's a static mapping here.
1518	(sim_fetch_register, sim_store_register): Call GDB's REGISTER_NAME
1519 	function to get the register name.  That ought to be accurate.
1520  	However, we're changing a compile-time dependency (using the
1521 	REGISTER_NAMES macro) into a link- and run-time dependency
1522	(calling REGISTER_NAME, which happens to be a function call on the
1523	PPC).
1524
15251999-01-22  Jim Lemke <jlemke@cygnus.com>
1526
1527	* igen.c(gen_semantics_[ch]): setup/use of new option
1528	(-o mpc860c0[=n]).
1529	interrupts.[ch](mpc860c0_instruction_program_interrupt): added.
1530	ppc-instructions(the four branch insn groups): detect problematic br's.
1531	psim.c(is_num - added, psim_options): Parse and init new option.
1532	These changes are currently under #ifdef WITH_OPTION_MPC860C0.
1533
15341998-12-01  Ken Raeburn  <raeburn@cygnus.com>
1535
1536	* hw_nvram.c (hw_nvram_bcd): Force value to fit in 0..99.
1537
1538Fri Nov 20 12:17:28 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1539
1540	* main.c (sim_io_poll_quit): Stub function.
1541
1542	* events.c (SIM_EVENTS_POLL_RATE): Define.
1543	(sim_events_poll): Copy function from common/sim-events.c.
1544	(event_queue_init): Copy scheduling of sim_events_poll from same.
1545
1546	* sim_callbacks.h, sim_calls.c (sim_io_poll_quit): New function,
1547 	poll the external environment.
1548
15491998-11-19  Michael Meissner  <meissner@cygnus.com>
1550
1551	* ppc-instructions (is_{NaN,inf}): Use unsigned64 to get the
1552	fractional type, so that quiet NaN's aren't treated like
1553	Infinities.
1554
1555Mon Sep 28 09:42:45 1998  Drew Moseley  <dmoseley@cygnus.com>
1556
1557	* table.c (table_open): For cygwin hosts, we need to use the
1558 	return value from the read routine as the number of bytes to
1559 	process.  This apparently is due to text-mode vs binary-mode.  If
1560 	the mounts are done text-mode, then the size returnedby fstat()
1561 	may be different than the number of bytes "read" in text mode.
1562
1563Sun Oct  4 00:50:47 1998  Felix Lee  <flee@cygnus.com>
1564
1565	* emul_netbsd.c (do_open): fix order-of-evaluation problem.
1566	(do_close): ditto.
1567	(do_fstat): ditto.
1568	(do_lstat): ditto.
1569
15701998-09-03  Michael Meissner  <meissner@cygnus.com>
1571
1572	* emul_{netbsd,unix}.c: Update copyright year.
1573
1574Mon Jun 29 10:57:36 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
1575
1576	* sim_calls.c (sim_fetch_register, sim_store_register):
1577	return zero when nothing to do.
1578
15791998-06-26  Michael Meissner  <meissner@cygnus.com>
1580
1581	* configure.in (AC_CHECK_HEADERS): Don't check for sys/mount.h.
1582	* configure: Regenerate.
1583	* emul_{netbsd,unix}.c (toplevel): No longer try to include
1584	sys/mount.h. It conflicts on Linux when gnu libc2 is used.
1585
1586Tue May 12 12:10:33 PDT 1998  James Ingham  <jingham@leda.cygnus.com>
1587
1588	* Makefile.in: The run target depended on a target psim$(EXEEXT),
1589	but there was no such target, only plain psim.  So I changed the
1590	run target to depend on psim.
1591
1592Sat May  2 01:10:12 1998  Stu Grossman  <grossman@babylon-5.cygnus.com>
1593
1594	* aclocal.m4:  Remove defs of AM_EXEEXT and AM_CYGWIN32.  These are
1595	now defined in ../common/aclocal.m4, and the double definition causes
1596	problems with AC_SUBST of EXEEXT.
1597	* configure:  Regenerate.
1598
1599Wed Apr 29 15:44:52 1998  Geoffrey Noer  <noer@cygnus.com>
1600
1601	* aclocal.m4: new file for AM_EXEEXT macro
1602	* configure.in: call AM_EXEEXT
1603	* configure: regenerate with autoconf 2.12.1.
1604	* Makefile.in: add EXEEXT support
1605
1606Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
1607
1608	* configure: Regenerated to track ../common/aclocal.m4 changes.
1609	* config.in: Ditto.
1610
1611Sun Apr 26 15:19:51 1998  Tom Tromey  <tromey@cygnus.com>
1612
1613	* acconfig.h: New file.
1614	* configure.in: Reverted change of Apr 24; use sinclude again.
1615	Don't call AC_C_CROSS.
1616
1617Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
1618
1619	* configure: Regenerated to track ../common/aclocal.m4 changes.
1620	* config.in: Ditto.
1621
1622Fri Apr 24 11:18:46 1998  Tom Tromey  <tromey@cygnus.com>
1623
1624	* Makefile.in (top_builddir): New macro.
1625	(INTLLIBS): New macro.
1626	(INTLDEPS): Likewise.
1627	(psim): Depend on INTLDEPS; link against INTLLIBS.
1628	* configure.in: Call CY_GNU_GETTEXT.
1629
1630Wed Apr 22 14:28:48 1998  Michael Meissner  <meissner@cygnus.com>
1631
1632	* configure: Regenerate with autoconf 2.12.1.
1633
1634Fri Mar 13 09:25:58 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1635
1636	* psim.c (psim_read_register, psim_write_register): Handle updates
1637 	for FPSCR.
1638
1639	* registers.c (register_description): Reconize "FPSCR".
1640
1641	* emul_netbsd.c (emul_netbsd_create): When FP available, enable
1642 	MSR FP exception mode. Do not enable FPSCR bits.
1643	* emul_unix.c (emul_unix_create): Ditto.
1644
1645Tue Feb 17 12:48:58 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1646
1647	* sim_calls.c (sim_store_register, sim_fetch_register): Pass in
1648 	length parameter.  Return -1.
1649
1650Mon Feb  9 14:13:14 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1651
1652	* ppc-instructions (fdiv, fdivs): Check for divide by zero.
1653	(is_invalid_zero_divide, invalid_zero_divide_operation): New
1654 	functions.
1655
1656Wed Dec 10 17:38:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1657
1658	* sim_calls.c (sim_load): Do not parse PROG using buildargv, use
1659 	raw value instead.
1660
16611997-11-05  Felix Lee  <flee@cygnus.com>
1662
1663	* emul_chirp.c: #ifdef HAVE_UNISTD_H
1664
1665Wed Oct 15 08:50:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1666
1667	* corefile.c (core_attach): Pad out allocated memory regions so
1668 	that they are always correctly aligned.
1669	(struct _core_mapping, core_map_attach, core_init,
1670 	new_core_mapping): Change free_buffer to type void*.
1671
1672Mon Oct  6 18:09:26 1997  Michael Meissner  <meissner@cygnus.com>
1673
1674	* sim_calls.c (zfree): Call free correctly.
1675
1676Mon Sep 29 10:05:01 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1677
1678	* sim_calls.c (zfree): Use free, not mfree.
1679	(sim_io_flush_stdoutput): Replace gdb_flush with callback ->
1680 	flush_stdout.
1681
1682Fri Sep 26 09:50:29 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1683
1684	* ppc-instructions (sraw, slw, srw): From Charles Lefurgy, Fix
1685 	mask extracting shift amount. Correctly condition for setting XER
1686 	in sraw.
1687 	(ldhau): From Johannes Reisinger, update rA after load.
1688
1689Tue Sep  9 22:13:23 1997  Felix Lee  <flee@cygnus.com>
1690
1691	* basics.h (CONCAT*): token-pasting macros, if ALMOST_STDC,
1692 	for MSVC.
1693	* words.h: __int64 instead of long long for MSVC.
1694
1695Wed Aug 27 10:24:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1696
1697	* sim_calls.c (sim_create_inferior): Check the simulator was
1698 	initialized before creating inferior.
1699
1700	* idecode_expression.h (ALU_END): From Charles Lefurgy - Extract
1701 	sign bit using 64 bit and not a 32 bit mask.
1702
1703Wed Aug 27 10:15:48 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1704
1705	* sim_calls.c (sim_load): From Ian Lance Taylor - free argv after
1706 	it has been used, not before.
1707
1708Tue Aug 26 10:41:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1709
1710	* sim_calls.c (sim_kill): Delete.
1711	(sim_create_inferior): Add ABFD argument.
1712	(entry_point): Delete variable.
1713	(sim_load): Move setting of PC from here.
1714	(sim_create_inferior): To here.
1715
1716Mon Aug 25 16:17:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1717
1718	* sim_calls.c (sim_open): Add ABFD argument.
1719
1720Thu Jul  3 10:18:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1721
1722	* ppc-instructions (PPC_INSN_INT): From Michael Thies - Monitoring
1723 	CR register updates dependant on RC value had logic backwards.
1724
1725	* ppc-instructions (Load String Word Immediate): From Brad Parker
1726 	- sense of wrap test in check for overwriting RA wrong.
1727	(Load String Word Indexed): Ditto.
1728
1729	* configure.in: From Erik Landry - set sim_default_model not
1730 	sim_model for sim-default-model option.
1731	* configure: Regenerate.
1732
1733	* interrupts.c (check_masked_interrupts): Schedule a hardware
1734 	interrupt delivery when FP interrupts get enabled.
1735	(program_interrupt): Generate FP exceptions instead of aborting.
1736	(deliver_hardware_interrupt): Deliver a FP exception if so
1737 	enabled.
1738
1739	* registers.h: Add definition of fpscr_vx_bits.
1740
1741	* idecode_expression.h (FPSCR_END): Always update FEX and VX bits
1742 	in FPSCR.
1743	(FPSCR_END): Explicitly check for possible floating point
1744 	exception conditions.
1745	(FPSCR_BEGIN): Simplify.
1746
1747	* ppc-instructions (Move From FPSCR): Enable.
1748	(Move To FPSCR Bit 1): Ditto.
1749	(Move To FPSCR Bit 0): Ditto.
1750	(Move To FPSCR Field Immediate): Ditto.
1751	(Move to Condition Register from FPSCR): Simplify.
1752	(invalid_arithemetic_operation): Generate a QNaN when invalid
1753 	operation exception disabled.
1754
1755Tue May 20 10:22:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1756
1757	* sim_calls.c (sim_open): Add callback argument.
1758	(sim_set_callbacks): Delete.
1759
1760Tue Apr 22 22:36:57 1997  Mike Meissner  <meissner@cygnus.com>
1761
1762	* sim_callbacks.h (error): Make declaration match gdb's.
1763	* main.c (error): Ditto.
1764
1765Fri Apr 18 17:03:09 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1766
1767	* sim_calls.c (sim_stop_reason): Simplify.  Was running implies
1768 	stopped/SIGINT. Exit implies a status code.
1769
1770	* psim.c (cntrl_c_simulation): From main.c.  Event function that
1771 	halts the simulator.
1772	(psim_stop): New. Asynchronously schedule a stop simulator event.
1773	(psim_run_until_stop): Delete. Made redundant by psim_stop.
1774
1775	* main.c (cntrl_c): Update.
1776	(cntrl_c_simulation): Moved to psim.c.
1777
1778	* sim_calls.c (sim_stop): New function. Use psim_stop which
1779 	schedules a stop event.
1780	(sim_resume): Drop SIGINT handler, now in gdb/main.c.
1781	(sim_resume): Use psim_run as stop variable no longer needed.
1782
1783Fri Apr 18 17:03:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1784
1785	* psim.c (psim_options): Handle -E option correctly.
1786	(psim_usage): Document.
1787
1788Thu Apr 17 03:28:03 1997  Doug Evans  <dje@canuck.cygnus.com>
1789
1790	* psim.c (psim_options): Ignore -E option (sets endianness).
1791	* sim_calls.c: #include bfd.h.
1792	(entry_point): New static local.
1793	(sim_load): Return SIM_RC.  New arg abfd.  Set start address from bfd.
1794	(sim_create_inferior): Return SIM_RC.  Delete arg start_address.
1795
1796Tue Apr 15 14:57:18 1997  Ian Lance Taylor  <ian@cygnus.com>
1797
1798	* Makefile.in (INSTALL): Set to @INSTALL@.
1799	(INSTALL_XFORM, INSTALL_XFORM1): Remove.
1800	(install): Depend upon installdirs.  Use $(program_transform_name)
1801	directly, rather than using $(INSTALL_XFORM).
1802	(installdirs): New target.
1803
1804Fri Apr  4 17:54:36 1997  Jim Wilson  <wilson@cygnus.com>
1805
1806	* Makefile.in (tmp-hw, tmp-pk): Use for loop to eliminate duplicates
1807	rather than the non-portable cat -n.
1808
1809Mon Apr 14 16:29:51 1997  Ian Lance Taylor  <ian@cygnus.com>
1810
1811	* Makefile.in (INSTALL): Change install.sh to install-sh.
1812
1813Tue Apr  1 18:15:14 1997  Jim Wilson  <wilson@cygnus.com>
1814
1815	* ppc-instructions: Change milhwu to mulhwu.
1816
1817Wed Apr  2 15:38:08 1997  Doug Evans  <dje@canuck.cygnus.com>
1818
1819	* sim_calls.c (sim_open): New arg `kind'.
1820
1821Wed Apr  2 14:51:17 1997  Ian Lance Taylor  <ian@cygnus.com>
1822
1823	* COPYING: Update FSF address.
1824
1825Tue Mar 25 16:17:59 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
1826
1827	* main.c (sim_io_read_stdin): Only compile unbuffered IO code if
1828 	all the required features are supported by the host OS.
1829
1830Tue Mar 25 12:13:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
1831
1832	* emul_bugapi.c (emul_bugapi_create): Guard against NULL images.
1833
1834	* configure.in (enable-sim-endain): Correct typo in usage (from
1835 	Erik Landry <landry@ENGR.ORST.EDU>).
1836	* configure: Re-generate.
1837
1838Fri Mar 14 18:23:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
1839
1840	* Makefile.in (targ-vals.def): Re-do rule so that it works with
1841 	FreeBSD's make.  Didn't like $<.
1842
1843Thu Mar 13 12:55:48 1997  Doug Evans  <dje@canuck.cygnus.com>
1844
1845	* sim_calls.c (sim_open): New SIM_DESC result.  Argument is now
1846	in argv form.
1847	(other sim_*): New SIM_DESC argument.
1848
1849Thu Feb 13 10:35:14 1997  Andrew Cagney  <cagney@phydeaux.cygnus.com>
1850
1851	* ppc-opcode-simple-array, ppc-opcode-simple-goto,
1852 	ppc-opcode-simple-switch, ppc-opcode-complex-array,
1853 	ppc-opcode-complex-goto, ppc-opcode-complex-switch,
1854 	ppc-opcode-jump, ppc-opcode-goto, ppc-opcode-flat: Delete,
1855 	superseeded by --sim-decode-mechanism option.
1856
1857	* ppc-opcode-simple, dc-simple: Rename to be 8.3
1858	* ppc-opcode-complex, dc-complex: Ditto.
1859	* ppc-opcode-stupid, dc-stupid: Ditto.
1860	* ppc-opcode-test-1, dc-test.01: Ditto.
1861	* ppc-opcode-test-2, dc-test.02: Ditto.
1862
1863	* configure.in (--enable-sim-opcode): Change prefix to dc- instead
1864 	of ppc-opcode-.
1865
1866Wed Feb 12 19:33:45 1997  Andrew Cagney  <cagney@phydeaux.cygnus.com>
1867
1868	* Many of the ppc-opcode-* files are identical baring the type of
1869 	lookup table.  Instead of having multiple tables, igen can do this
1870	via an additional option.
1871
1872	* ld-decode.h, ld-decode.c (force_decode_gen_type): New function,
1873 	allow the type of generated table specified in the decode file to
1874 	be overridden.
1875
1876	* ld-decode.c (load_decode_table): Allow the table type to be
1877 	overridden.
1878
1879	* igen.c (main): Add -T <mechanism> option so that an overriding
1880 	instruction decode mechanism can be specified.
1881
1882	* configure.in: New option --sim-decode-mechanism to control
1883 	igen's new -T <mechanism> flag.
1884	* Makefile.in (IGEN_FLAGS): Add IGEN_IDECODE_MECHANISM set by the
1885 	configure script.
1886	* configure: Regenerate.
1887
1888Tue Feb 11 13:49:10 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
1889
1890	* events.c (event_queue_create): Don't use NULL to initialize an
1891	integer field.
1892	(even_queue_{init,schedule_after_signal,tick}): Conditionalize use
1893	of sigprocmask to appropriate autoconf test.
1894
1895	* main.c ({cntrl_c,main}): Use RETSIGTYPE for signal return type,
1896	don't assume void.
1897	* sim_calls.c (sim_{ctrl_c,resume}): Ditto.
1898
1899	* Makefile.in (callback.o): Define HAVE_CONFIG_H, so callback.c
1900	includes our config.h.
1901
1902Tue Feb  4 13:42:59 1997  Doug Evans  <dje@canuck.cygnus.com>
1903
1904	* configure.in: Fix typo in test for callback.c.
1905	* configure: Regenerated.
1906
1907Fri Feb  7 10:04:25 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1908
1909	* emul_chirp.c (emul_chirp_create): Handle a virtbase of -1 being
1910 	found in the device tree.
1911
1912Wed Feb  5 10:56:27 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1913
1914	* Property create/initialization still wasn't correctly ordered.
1915  	Should be delaying everything related to ihandle creation until
1916 	after the rest of the tree has been established.
1917
1918	* device.c (device_find_ihandle_runtime_property): Update.
1919	(device_add_ihandle_runtime_property): Update.
1920
1921	* tree.c (parse_ihandle_property): Delay lookup of the device to
1922 	be opened until the ihandle initialization phase.
1923	* tree.c (print_properties): Update.
1924
1925Wed Feb  5 10:56:27 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1926
1927	* gen-icache.c (print_icache_extraction): Add a reason parameter.
1928  	Augment each extracted field with a comment citing the codes
1929 	origin.  Should simplify tracking down incorrect cache
1930 	extractions.
1931
1932Tue Feb  4 17:44:51 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1933
1934	* gen-icache.c: Generalize code handling XXX_is_NNN so that it
1935 	works for normal and boolean table entries.
1936
1937	* psim.c (psim_write_memory): last_cpu == -1 or nr_cpus is now
1938 	valid.  Handle this just like *_{read,write}_register now handles
1939 	it.
1940
1941Mon Feb  3 17:18:16 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1942
1943	* events.c (insert_event_entry): Correct loop termination
1944 	assertions.
1945
1946Fri Jan 31 16:20:26 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1947
1948	* psim.c (psim_options): Add new option -c for max-iterations or
1949 	count.
1950	(psim_usage): Document.
1951	(psim_max_iterations_exceeded): New function, abort simulation if
1952 	max iterations exceeded.
1953
1954	* gen-idecode.c: Re-work the table lookup code so that it assumes
1955 	that the entry is a leaf by default.  Simplify the boolean table
1956 	entry code so that it involves a mask + test instead of shift +
1957 	shift + mask + test.
1958
1959	* gen-idecode.c: Correct generated igen body so that it no drops
1960 	or doubles clock interrupts.
1961
1962
1963Thu Jan 30 11:23:20 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1964
1965	* Makefile.in (BUILT_SRC_WO_CONFIG): Change targ-vals.* to
1966 	@sim_targ_vals@
1967
1968	* configure.in (sim_callback, sim_targ_vals): Set sim_targ_valls
1969 	if common callback is present.
1970
1971Wed Jan 29 12:32:41 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
1972
1973	* configure.in (sim_callback): If the gdb is post 4.16, configure
1974	callback support from the common directory.
1975	* configure: Regenerate.
1976
1977	* Makefile.in (BUILT_SRC_WO_CONFIG): Add targ-vals.{h,def} and
1978	targ-map.c.
1979	(GDB_OBJ): Add callback support configured in.
1980	(gentmap,targ-vals.def): Build from common directory.
1981	(targ-vals.h,targ-map.c): Build by running gentmap.
1982	(callback.o): Build from source in common directory.
1983	(targ-map.o): Add dependency.
1984	(clean): Remove gentmap.
1985
1986Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1987
1988	* igen wasn't aborting if the opcode table contained no valid
1989 	fields.
1990
1991	* misc.c (name2i): Possibly abort if an invalid name is
1992 	encountered.
1993	* ld-decode.c: Abort if the table type isn't found.
1994
1995Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
1996
1997	* When performance monitoring is disabled, it is still possible to
1998 	determine the simulation speed by looking at the number of elapsed
1999 	ticks recorded by the event queue.
2000
2001	* psim.c (psim_write_register, psim_read_register): Force the cpu
2002 	to zero when it is either of `-1' or `nr_cpus'.  In both cases the
2003 	next cpu would be zero any way.
2004
2005	* mon.c (mon_print_info): If possible, print the system cycle
2006 	performance.  This is an indication of the number of instructions
2007 	per second.
2008
2009Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2010
2011	* The code to allow an event queue to be updated during a signal
2012 	was missing.  For main.c, a cntrl-c simulation termination wasn't
2013 	handled cleanly.
2014
2015	* The simulation would not correctly restart if an event requested
2016 	that the simulation be halted.
2017
2018	* psim.c (psim_options): Add hack to -i option to optionally
2019 	include a level vis -i2.
2020	(psim_usage): Document.
2021
2022	* main.c (cntrl_c, cntrl_c_simulation): New functions.  When a
2023 	cntrl-c occures schedule an event to halt the simulation.
2024	(main): Catch CNTRL-C signals with the function cntrl_c.
2025
2026	* events.c (event_queue_process): Mask interrupts while
2027 	manipulating the async event queue.
2028	(event_queue_init): Ditto.
2029	(event_queue_schedule_after_signal): Ditto.
2030
2031	* events.c (event_queue_process): Mark the event queue as being in
2032 	the processing state when processing has started.  Adjust code
2033	so that it is tolerant of halts.
2034	(event_queue_init): Start the event queue out with processing
2035 	false.
2036	(event_queue_tick): Check that processing isn't still being
2037 	performed.
2038
2039	* gen-idecode.c (print_run_until_stop_body): Call
2040 	event_queue_process_events to clear possibly pending events before
2041 	starting a simulation run.  Re-arange main loop so that simulator
2042 	is correctly restarted when an event halts the simulation.
2043
2044	* psim.c (psim_halt): Handle an event halting the simulation.
2045	* psim.c (psim_init): Adjust initial cpu - == -1 - to match
2046 	reworked idecode.
2047
2048Wed Jan 29 12:14:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2049
2050	* ppc-opcode-complex: Correct typo - was expanding ORA instead of
2051 	RA.  Based on instruction frequency stats, expand additional
2052 	instructions.
2053	* ppc-instructions: Change all `RA == 0' to RA_is_0.
2054
2055	* ppc-opcode-stupid: Move all but the basic table in -complex into
2056 	here.  Update to new format.
2057
2058	* Makefile.in (tmp-defines): New target. Force defines.h to always
2059 	be built.  Hence get ppc-opcode-goto to build.
2060
2061Tue Jan 28 13:00:19 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2062
2063	* hw_com.c (hw_com_instance_read, hw_com_instance_write):
2064 	Implement.
2065
2066Thu Jan 23 09:07:26 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2067
2068	* hw_trace.c (hw_trace_init_data): Delete.  The trace options need
2069 	to be initialized independant of the rest of the simulation
2070 	initalization.  Otherwize a trace option explictly set from gdb
2071 	could be overridden by hw_trace.
2072
2073	* psim.c (psim_options): Clarify reason why the trace ioctl occures.
2074
2075	* FIXME: The trace code is too scattered - hw_trace.c, psim.c,
2076 	debug.c.  It could be much simpler.
2077
2078Thu Jan 23 09:07:26 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2079
2080	* Some devices support removable media.  Add hooks to the disk
2081 	device so that it supports this.
2082
2083	* device.c (device_add_string_array_property,
2084 	device_find_string_array_property): New functions, manipulate
2085 	properties containing an array of strings.
2086	(device_find_string_property): Allow a string array.
2087	(device_init_static_properties): Update.
2088	(device_init_runtime_properties): Update.
2089
2090	* hw_disk.c (hw_disk_ioctl): Add ioctl for changing the disk
2091 	media.  If no file image is specified, use the next one in the
2092 	image property list.
2093	(hw_disk_init_address): Change the file property so that it is a
2094 	string array - use the first entry for the initial file image.
2095
2096	* tree.c (print_string_aray_property): New function - print a
2097 	string array.
2098	(print_properties): Adjust.
2099	(print_string): Write a string, handling double quotes.
2100
2101	* device.h: Define an ioctl to `change-media' with an optional new
2102 	media image.
2103
2104	* hw_disk.c: Allow floppy disk devices to be specified.
2105
2106	* psim.c (psim_command): New function, parse more complex psim
2107 	commands such as "change-media" and "trace".
2108	* sim_calls.c (sim_do_command): Use.
2109
2110Wed Jan 22 09:38:33 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2111
2112	* For expressions like (RA == 0) that are entered in to the cache
2113 	as RA_is_0. If possible generate the result of the expression so
2114 	that the compiler gets a better chance of eliminating dead
2115 	branches.
2116
2117	* gen-icache.c (print_icache_extraction): For a cache entry of
2118 	the form <name>_is_<const> where it is a boolean field, generate
2119 	the result of the expression instead of the expression its self.
2120	(print_icache_body): Remove code that was looking for *_is_0 and
2121 	then generating corresponding definitions.
2122
2123	* gen-icache.c (print_icache_struct): If there is no cache, do not
2124 	output expressions in idecode.h file.
2125
2126	* gen-icache.c (print_icache_body): Output them here.
2127
2128	* ppc-opcode-complex: Clarify constant values for SPR==LR register
2129 	expansion.
2130
2131	* ppc-cache-rules (RA_is_0, SPR_is_256): Two new cache entries.
2132
2133Wed Jan 22 12:24:52 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2134
2135	* The code that put values in and extracted values from the cache
2136 	was too compilicated.  The cache table did not allow values to be
2137 	computed from cache entries.  #defines could only be used when a
2138 	cache was present, remove the restriction.
2139
2140	* ld-cache.h, ld-cache.c: Add a new cache entry type - SCRATCH.  A
2141 	scratch variable is defined when a cache entry is beinf
2142 	filled. Change the definition of a COMPUTE variable to be defined
2143 	when the cache entry is being used.
2144	* gen-icache.c: Update.
2145
2146	* ld-cache.h, ld-cache.c: Change field names so that their meaning
2147 	is more obvious.  old_name->field_name, new_name->derived_name.
2148	* gen-icache.c: Update
2149
2150	* gen-icache.h, gen-icache.c (print_icache_body): Make the three
2151 	different types of cache code - put into cache, extract from
2152 	cache, no cache - an explicit argument to print_icache_body.
2153	* gen-icache.c (print_icache_extraction): Ditto.
2154
2155	* gen-semantics.c (print_c_semantic): Update use.
2156	* gen-idecode.c (print_jump_insn): Update use.
2157	* gen-icache.c (print_icache_function): Update use.
2158
2159	* igen.c (main): Change 'R' option so that it does not force the
2160 	cache.
2161
2162	* configure.in (enable-sim-icache): Clarify description.  Make
2163 	#define one of the defaults regardless of the cache.  Probably
2164 	should revamp and add a separate option.
2165
2166Tue Jan 21 13:26:10 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2167
2168	* pk_disklabel.c (block_is_fdisk): Tidy up traces - use dos
2169 	partition numbering.
2170	(pk_disklabel_create_instance): Partition 1..4 are valid - not
2171 	1..3.
2172	(is_iso9660): New function, verify a CD9660 File system.
2173	(pk_disklabel_create_instance): Start expanding so that active
2174 	partition selection is supported.
2175
2176Mon Jan 20 11:20:15 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2177
2178	* The cap object was retaining a reference to the instance of a
2179 	device after it was deleted. Instead add and remove cap's from the
2180 	cap db as they are created and deleted.  This ensuring that a
2181 	capibility is only used during the lifetime of the corresponding
2182 	object.
2183
2184	* cap.h, cap.c: Correct cap type - was signed32 should be
2185 	signed_cell.
2186
2187	* cap.c (cap_add, cap_remove): New methods for cap object that
2188 	allow the explicit addition and removal of internal objects that
2189 	the cap knows about.
2190
2191	* cap.c (cap_init): Rewrite.  Verify that the only objects
2192 	remaining in the cap data base are those that were entered first.
2193  	Thse objects will be the permenant ones.
2194	* device.c (device_init_address): Remember to initialize the cap
2195 	database.
2196
2197	* device.c (device_create_instance_from): Explicitly add device
2198 	instances to the cap database.  Simplify create code.
2199	(device_instance_delete): Explicitly remove device instances from
2200 	the cap database.
2201
2202	* device.c (device_create_from): Explicitly add a device to the
2203 	cap data base.
2204
2205	* device.c (device_create_from): Always set the cap members.
2206
2207	* hw_disk.c: Output the instance when tracing.
2208
2209Sun Jan 19 16:44:29 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2210
2211	* tree.c (split_device_specifier): Add support for aliases when
2212 	looking up a device. Now needs a device as an argument.
2213	(split_property_specifier): Ditto.
2214
2215Sun Jan 19 15:28:23 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2216
2217	* The memory "claim" and "release" methods take an address and
2218 	size as arguments.  These may be multi cell values. Initially fix
2219 	the memory code so that they check/detect this.  Leave the
2220 	adjustment of any clients to later.
2221
2222	* hw_memory.c (hw_memory_instance_claim,
2223 	hw_memory_instance_release): Handle multi-cell memory devices.
2224
2225	* hw_memory.c (hw_memory_instance_claim): Be tolerant towards the
2226 	release of memory regions that were not claimed.
2227
2228Fri Jan 17 12:01:07 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2229
2230	* device.h, device.c (device_instance_call_method): Correct return
2231 	type - can return either 0 or -1, hence should be a signed type.
2232	* device_table.h: Ditto.
2233
2234	* hw_memory.c (hw_memory_instance_claim,
2235 	hw_memory_instance_release): Update.
2236	* hw_disk.c (hw_disk_max_transfer, hw_disk_block_size,
2237 	hw_disk_nr_blocks): Ditto.
2238
2239Fri Jan 17 11:50:13 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2240
2241	* emul_chirp.c (chirp_emul_claim): Implement using the "claim"
2242 	method belonging to "/chosen/memory".
2243	(chirm_emul_release): Ditto.
2244
2245	* Makefile.in (LIB_INLINE_SRC): Remove emul_* from list of files
2246 	that are inlined.  These modules are called via a table and are
2247 	not made inline.
2248
2249	* hw_init.c (update_for_binary_section): Fix failure to allocate
2250 	memory used by the binary in real-mode executions. If "claim"
2251 	property is present, allocate memory from the "/chosen/memory"
2252 	device.
2253
2254	* emul_chirp.c (emul_chirp_create): Specify that memory should be
2255 	claimed when loading a real image.
2256
2257	* hw_memory.c (hw_memory_instance_claim): Don't page align memory
2258 	allocations.
2259
2260	* hw_memory.c (hw_memory_instance_release): Avoid infinite loop
2261 	when merging adjacent memory chunks.
2262
2263Thu Jan 16 08:51:25 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2264
2265	* vm.h (vm_data_map_read_buffer, vm_data_map_write_buffer): Add
2266 	optional PROCESSOR & CIA args so that this routine also abort an
2267 	access.
2268
2269	* vm_n.h (vm_data_map_read_N, vm_data_map_write_N): For a
2270 	miss-aligned access when a transfer fails abort.
2271
2272	* emul_bugapi.c (emul_bugapi_do_write): Use emul_read_buffer
2273 	instead of the vm_read_buffer.
2274	* emul_netbsd.c (do_write): Ditto.
2275	* emul_unix.c (do_unix_write): Ditto.
2276
2277Wed Jan 15 14:38:25 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2278
2279	* configure.in (--enable-sim-jump): Default is NULL and not -E.
2280	* configure: Regenerate.
2281
2282	* basics.h (__attribute__): Enable attributes if GCC >= 2.6.
2283	(UNUSED): Only enable UNUSED if GCC >= 2.7.
2284
2285	* gen-icache.c (print_icache_extraction): Print UNUSED macro
2286 	instead of explicit __unused__ attribute.
2287	(print_icache_body): Ditto.
2288	* idecode_expression.h (FPSCR_BEGIN): Use UNUSED.
2289
2290Wed Jan 15 13:54:50 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2291
2292	* cpu.h, cpu.c (cpu_synchronize_context): Add CIA argument as
2293 	reference point.
2294
2295	* vm.c (vm_synchronize_context): Add PROCESSOR and CIA as
2296 	arguments so that there is a reference point for recovery.
2297	(vm_synchronize_context): Pass processor+cia for errors.
2298	(om_unpack_sr): Ditto.
2299	(om_unpack_srs): Ditto.
2300	* vm.c (vm_create): Review error messages.
2301
2302	* vm.c: Include "cpu.h" so that cpu_error is visible.
2303
2304	* ppc-instructions (Return From Interrupt): Pass CIA.
2305	(Instruction Synchronize): Ditto.
2306	* psim.c (psim_init): Ditto.
2307
2308Wed Jan 15 12:25:11 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2309
2310	* cpu.h, cpu.c (cpu_error): Aborts simulation with error message,
2311 	but also saves current processor state.
2312
2313	* basics.h: Move #include <stdarg.h> to here from device_table.h.
2314
2315	* interrupts.c (perform_oea_interrupt): Use.  No longer loose CIA
2316 	when simulation aborted.
2317	(program_interrupt): Ditto.
2318	(floating_point_unavailable_interrupt): Ditto.
2319	(alignment_interrupt): Ditto.
2320	(floating_point_assist_interrupt): Ditto.
2321	(perform_oea_interrupt): Ditto.
2322	(machine_check_interrupt): Ditto.
2323
2324Tue Jan 14 12:19:10 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2325
2326	* ppc-instructions (Move from Special Purpose Register): Support
2327 	move from DEC.
2328
2329Mon Jan 13 16:58:12 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2330
2331	* debug.h, debug.c: Add "interrupts" trace option.
2332
2333	* interrupts.c (data_storage_interrupt): Add tracing.
2334	(machine_check_interrupt): Ditto.
2335	(instruction_storage_interrupt): Ditto.
2336	(alignment_interrupt): Ditto.
2337	(program_interrupt): Ditto.
2338	(floating_point_unavailable_interrupt): Ditto.
2339	(system_call_interrupt): Ditto.
2340	(floating_point_assist_interrupt): Ditto.
2341	(deliver_hardware_interrupt): Ditto.
2342
2343	* interrupts.c (program_interrupt): For UEA mode, halt the
2344 	processor - so that the current state is saved - instead of
2345 	aborting.
2346	(floating_point_unavailable_interrupt): Ditto.
2347	(floating_point_assist_interrupt): Ditto.
2348
2349Thu Jan  2 09:10:41 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2350
2351	* interrupts.c (perform_oea_interrupt): Halt rather than abort on
2352 	a double interrupt.
2353
2354Wed Jan  1 22:54:52 1997  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2355
2356	* ppc-instructions (Store Multiple Word, Load Multiple Word):
2357 	Enable.
2358
2359	* tree.c (print_properties): For an array consider printing it out
2360 	as an integer array.
2361
2362	* hw_memory.c (hw_memory_init_address): If an "available" property
2363 	is present, use that to initialize the available memory instead of
2364 	using the reg property.
2365
2366	* emul_generic.c (emul_add_tree_hardware): Add "available"
2367 	property to memory device.
2368
2369Fri Dec 20 13:19:07 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2370
2371	* ppc-instructions (Rotate Left Word then AND with Mask): Enable.
2372
2373	* device.c (device_instance_call_method): Was only looking at the
2374 	first method.
2375
2376	* hw_disk.c (hw_disk_nr_blocks): Implement #blocks method.
2377	(hw_disk_block_size): Implement block-size method.
2378	(hw_disk_max_transfer): Implement max-transfer method.
2379
2380	* hw_phb.c (hw_phb_init_address): Reinit the rest of the PHB.
2381
2382	* emul_chirp.c (chirp_emul_instance_to_path): Recover from an
2383 	invalid ihandle.
2384	(chirp_emul_instance_to_package): Ditto.
2385	(chirp_emul_method): Ditto.
2386	(chirp_emul_read): Ditto.
2387	(chirp_emul_write): Ditto.
2388	(chirp_emul_close): Ditto.
2389	(chirp_emul_seek): Ditto.
2390	(chirp_emul_package_to_path): Ditto (for phandle).
2391	(chirp_emul_package_to_path): Return the length.
2392
2393	* psim.c (psim_merge_device_file): Allow continuation lines.
2394
2395Thu Dec 19 11:09:43 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2396
2397	* emul_chirp.c (chirp_emul_boot): Implement. Well report the new
2398 	string and exit.
2399
2400	* emul_chirp.c (chirp_emul_exit): Correct type of args struct
2401 	members - *_cell not host dependant int.
2402
2403Wed Dec 18 17:49:59 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2404
2405	* interrupts.c (perform_oea_interrupt): Print additional
2406 	information if a double interrupt is encountered.
2407
2408Wed Dec 18 17:49:59 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2409
2410	* psim.c (psim_merge_device_file): Tolerate an incorrect file-name
2411 	being specified with the -f option.
2412	(psim_merge_device_file): Correct check for end of string.
2413
2414Wed Dec 18 17:49:59 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2415
2416	* emul_chirp.c (chirp_emul_peer): Was falling off the end of the
2417 	list of devices. Return zero to the client instead.
2418	* emul_chirp.c (chirp_emul_child): Ditto
2419	* emul_chirp.c (chirp_emul_parent): Ditto
2420
2421	* device.c (device_root): Assert assumption about the device being
2422 	valid.
2423
2424Tue Dec 17 15:12:38 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2425
2426	* emul_chirp.c (emul_chirp_create): Add description property to
2427 	each significant node in the device tree.
2428	* emul_bugapi.c (emul_bugapi_create): Ditto.
2429
2430Fri Dec 13 14:30:31 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2431
2432	* main.c (sim_io_read_stdin): For a single byte STDIO read, use a
2433 	tempoary two byte buffer.  Single byte read with fgets will not
2434 	work.
2435	* main.c: Include errno.h.
2436	(sim_io_read_stdin): For non-STDIO, make it work.
2437
2438	* emul_chirp.c (chirp_emul_read): Return the correct error status.
2439
2440Fri Dec 13 14:30:31 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2441
2442	* std-config.h (WITH_STDIO): Don't hard-wire the STDIO mechanism.
2443  	Instead have each emulation default it to DO_USE_STDIO.
2444
2445	* emul_generic.c (emul_add_tree_options): Select the STDIO I/O
2446 	mechanism as the default if enabled or if nothing selected.
2447
2448	* sim_calls.c (sim_io_read_stdin): Passify GCC's desire for a
2449 	return value.
2450	(sim_io_write_stdout): Ditto.
2451	(sim_io_write_stderr): Ditto.
2452	* main.c (sim_io_write_stdout): Ditto.
2453	(sim_io_write_stderr): Ditto.
2454	(sim_io_read_stdin): Ditto.
2455
2456Tue Dec 10 10:31:48 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2457
2458	* emul_chirp.c (emul_chirp_instruction_call): Make *printf calls
2459	type correct.
2460	* vm.c (om_effective_to_virtual): Ditto.
2461	* events.c (event_queue_schedule{,_after_signal}): Ditto.
2462	(event_queue_{deschedule,process}): Ditto.
2463	* hw_htab.c (htab_decode_hash_table): Ditto.
2464	(htab_map_{page,binary}): Ditto.
2465	* hw_opic.c (hw_opic_init_data): Ditto.
2466	(handle_interrupt): Ditto.
2467	(do_processor_init_register_{read,write}): Ditto.
2468	(write_vector_priority_register): Ditto.
2469	({read,write}_destination_register): Ditto.
2470	(do_suprious_vector_register_{read,write}): Ditto.
2471	(do_current_task_priority_register_N_{read,write}): Ditto.
2472	(do_timer_frequency_reporting_register_{read,write}): Ditto.
2473	(do_timer_N_{current,base}_count_register_{read,write}): Ditto.
2474	(do_ipi_N_dispatch_register_write): Ditto.
2475	(do_vendor_identification_register_read): Ditto.
2476	(do_feature_reporting_register_N_read): Ditto.
2477	(do_global_configuration_register_N_{read,write}): Ditto.
2478	* hw_phb.c (hw_phb_attach_address): Ditto.
2479	(hw_phb_unit_decode): Ditto.
2480	(hw_phb_address_to_attach_address): Ditto.
2481	(hw_phb_io_{read,write}_buffer): Ditto.
2482	* hw_ide.c (setup_fifo): Ditto.
2483
2484	* sim_calls.c ({defs,callback,remote-sim}.h): Find gdb include
2485	files via -I<dir> instead of using "../../gdb/" prefixes.
2486
2487Tue Dec 10 10:12:44 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2488
2489	* debug.h: Add tracing for the pal device.
2490	* hw_pal.c: Update.
2491
2492	* emul_chirp.c (chirp_emul_getprop): More tracing.
2493
2494Tue Dec 10 10:12:44 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2495
2496	* device.h, device.c (device_find_ihandle_runtime_property): New
2497 	function. Reverse of add_ihandle_runtime property.
2498	(device_init_runtime_properties): Use it.
2499
2500	* device.c (find_property_entry): New function returns the
2501 	internal property spec.
2502	(device_set_property): Use.
2503	(device_find_property): Use.
2504
2505Tue Dec 10 10:12:44 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2506
2507	* psim.c (psim_merge_device_file): Strip newline from device
2508 	specs.
2509
2510Tue Dec 10 10:12:44 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2511
2512	* hw_htab.c (htab_map_binary): For overlapping text / data maps
2513 	merge the two.  Also check that the merge is safe.
2514
2515	* emul_chirp.c (emul_chirp_create): Add a description property to
2516 	the pte's so that they are easier to identify.
2517
2518	(emul_chirp_create): Don't specify a load address for the CHRP
2519 	image.  Always use the values specified by the executable.
2520
2521	* hw_htab.c (htab_map_page): Abort if a duplicate map is
2522 	encountered.
2523
2524Mon Dec  9 12:08:46 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2525
2526	* hw_htab.c (htab_map_page): Formatting.
2527
2528	* emul_chirp.c (emul_chirp_instruction_call): Check for a NULL
2529 	method name when handling the client call. Also check for other
2530 	bad call arguments.
2531
2532	* emul_chirp.c (emul_chirp_create): Allow real-mode?, real-base,
2533 	etc to be overriden.
2534
2535Mon Dec  9 12:08:46 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2536
2537	* os_emul.c (os_emul_create): Use tree find property instead of
2538 	device find property - sigh.
2539
2540Thu Dec  5 10:46:42 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2541
2542	* 961205: Release snapshot 961205.
2543
2544Thu Dec  5 10:46:42 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2545
2546	* configure.in (hostbitsize, bitsize): Fix typo in error message -
2547 	cannot contain a comma.
2548	(sim-warnings): Check for more potential errors.
2549
2550	* psim.c (psim_usage): Add -f <file> option.  Specifies a file
2551 	containing device tree specifications that should be merged into
2552 	the device tree.
2553
2554	* configure.in: Sort options.
2555	* configure: Rebuild
2556
2557Wed Dec  4 13:57:31 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2558
2559	* psim.c (psim_usage): Add -n option - specify number of
2560 	processors.
2561
2562	* emul_chirp.c: Add description.
2563	* emul_bugapi.c: Ditto.
2564	* emul_unix.c: Ditto.
2565	* emul_netbsd.c: Ditto.
2566
2567Fri Nov 29 11:12:22 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2568
2569	* hw_pal.c (hw_pal_attach_address): New function, if an attach is
2570 	encountered, assume that it is the single disk.
2571	* hw_pal.c: Add generic device/size decode methods.
2572
2573	* hw_nvram.c (hw_nvram_init_address): Use the first nonzero reg
2574 	property entry when determining the nvram size.
2575
2576	* hw_core.c: Add generic address/size decode methods.
2577
2578	* emul_chirp.c (emul_chirp_instruction_call): Return and trace
2579 	nonzero status from client functions.
2580
2581	* main.c (error): Always include a cariage return when writing out
2582	errors.
2583
2584Wed Nov 20 00:36:55 1996  Doug Evans  <dje@canuck.cygnus.com>
2585
2586	* sim_calls.c (sim_resume): Reset sim_should_run if single
2587 	stepping.
2588
2589Thu Nov 28 13:19:46 1996  Andrew Cagney  <cagney@kremvax.tpgi.com.au>
2590
2591	* emul_bugapi.c (emul_bugapi_do_diskio): Add support for multiple
2592 	optional disks.
2593
2594	* emul_generic.c (emul_add_tree_hardware): Drop the dummy eeprom.
2595  	Attach the pal - for I/O - as a pseudo device haning from the
2596 	firmware sub tree.
2597
2598	* emul_bugapi.c (emul_bugapi_create): Add a small memory device to
2599 	the device tree at the address of the hi-mem interrupt vector
2600 	addreses.  Used by bugapi to establish its trap instructions.
2601
2602	* debug.h: Add a new macro DITRACE for tracing device instances.
2603
2604	* debug.h: Extend the DTRACE macro so that it can also tests for
2605 	device specific tracint.
2606
2607	* device.h, device.c (device_trace): Add method to determine
2608 	device specific tracing.
2609	(device_init_address): Set the devices tracing level.
2610
2611Thu Nov 21 12:05:32 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2612
2613	* tree.h, tree.c (tree_device): New files - separate out the
2614 	device parser and other tree operations from the device.
2615
2616	* inline.h, inline.c (INLINE_TREE): Add.
2617	* device.h, device.c (device_tree_add_parsed): Delete.
2618	* Makefile.in (tree.c): Add rules for new file.
2619	* Makefile.in: Better order the emul_* files.
2620
2621	* emul_generic.c (emul_add_tree_hardware): Update.
2622	* emul_netbsd.c (emul_netbsd_create): Update.
2623	* emul_unix.c (emul_unix_create): Ditto.
2624	* emul_chirp.c (emul_chirp_create): Ditto.
2625	* emul_bugapi.c (emul_bugapi_create): Ditto.
2626	* psim.c (psim_tree): Ditto.
2627	* hw_init.c: Ditto.
2628
2629	* emul_generic.h: Include tree.h
2630	* Makefile.in: Add to EMUL_GENERIC_H dependencies.
2631
2632	* device.h, device.c (device_root): New function - returns the
2633 	root of the tree.
2634	* corefile.c: Use.
2635
2636	* device.h, device.c (device_clean): New function, clean up device
2637 	ready for next simulation run. This includes things like deleting
2638 	interrupt edges and properties created during the simulation and
2639 	also scrubbing any pre-defined properties.
2640	* tree.c (tree_init): Use.
2641
2642	* device.h, device.c (device_init_static_properties): New
2643 	function.  Initialize any static predefined properties.  By static
2644 	we mean those that have values that can be determined before the
2645 	device tree initialization has started.
2646	* tree.c (tree_init): Use.
2647
2648	* device.h, device.c (device_init_address): Add code to
2649 	check/verify the devices #address-cells and #size-cells.
2650	(device_add_integer_property): Delete corresponding code.
2651	(device_nr_address_cells, device_nr_data_cells): Check for
2652	property when returning value.
2653
2654	* device.h, device.c (device_init_runtime_properties): New
2655 	function.  Initialize those properties that are not `static'.  At
2656 	present the only such property is the ihandle.
2657	* tree.c (tree_init): Use.
2658
2659	* device.h, device.c (reg, ranges): Rework these so that they use
2660 	an array of the fundamental type - single reg or single range
2661 	entry.
2662
2663	* device.h, device.c (device_add_ihandle_runtime_property):
2664 	Re-implement the adding of an ihandle during tree construction so
2665 	that it better fits in with device initialization.
2666
2667Thu Nov 21 12:05:32 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2668
2669	* device.h, device.c (device_ioctl): Add additional argument -
2670 	request - so that the caller must always specify the type of
2671 	the ioctl request.
2672
2673	* device_table.h: Update.
2674	* hw_trace.c (hw_trace_ioctl): Ditto.
2675	* hw_vm.c (hw_vm_ioctl_callback): Ditto.
2676	* hw_init.c (hw_stack_ioctl_callback): Ditto.
2677	* psim.c (psim_options): Ditto.
2678
2679Thu Nov 21 12:05:32 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2680
2681	* BUGS: Updated a bit.
2682
2683Wed Nov 20 14:06:37 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2684
2685	* hw_opic.c: Finish - third round.
2686
2687Wed Nov 20 12:02:08 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2688
2689	* hw_glue.c (hw_glue_io_read_buffer_callback): Fix miscalc of glue
2690 	reg index.
2691	(hw_glue_io_write_buffer_callback): Ditto.
2692
2693Tue Nov 19 21:17:08 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2694
2695	* events.c (event_queue_process): Was incorrectly consuming future
2696 	events on the queue when they should be left alone.
2697
2698	* debug.h, debug.c (events): Add support for event queue tracing.
2699	* events.c: Add event tracing.
2700
2701	* debug.h, debug.c: Order device trace options.
2702
2703Fri Nov 15 15:23:39 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2704
2705	* pk_disklabel.c (pk_disklabel_create_instance): Fix up some
2706	warnings generated by GCC.
2707
2708Sun Nov 17 17:59:14 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2709
2710	* sim-endian.h: Add LE versions of byte swap macros.  Needed for
2711 	PCI devices which are little-endian.
2712
2713	* sim-endian-n.h (endian_le2h_N, endian_h2le_N): Ditto
2714
2715Sun Nov 17 17:59:14 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2716
2717	* hw_iobus.c (hw_iobus_attach_address_callback): Change the iobus
2718 	so that it is implementing a 1-1 address map.
2719
2720	* emul_generic.c (emul_add_tree_hardware): Adjust.
2721
2722	* emul_generic.c (emul_add_tree_hardware): Don't add the nvram as
2723 	a default.
2724
2725Sun Nov 17 17:59:14 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2726
2727	* device.c (split_find_device): Be tolerant of missing unit
2728 	addresses.
2729
2730Fri Nov 15 16:49:49 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2731
2732	* basics.h (port_direction): New type, specify the direction of
2733 	any `port'.
2734
2735	* device.h, device.c (device_interrupt_decode): Include
2736 	specification of port direction in operations.
2737 	(device_interrupt_encode): Ditto.
2738
2739	* device_table.h: Add a direction field to the interrupt port
2740 	table.
2741
2742	* device.c (device_tree_add_parsed): Specify port direction.
2743
2744Thu Nov 14 21:38:13 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2745
2746	* hw_opic.c: Finish - second round.
2747
2748Thu Nov  7 00:18:59 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2749
2750	* hw_htab.c (htab_init_data_callback): Allow the virtual-address
2751 	to be specified as an array which allows 64bit addresses.
2752
2753	* device.c (device_find_integer_array_property): New function.
2754  	Simplify the querying of elements of an integer array.
2755	(device_add_integer_property, device_find_integer_property):
2756 	Update to correctly use the cell type.
2757
2758	* vm.c (om_unpack_sr): Clarify shifting comment.
2759	(om_pte_0_masked_vsid): Ditto. Add 64bit version.
2760
2761	* emul_chirp.c (emul_chirp_create): Initialize the segment
2762 	registers.
2763
2764	* vm.c (om_effective_to_virtual): Trace segment register use.
2765
2766	* hw_htab.c (htab_map_page): Print out the pteg base address to
2767 	simplify cross checking between vm and the htab.
2768	(htab_decode_hash_table): Use device_error instead of error.
2769	(htab_map_page): Ditto.
2770	(htab_dma_binary): Ditto.
2771	(htab_map_binary): Ditto.
2772	(htab_init_data_callback): Ditto.
2773
2774Wed Nov  6 20:20:58 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2775
2776	* interrupts.h: Clarify what the optional instruction program
2777 	interrupt is - a subset of illegal instruction program interrupt.
2778
2779	* interrupts.c (program_interrupt): For UEA mode, clarify what an
2780 	optional instruction program interrupt is.
2781	(program_interrupt): For OEA mode, as per spec, generate an
2782 	illegal instruction program interrupt when an optional instruction
2783 	is encountered.
2784
2785	* gen-semantics.c (print_semantic_body): Delete code
2786 	differentiating between an unimplemented floating point and normal
2787 	instruction.  Instead, such a case can be handled explicitly.
2788
2789	* ppc-instructions (store floating-point as integer word indexed):
2790 	Mark as optional.
2791	(Floating Convert to Integer Doubleword): Make the floating point
2792 	assist interrupt explicit.
2793	(Floating Convert To Integer Doubleword with round towards Zero):
2794 	Ditto.
2795	(Floating Convert To Integer Word): Ditto
2796	(Move From FPSCR): Ditto.
2797	(Move to Condition Register from FPSCR): Ditto.
2798	(Move To FPSCR Fields): Ditto.
2799	(Move To FPSCR Field Immediate): Ditto.
2800	(Move To FPSCR Bit 0): Ditto.
2801	(Move To FPSCR Bit 1): Ditto.
2802
2803Mon Nov  4 12:49:13 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2804
2805	* corefile.c (core_map_read_buffer, core_map_write_buffer): Avoid
2806 	breaking up transfers.
2807
2808	* corefile.c: Adjust arguments so that the client server
2809	relationship is clarified.
2810
2811	* hw_glue.c (hw_glue_init_address): Update so it can be attached
2812 	to a PCI bus.
2813
2814	* hw_disk.c (hw_disk_instance_write): Add more checks to disk IO -
2815 	looking for things like overflow/underflow.
2816
2817Sun Nov  3 18:45:20 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2818
2819	* emul_generic.c (emul_add_tree_hardware): Hang the disk off the
2820 	PAL device instead of the IOBUS.  The disk must be attached to a
2821 	logical bus.
2822
2823	* hw_disk.c (hw_disk_init_address): Just use the unit address
2824 	directly in the attach - the rest isn't relevant.
2825
2826Sat Nov  2 21:48:57 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2827
2828	* configure.in (sim-hardware, sim-packages): Allow additional
2829 	hardware and packages to be prefixed as well as appended.
2830
2831	* Makefile.in (tmp-hw, tmp-pk): Retain the user specified order of
2832 	packages when building them.  Consequently, a user can override a
2833 	standard device by prefixing their own version.
2834
2835	* Makefile.in (hw_opic.o, hw_pci.o, hw_ide.o): Add dependencies.
2836
2837Fri Nov  1 14:42:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2838
2839	* mon.c (_cpu_mon): Add fields for counting 1, 2, 4, and 8 byte
2840	reads and writes.
2841	(mon_{read,write}): Count 1, 2, 4, and 8 byte reads/writes.
2842	(mon_print_info): Correct typo regarding # of unaligned reads and
2843	writes.  Print out how many 1, 2, 4, and 8 byte reads/writes there
2844	are.
2845
2846Tue Oct 29 17:55:43 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2847
2848	* configure.in (AC_CHECK_FUNCS): Add access.
2849	* config{.in,ure}: Regenerate.
2850
2851	* emul_unix.c (do_unix_nop): System call that always succeeds.
2852	(do_unix_access): Support access system call.
2853	(solaris_descriptors): Make sigaltstack and sigaction nops.
2854	({solaris,linux}_descriptors): Add support for access.
2855
2856Tue, 8 Oct 18:42:26 1996  Jason Molenda <crash@cygnus.co.jp>
2857
2858	* Makefile.in (clean): Move config.log to distclean.
2859
2860Fri Nov  1 16:44:28 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2861
2862	* corefile-n.h (core_map_write_N): Improve abort messages.
2863
2864	* device.h, device.c (device_attach_address): Remove unused name
2865 	parameter.
2866 	(device_detach_address): Ditto.
2867	* device_table.h, device_table.c: Update.
2868	* hw_iobus.c (hw_iobus_attach_address_callback): Ditto.
2869	* hw_nvram.c (hw_nvram_init_address): Ditto.
2870	* hw_memory.c (hw_memory_init_address): Ditto.
2871	* hw_vm.c (hw_vm_init_address_callback): Ditto.
2872	(hw_vm_attach_address): Ditto.
2873	(hw_vm_add_space): Ditto.
2874	* hw_init.c (update_for_binary_section): Ditto.
2875	* hw_core.c (hw_core_attach_address_callback): Ditto.
2876
2877	* hw_iobus.c (hw_iobus_attach_address_callback): Rewrite to handle
2878 	configurable parent busses.
2879
2880Wed Oct 30 18:46:32 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2881
2882	* device_table.c (generic_device_size_to_attach_size): Provide
2883 	limited support for multi-cell sizes.
2884	(generic_device_address_to_attach_address): Ditto for addresses.
2885
2886Tue Oct 29 02:01:29 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2887
2888	* device.c (device_add_integer_property): Check for setting of
2889 	#address-cells and #size-cells properties.  For these, update the
2890 	corresponding device values.
2891	(device_nr_address_cells, device_nr_size_cells): Use the value
2892 	from the device instead of the property.
2893
2894	* hw_core.c: Use generic address and size conversions for the top
2895 	bus.
2896
2897	* hw_memory.c (hw_memory_init_address): Tolerate case where
2898 	#address and #size cells is greater than 1.
2899
2900	* device.c (device_tree_print_device): Clean out printing of
2901 	properties.
2902
2903	* device.c (split_device_specifier): Don't detect comments here -
2904 	"#" can be a valid prefix - eg #size-cells.
2905
2906	* psim.c (psim_merge_device_file): Suppress comments and blank
2907 	lines here.
2908
2909	* emul_generic.c (emul_add_tree_hardware): Fix typo of incorrect
2910 	pal unit address.  Add the property /#address-cells to the root of
2911 	the tree.
2912
2913	* device.c (device_template_create_device): Check that the unit
2914 	address was successfully parsed.
2915
2916	* device_table.c (generic_device_unit_decode): Rewrite to better
2917 	handle multi-cell addresses.
2918	(generic_device_unit_encode): Ditto.
2919
2920	* emul_generic.c (emul_add_tree_hardware): "reg" properties no
2921 	longer need the explicit array type - the parser takes care of it.
2922
2923	* pk_disklabel.c (pk_disklabel_create_instance): Add NULL return
2924 	to keep GCC happy.
2925
2926Mon Oct 28 22:55:48 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2927
2928	* hw_ide.c: New file.  Model of a basic IDE interface attached to
2929 	a PCI bus.
2930
2931	* configure.in (hardware): Add the ide device to the default
2932 	configuration.
2933	* configure: Regenerate.
2934
2935	* debug.h, debug.c: Add tracing option for the IDE device.
2936
2937Fri Oct 25 21:28:25 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2938
2939	* hw_phb.c, hw_phb.h: New files - implement a PHB.
2940
2941	* configure.in (hardware): Add the phb to the list of devices to
2942 	build by default.
2943
2944Fri Oct 25 21:28:25 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2945
2946	* hw_com.c: Review description.
2947	* hw_disk.c: Ditto.
2948	* hw_htab.c: Ditto.
2949	* hw_eeprom.c: Ditto.
2950	* hw_init.c: Ditto.
2951	* hw_cpu.c: Ditto.
2952
2953	* hw_com.c: Update event handling.
2954
2955	* hw_disk.c: Implement tracing.
2956
2957Fri Oct 25 21:28:25 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2958
2959	* device_table.c (generic_device_init_address): Use
2960 	assigned-addresses property in preference to any other reg
2961 	property.
2962
2963Fri Oct 25 21:28:25 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2964
2965	* device.h, device.c (device_find_ranges_property): New function.
2966  	Simplify the manipulation of "ranges" properties.
2967
2968	* device.c (device_add_parsed): Extend to include support for the
2969 	ranges property.
2970
2971	* device.c (device_add_parsed): Add assigned-addresses to the list
2972 	of reg type properties.
2973
2974	* device.c (device_tree_print_device): Add code to format and
2975 	print a ranges property.
2976
2977	* device.h, device.c (device_nr_address_cells,
2978 	device_nr_size_cells): New functions. Determine the values of the
2979 	standard properties #address-cells and #size-cells.  Both of which
2980 	are optional and have default values of two and one respectfuly.
2981  	Previously, code that determined #address-cells was incorrectly
2982 	using a value of one.
2983
2984Fri Oct 25 21:28:25 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
2985
2986	* debug.h, debug.c: Sort debug options, Add entries for the
2987 	comming PHB device.
2988
2989Fri Oct 18 12:12:21 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2990
2991	* ppc-instructions (Floating Select): Add support for fsel unless
2992	model is 601.  Allow user to filter out instruction unless -Fs is
2993	passed to igen.
2994	(Store Floating-Point as Integer Word Indexed): Raise optional
2995	instruction program abort.  Allow user to filter out instruction
2996	unless -Fs is passed to igen.
2997	(Floating Square Root{, Single}): Ditto.
2998	(Floating Reciprocal Estimate Single): Ditto.
2999	(Floating Reciprocal Square Root Estimate): Ditto.
3000
3001	* configure.in (--enable-sim-filter): If not passed, pass 32,f,s
3002	to igen.
3003	* configure: Regenerate.
3004
3005	* interrupts.h (program_interrupt_reasons): Add
3006	optional_instruction_program_interrupt.
3007
3008	* interrupts.c (program_interrupt): Call error with more detailed
3009	information on program interrupts, particularly in user mode.  Add
3010	support for optional_instruction_program_interrupt.
3011
3012Wed Sep 25 10:20:29 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3013
3014	* hw_glue.c: New device.  Hooks for manipulating interrupt ports.
3015
3016	* debug.h, debug.c (trace_glue_device): Add tracing support for
3017	the interrupt glue logic device.
3018
3019	* configure.in (hardware): Add glue device.
3020	* configure: Regenerate.
3021
3022Tue Sep 24 20:55:38 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3023
3024	* device.c (device_tree_parse_integer_property): New function,
3025	parse a list of integers as an array property.
3026	(device_tree_add_parsed): Call it.
3027
3028	* device.c (device_tree_parse_string_property): New function,
3029	parse a list of strings as a string property (with embeded
3030	null's).  For moment, don't try to implement a complext string
3031	parser.
3032	(device_tree_add_parsed): Call it.
3033
3034Tue Sep 24 16:30:48 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3035
3036	* hw_opic.c: New file.  OpenPIC interrupt controller.
3037
3038	* configure.in (hardware): Add opic device.
3039	* configure: re-generate.
3040
3041	* hw_pic.c: Delete, replaced with hw_opic.c.
3042
3043	* debug.h, debug.c: Add debug option for OpenPIC device. -
3044	opic-device.
3045
3046Tue Sep 24 16:30:48 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3047
3048	* Makefile.in (psim.o, idecode.o): Since idecode and not psim is
3049	now the file that does all the inlining.
3050
3051	* Makefile.in (LIB_SRC, LIB_INLINE_SRC, idecode.o): Break out the
3052	library source code that could be involved in an inlining.  Make
3053	idecode.o only dependant on the inlined library source code.
3054
3055	* Makefile.in (LIB_OBJ): Put options last on the list so that it
3056	is compiled last.
3057
3058	* std-config.h (DEVICE_INLINE): Only inline locals when the
3059	default is to inline.
3060
3061Mon Sep 23 00:37:49 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3062
3063	* hw_htab.c (htab_sum_binary): Determine the real-base for the
3064	binary.
3065
3066	* hw_htab.c (htab_map_binary): Depending on the value of the
3067	load-base, either map the program in as a contiguous section or as
3068	separate sections controled by th binaries lma values.
3069	(htab_init_data_callback): Ditto.
3070
3071Sun Sep 22 15:56:22 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3072
3073	* emul_generic.c (emul_add_tree_options): Remove load-base option.
3074
3075	* emul_chirp.c (map_over_chirp_note): Add load_base field to note
3076	struct.  Don't require the load_base field to be present - just
3077	issue warning - it is a recent addition.
3078	(emul_chirp_create): Support both virtual and physical modes.
3079
3080	* emul_chirp.c (emul_chirp_create): Add a stack initialization
3081	property so that any arguments specified on the command line can
3082	be passed on to user programs.
3083
3084	* hw_init.c (create_ppc_chirp_bootargs): Add support for chirp
3085	argument passing to the pseudo device stack.
3086
3087Sat Sep 21 19:39:56 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3088
3089	* device.c (device_error): Make it more tolerant to incomplete
3090	devices.
3091
3092	* hw_init.c (hw_data_init_data_callback): Extend the data device
3093	so that it can perform initialization operations either dma or a
3094	more complex instance open, seek, write operation.
3095	* hw_init.c: Update the description of the data device to reflect
3096	this.
3097
3098Sat Sep 21 00:13:02 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3099
3100	* device.c (device_event_queue_schedule,
3101	device_event_queue_deschedule, device_event_queue_time): Have the
3102	device object export the event operations.  Making these available
3103	from the device object should hopefully simplify writing device
3104	models.
3105
3106Fri Sep 20 14:04:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3107
3108	* configure.in (sim-hardware): Add eeprom device to default build.
3109
3110	* hw_eeprom.c: Rewrite so it works.
3111
3112	* debug.h, debug.c: Add tracing support for the eeprom and com
3113	devices.
3114
3115Thu Sep 19 14:40:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3116
3117	* debug.h: Add disklabel-package and disk-device trace options.
3118	debug.h (PTRACE): Add macro to simplify tracing in packages.
3119
3120Thu Sep 19 14:40:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3121
3122	* device.c (device_create_instance_from): Tighten up loop
3123	searching for device instances.
3124	(device_instance_delete): Ditto.
3125	(device_instance_delete): Only leaf instances need to be removed
3126	from a devices list of active instances.
3127
3128Thu Sep 19 14:40:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3129
3130	* hw_disk.c: Add the cdrom as an alias.
3131
3132	* pk_disklabel.c (disklabel_delete): Implement, remembering to
3133	delete the raw disk instance while we're at it.
3134
3135	* pk_disklabel.c (pk_disklabel_create_instance): Implement a
3136	little bit more - still a long way to go.
3137
3138	* pk_disklabel.c (disklabel_write, disklabel_read): Remember the
3139	new head position after a read or write.
3140
3141Thu Sep 19 13:05:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3142
3143	* emul_chirp.c (chirp_emul_read): Allow reads to be longer then
3144	the internal buffer.
3145
3146Thu Sep 19 13:05:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3147
3148	* emul_chirp.c (chirp_read_t2h_args): Call memset-0 with the args
3149	in the correct order.
3150
3151	* emul_chirp.c (chirp_emul_call_method): Correct computation for
3152	the address of the first stack argument passed in from the client
3153	program.
3154
3155Wed Sep 18 19:33:54 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3156
3157	* words.h: Add new types signed_cell and unsigned_cell which
3158	correspond to the signed and unsigned IEEE 1275 memory locations.
3159	* device.h, device.c, emul_chirp.c: Where refering to an IEEE 1275
3160	memory cell, replace uses of unsigned32 with unsigned_cell.
3161	* device_table.h: Ditto.
3162
3163	* sim-endian.h: Add new macros H2BE_cell and BE2H_cell which
3164	convert cell sized values to from big endian.
3165	* device.c, emul_chirp.c: Where refering to IEEE 1275 memory cells
3166	use these new macros.
3167
3168Tue Sep 17 15:57:44 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3169
3170	* device.c (device_tree_add_parsed): Detect and report an
3171	interrupt being attached to an invalid device. Was dumping core.
3172
3173Mon Sep 16 23:09:12 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3174
3175	* device.h, device.c (device_address_to_attach_address,
3176	device_size_to_attach_size): New functions.  Convert a devices
3177	unit address or unit size structure into a form suitable for
3178	passing on to the attach and detach functions.
3179	* device_table.h: Add extra methods to device table.
3180
3181	* device.h, device.c (device_find_reg_property): New function.
3182	For a reg type property, return the selected address + size
3183	tupple, along with a positive success status.  Add a reg_property
3184	to the list of property types.
3185	* (device_tree_add_parsed): Make array properties with the name
3186	reg or alternate-reg of type reg_property.
3187
3188	* hw_memory.c (hw_memory_init_address): Rewrite to use new
3189	find_reg_property method.
3190	* hw_nvram.c (hw_nvram_init_address): Ditto.
3191
3192	* device.c (device_tree_print_device): Add code to print out a reg
3193	property.
3194
3195	* device_table.c (generic_device_address_to_attach_address,
3196	generic_device_size_to_attach_size ): New functions.  Generic
3197	functions for converting between unit and attach address or size.
3198
3199	* device_table.c (generic_device_init_address): Rewrite to use the
3200	new find_reg and address convert functions.  Look for both reg and
3201	alternate-reg properties.
3202
3203Mon Sep 16 23:09:12 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3204
3205	* hw_com.c: New file.  A '550 serial device that can quickly be
3206	attached to any bus.
3207	* configure.in (enable-sim-hardware): Add the com device.
3208	* configure: re-generate.
3209
3210Thu Sep 12 17:30:56 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3211
3212	* device.c (device_tree_verify_reg_unit_address): New
3213	function. Check that the unit address as specified by the reg
3214	property correctly corresponds to any unit address previously
3215	specified by the devices name.
3216	(device_tree_add_parsed): When adding a reg property, verify
3217	that the unit-address - first value of property - correctly
3218	matches any previous value specified when creating the device
3219	node.
3220
3221Thu Sep 12 17:30:56 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3222
3223	* mon.c (mon_event): Remove assertion that an unsigned is >= 0.
3224
3225Fri Aug 16 12:05:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3226
3227	* device.c (device_full_name): Cast strdup to char *, since AIX
3228	3.2.5 mistakenly declares the function to be const char *.
3229	(device_create_from): Ditto.
3230	(device_create_instance_from): Ditto.
3231	(device_add_property): Ditto.
3232
3233Tue Aug 13 11:40:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3234
3235	* debug.c (trace_option): For -t all, do not set the
3236	trace_dump_device_tree flag, so that the simulator is run.
3237
3238Tue Aug 13 11:40:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3239
3240	* Makefile.in (options.o): Depend on defines.h.
3241	(defines.h): New rule, go through config.h and make strings of all
3242	of the #define HAVE_xxx macros.
3243	(distclean): Remove defines.h.
3244
3245	* options.c (print_options): Print whether many of the
3246	configuration macros are defined.
3247
3248	* main.c (main): If -t options and no filename, just print the
3249	options, and don't print the usage message.
3250
3251Mon Aug 12 18:42:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3252
3253	* configure.in: Test whether /dev/zero works on the system, and if
3254	it does, define HAVE_DEVZERO.
3255	* configure: Regenerate.
3256
3257	* emul_generic.c (emul_add_tree_hardware): Do not add /iobus/disk
3258	if we don't have a working /dev/zero on the system.
3259
3260	* emul_bugapi.c (emul_bugapi_init): If HAVE_DEVZERO is not
3261	defined, don't add disk support.
3262	(emul_bugapi_do_diskio): Ditto.
3263	(emul_bugapi_instruction_call): Ditto.
3264
3265Wed Aug  7 14:34:20 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3266
3267	* emul_unix.c (HAVE_TCGETATTR): If HAVE_TERMIOS_STRUCTURE is not
3268	defined, make sure HAVE_TCGETATTR is #undef'ed
3269
3270Wed Aug  7 14:34:20 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3271
3272	* std-config.h (REGPARM): Only define REGPARM attributes if using
3273	GNU C.  Test for __i686__ in case GCC ever defines it.  If not on
3274	a x86 platform, define REGPARM as nothing.
3275
3276	* sim-endian.h (WITH_HOST_BYTE_ORDER): Test for i686 and __i686__
3277	also.
3278
3279Wed Aug  7 20:19:55 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3280
3281	* ld-decode.h, ld-decode.c: Rename goto_gen to the more correct
3282 	goto_switch_gen.
3283	* gen-idecode.c: Ditto.
3284
3285	* gen-idecode.c (print_idecode_table): Comment out check for
3286 	switch/table combination until a bug with it is fixed.
3287
3288	* ppc-opcode-goto: New file.  Like complex and flat but uses
3289 	goto-switch instead of padded-switch for the tables.
3290
3291	* gen-idecode.c (print_goto_switch_name): New function.
3292	(print_goto_switch_table_leaf): New function.
3293	(print_goto_switch_break): New function.
3294	(print_goto_switch_table): New function. Prints a jump table
3295	that can be jumped into instead of a switch statement.
3296
3297	* gen-idecode.c (*switch_*): As an option output a switch that is
3298 	implemented using a jump table but only if the switch is not
3299 	boolean.
3300
3301Tue Aug  6 09:28:22 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3302
3303	* configure.in (--enable-sim-{hardware,packages}): Fix typos.
3304	* configure: Regenerate.
3305
3306	* device.c (device_instance_call_method): Fixup format message in
3307	error case.  Return 0 in case of error to shut up compiler
3308	warnings.
3309
3310Wed Aug  7 00:17:37 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3311
3312	* device_table.c (generic_device_unit_decode): Require a comma
3313	between elements of a unit address.
3314
3315	* device.c (device_tree_print_device): For reg, alternate-reg and
3316	ranges properties use special print functions.
3317	(device_print_ranges_property): Print formatted ranges property.
3318	(device_print_reg_property): Print formatted reg property.
3319
3320Tue Aug  6 21:35:18 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3321
3322	* device.c (device_tree_add_parsed): For reg, ranges and
3323	alternate-reg properties use a special parser.
3324	(device_tree_parse_reg_property): New function to parse a reg
3325	property.
3326	(device_tree_parse_ranges_property): New function to parse a
3327	ranges property.
3328	(device_encode_unit): Wrapper for encode_unit callback.
3329	(device_decoce_unit): Wrapper for decode_unit callback.
3330
3331Wed Jul 31 00:02:30 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3332
3333	* device_table.h (device_instance_callbacks): Relace the claim and
3334	release methods with a more general table mapping from method-name
3335	to method-function.
3336
3337	* device.c (device_instance_call_method): New function.  Implement
3338	the OpenBoot call-method client interface.  Attempts to locate the
3339	instances method in the callback table.
3340	(device_instance_claim, device_instance_release): Delete.
3341	Replaced with call-method and a lookup table.
3342
3343	* emul_chirp.c (chirp_emul_call_method): Use the new device
3344	instance call method and let that handle a client claim call.
3345
3346	* hw_htab.c (claim_memory): Wrapper function to call the memory
3347	devices "claim" method using the new device-instance call-method
3348	interface.  Replaces the previous direct calls to claim.
3349	(htab_map_region): Use claim_memory.
3350	(htab_init_data_callback): Ditto.
3351
3352	* hw_memory.c (hw_memory_instance_claim): Update function
3353	interface so that it is compatible with call-method.
3354	(hw_memory_instance_release): Ditto.
3355	(hw_memory_instance_methods): New table of memory specific
3356	methods claim and release.  Add to the hw_memory_callback
3357	table.
3358
3359Tue Jul 30 21:26:14 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3360
3361	* psim.c (psim_init): Back out of change to initial value of
3362	system->last_cpu.
3363
3364Tue Jul 30 21:12:24 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3365
3366	* sim_callbacks.h (sim_io_printf_filtered): Replace
3367	printf_filtered with a local simulator specific version.  Add
3368	#define printf_filtered to simplify updating of existing code.
3369
3370	* sim_callbacks.h (sim_io_write_stdout, sim_io_read_stdin,
3371	sim_io_write_stderr): New functions.  Read / write to the
3372	simulations stdin and stdout and stderr interfaces.  Merge in code
3373	from hw_pal that previously handled async I/O.
3374	(sim_io_flush_stdoutput): Rename flush_stdoutput.  Add #define
3375	flush_stdoutput to simplify updating of existing code.
3376
3377	* hw_pal.c (scan_hw_pal, write_hw_pal,
3378	hw_pal_instance_write_callback): Use the new sim_io functions.
3379
3380	* main.c: Implement standalone versions of the new sim_io
3381	functions.  Include support for async I/O.
3382	* sim_calls.c: Ditto.  This time using the gdb callback table.
3383
3384	* std-config.h (CURRENT_STDIO, current_stdio): New macro. Set up
3385	stdio configuration so that it works in the same way as the rest
3386	of the simulation.
3387	* psim.c (psim_create): Initialize current_stdio from the device
3388	tree.
3389	* emul_generic.c (emul_add_tree_options): Enter a default value
3390	for use-stdio in the device tree.
3391
3392Fri Jul 26 19:43:03 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3393
3394	* gen-idecode.c (print_jump): Was always generating a jump back to
3395 	idecode.  Only necessary at tail of semantic code.
3396	(print_jump): Was always setting the processor's cia, even during
3397 	startup when the processor was still undefined.
3398	(print_jump): For safety, restart smp loop when cpu_nr >= nr_cpus,
3399 	not just equal.
3400
3401	* options.c (print_options): Add printing of WITH_REGPARM and
3402 	WITH_STDCALL.
3403
3404	* std-config.h (WITH_REGPARM, WITH_STDCALL): Provide default
3405 	(disabled) values if not defined.
3406
3407Fri Jul 26 00:36:35 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3408
3409	* ppc-cache-rules (cache): Change RS and RB to cache instead of
3410	compute.  The block move instructions use them.
3411
3412	* idecode_expression.h (FPSCR_SET): New macro, set specific FPSCR
3413	register.
3414	(CR_FIELD): New macro, extract specific CR register.
3415	(FPSCR_FIELD): New macro, extract specific FPSCR register.
3416
3417	* registers.h (GPR): New macro, simplify accesses to GPR[i].
3418
3419	* bits.c (INSERTED): Covert INSERTED macro into a function.
3420	(EXTRACTED): Conditionally compile on correct bit size macro.
3421
3422	* bits.h (BIT8): New macro, set a single bit in an 8 bit byte.
3423
3424	* ppc-instructions: With hints from Paul Martin, type in missing
3425	some instruction semantics.  Leave disabled for the moment.
3426	(Load Multiple Word): Ditto.
3427	(Store Multiple Word): Ditto.
3428	(Load String Word Immediate): Ditto.
3429	(Load String Word Indexed): Ditto.
3430	(Store String Word Immedate): Ditto.
3431	(Store String Word Indexed): Ditto.
3432	(Move to Condition Register from XER): Ditto.
3433	(Move From Condition Register): Ditto.
3434	(Move From FPSCR): Ditto.
3435	(Move to Condition Register from FPSCR): Ditto.
3436	(Move To FPSCR Field Immediate): Ditto.
3437	(Move To FPSCR Fields): Ditto.
3438	(Move To FPSCR Bit 0): Ditto.
3439	(Move To FPSCR Bit 1): Ditto.
3440
3441Thu Jul 25 22:10:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3442
3443	* std-config.h (SEMANTICS_INLINE): By default, mask out the
3444	inlining of semantic functions from DEFAULT_INLINE.  Almost all
3445	configurations call the semantic code via a pointer so there is
3446	little benefit.
3447
3448	* std-config.h (ICACHE_INLINE): Ditto.
3449
3450Thu Jul 25 20:07:30 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3451
3452	* configure.in (sim_regparm): Add configuration option for
3453	enabling GCC's regparm attribute.
3454	* (sim_stdcall): Add configuration option for enabling GCC's
3455	stdcall attribute.
3456
3457	* Makefile.in (REGPARM_CFLAGS): Pass regparam configuration onto
3458	compilations.
3459	* (STDCALL_CFLAGS): Pass stdcall configuration onto compilations.
3460
3461	* std-config.h (REGPARM): Extend construction of REGPARM macro so
3462	that it can include __stdcall__ function attribute.
3463
3464Wed Jul 24 19:04:20 1996  Andrew Cagney  <cagney@sawnoff>
3465
3466	* options.c (print_options): Include SUPPORT_INLINE in information
3467 	dump.
3468
3469	* gen-idecode.c (print_run_until_stop_body): Only generate loop
3470 	termination test if creating idecode_run_until_stop.  Push the
3471 	loop termination test back into each alternative branch.
3472
3473Wed Jul 24 15:47:09 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3474
3475	* gen-icache.c (print_icache_function): Have the cache function
3476 	always update the cache_entries semantic and address fields.
3477
3478	* gen-idecode.c (print_idecode_switch_illegal): Include a break
3479 	when generating illegal instructions.  This was commented out
3480 	which is a hangover from looking a at switch statements generated
3481 	using indirect jumps.
3482
3483Tue Jul 23 20:57:01 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3484
3485	* igen.c (print_my_defines): Replaces print_define_my_index.
3486	Print both a definition for MY_INDEX and MY_PREFIX.
3487	* gen-icache.c (print_icache_function): Adjust.
3488	* gen-idecode.c (print_jump_insn): Adjust.
3489	* gen-semantics.c (print_c_semantic): Adjust.
3490
3491	* gen-support.c (gen_support_h): Add optional include to created
3492	support.h so that, like cpu, it is optionally inlined for all
3493	modules that include it.
3494	* inline.h, inline.c: Adjust so that support.[hc] is handled the
3495	same as cpu.[hc].
3496
3497	* idecode_fields.h (LABEL, GOTO): Macro's that create a unique
3498	name for a lable and then branch to it.
3499
3500	* ppc-instructions (convert_to_integer, Floating Round to
3501	Single-Precision, Floating Convert from Integer Doubleword): Use
3502	LABEL and GOTO instead of the recently added switch statements.
3503
3504Wed Jul 24 14:02:42 1996  Andrew Cagney  <cagney@sawnoff.highland.com.au>
3505
3506	* gen-idecode.c (print_run_until_stop_body): Too many rparen in
3507 	generated code.
3508
3509Tue Jul 23 20:57:01 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3510
3511	* configure.in (--enable-sim-line-nr): Typo - sim_line-nr.
3512	* (--enable-sim-inline): Reorder patern matching of arguments so
3513	that SUPPORT=ALL_INLINE is reconized as *=* and not *_INLINE.
3514
3515	* configure: rebuild.
3516
3517Mon Jul 22 23:25:08 1996  Andrew Cagney  <cagney@highland.com.au>
3518
3519	* configure.in (--enable-sim-hardware, --enable-sim-packages): New
3520	configuration options.  Let the user specify the packages or
3521	hardware devices that are to be included in the build.  Makes it
3522	possible for user packages to be specified.
3523
3524	* Makefile.in (tmp-pk, tmp-hw): Just use the list of packages and
3525	hardware instead of checking it using ls.  configure.in should
3526	have taken care of any problems.
3527	(HW_SRC, HW_OBJ, PACKAGE_SRC, PACKAGE_OBJ): Set by configure.
3528
3529Mon Jul 22 22:38:59 1996  Andrew Cagney  <cagney@highland.com.au>
3530
3531	* psim.c (psim_options): Enter the argument to the memory size
3532	option directly into the device tree.  Was using atol() which is
3533	dangerously non portable.
3534
3535Mon Jul 22 22:17:08 1996  Andrew Cagney  <cagney@highland.com.au>
3536
3537	* configure.in (icache): Extend icache flag to include an insn
3538	option.  If specifyed the insn - aka instruction - is included in
3539	the instruction cache.  Make this the default.
3540	* configure: re-generate.
3541
3542	* igen.c (main), igen.h: Add option -S - inSn - for specifying
3543	that the instruction should be included in the icache.
3544
3545	* gen-icache.c (print_icache_body): If enabled, output code to put
3546	the instruction into the icache.
3547	(print_icache_struct): If enabled, add insn to the icache struct.
3548
3549Mon Jul 22 20:46:12 1996  Andrew Cagney  <cagney@highland.com.au>
3550
3551	* Makefile.in (BUILD_CFLAGS): Include -g when building the
3552	generators.
3553
3554Mon Jul 22 20:00:25 1996  Andrew Cagney  <cagney@highland.com.au>
3555
3556	* emul_generic.c (emul_add_tree_options): Was incorrectly setting
3557	the strict-alignment option when hardwired for non-strict
3558	alignment.
3559
3560Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3561
3562	* gen-semantics.c: Make the my_index variable a macro MY_INDEX.
3563
3564	* ppc-instructions: Adjust so that references are to MY_INDEX and
3565	not my_index.
3566
3567Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3568
3569	* gen-idecode.c: Output the complete run_until_stop function
3570	instead of just the code to handle a single instruction issue.
3571	* : Have the generated idecode.c include inline.c (instead of psim.c).
3572
3573	* std-config.h: Change psim.c so that it isn't inlined (as this is
3574	no longer needed).
3575
3576	* psim.c (run_until_stop): Delete the old run_until_stop function
3577	instead calling the idecode_run and idecode_run_until_stop
3578	functions that gen-idecode.c is now creating.
3579
3580Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3581
3582	* dgen.c: Maintenance - update to use new features found in lf.c.
3583
3584	* filter_filename.c (filter_filename): Maintenance - make the
3585	string constant.
3586
3587Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3588
3589	* debug.c (TRACE, ITRACE, DTRACE): Have GCC instead of CPP
3590	eliminate trace statements.
3591
3592	* debug.c: Change trace format so that it is consistent
3593	(file:line-nr) with CC's error output.
3594
3595	* gen-itable.c (itable_c_insn): Add the source file name and
3596	source line number to the instruction's informational entry.
3597
3598	* debug.c (ITRACE): Use the itable (and my_index) to get the
3599	current instructions name and source line number.
3600
3601	* gen-semantics.c, gen-icache.c: Adjust generated ITRACE calls to
3602	match new interface.
3603
3604	* emul_bugapi.c (emul_bugapi_instruction_call): Adjust
3605	corresponding call to ITRACE so that it still matches.
3606
3607	* idecode_expression.h (ALU_END, CR0_COMPARE): Use TRACE instead
3608	of ITRACE.  The CPP line directives would have previously set the
3609	line-nr and file name so ITRACE isn't needed.
3610
3611Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3612
3613	* gen-idecode.c (print_jump_until_stop_body): New function and
3614	idecode generation option.  Instead of generating and calling
3615	separate functions containing the semantic and icache code
3616	generate a single monolythic function and use goto's (and GCC's
3617	indirect jump) to move between code blocks.
3618
3619	* Makefile.in: Add sim_jump flag to those passed to igen.
3620
3621	* configure.in: New option --enable-sim-jump (default disabled)
3622
3623	* ppc-instructions: Eliminate any uses of labels and goto's.
3624	These result in duplicate declarations when a single flat function
3625	is being create.
3626
3627	* ppc-opcode-jump: New file.  Set of opcode rules useful when
3628	testing jumping idecodes.
3629
3630Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3631
3632	* gen-idecode.c: Optionally include the semantic code for an
3633	instruction in the function that is doing the decoding.
3634
3635	* igen.c: Add option (-C) to generate semantics in the instruction
3636	decode functions.
3637
3638	* configure.in (--enable-sim-icache): Accept an option list such
3639	as 1024,define.  Add a new choice to the list - semantic - which
3640	will cause igen to generate instruction decode functions that
3641	include the corresponding semantic code.
3642
3643Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3644
3645	* configure.in: New option --enable-sim-line-nr (default enabled).
3646	Enable/disable the inclusion of CPP line directives in the
3647	generated files.  Such directives refer back to the source files
3648	used when generating the simulator code.
3649
3650	* Makefile.in (sim_line_nr): Pass to igen.
3651
3652Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3653
3654	* igen.c (main): Revamp the options so that more letters are
3655	available.
3656
3657	* configure.in: Adjust to match igen's revamped options
3658
3659Sun Jul 21 21:18:05 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3660
3661	* Makefile.in (pk.h, hw.h): Rewrite depenencies for hw.h (etc) so
3662	that they use the same technique as igen (ie a dummy targets
3663	tmp-pk and tmp-hw are created).
3664
3665Mon Jun 24 22:28:00 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3666
3667	* Makefile.in (BUILD_CFLAGS): Include WARNING_CFLAGS.
3668
3669Wed Jun 19 21:45:28 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3670
3671	* ld-cache.[hc], ld-decode.[hc], ld-insn.[hc]: New files. Separate
3672	out the loading of each of the tables from the rest of igen.
3673	* Makefile.in: Adjust.
3674	* igen.c: Adjust.
3675
3676	* gen-icache.[hc], gen-idecode.[hc], gen-itable.[hc],
3677	gen-model.[hc], gen-semantics.[hc]: New files. Separate out the
3678	code creating each separate set of generated files.
3679	* Makefile.in: Adjust.
3680	* igen.c: Adjust.
3681
3682	* gen-support.[ch]: New files. Output the support functions (found
3683	in the ppc-instructions file) into a separate file.
3684	* Makefile.in: Add.
3685	* inline.h, inline.c: Add.
3686	* std-config.h: Add.
3687
3688	* ld-cache.c: Re-design the cache table format.
3689	* ppc-cache-rules: Update to new format.
3690
3691	* ld-decode.c: Re-design the decode table format.
3692	* ppc-opcode-simple: Update to new format
3693	* ppc-opcode-complex: Ditto
3694	* ppc-opcode-flat: Ditto
3695
3696	* filter.h, filter.c: New files. Separate the opcode filter table
3697	reading code from the rest of igen.c.  Re-design the filter so that
3698	it works inclusivly not exclusivly.
3699	* igen.c: Remove the opcode filter table loading code.
3700	* Makefile.in (filter.o): Adjust
3701	* configure.in: Adjust filter flag so that default includes 32bit
3702	and floating point.
3703	* ppc-instructions: Clean up filter fields so that only in use
3704	entries are specified (ie delete `be').
3705
3706	* misc.c (name2i, i2name): New function.  Map between a string and
3707	an integer value.
3708
3709Mon Jun 17 20:08:03 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3710
3711	* sim_calls.c (sim_close): If simulator not created, skip printing
3712	of run information.
3713
3714Mon Jun 17 20:08:03 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3715
3716	* registers.c (register_description): Typo, insns not insn.
3717
3718	* ppc-instructions (model_get_number_of_stalls): New model function,
3719	returns number of stalls for the specified processor.
3720	* psim.c (psim_read_register): Add call to new function
3721	model_get_number_of_stalls().
3722
3723	* ppc-instructions (model_get_number_of_cycles): New model function,
3724	returns number of stalls for the specified processor.
3725	* psim.c (psim_read_register): Add call to new function
3726	model_get_number_of_cycles().
3727
3728Fri Jun 14 00:11:56 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3729
3730	* device_table.h: Don't pass the parent device into a devices
3731	create function.  This makes the create function consistent with
3732	the documentation.
3733	* device.c (device_template_create_device): Ditto
3734	* hw_pal.c (hw_pal_create): Ditto
3735	* hw_core.c (hw_core_create): Ditto
3736	* hw_vm.c (hw_vm_create): Ditto
3737	* hw_disk.c (hw_disk_create): Ditto
3738	* hw_nvram.c (hw_nvram_create): Ditto
3739	* hw_memory.c (hw_memory_create): Ditto
3740	* hw_cpu.c (hw_cpu_create): Ditto.
3741
3742	* device.c (split_find_device): Allow a null initial parent device.
3743	(device_template_create_device): Ditto.
3744
3745	* device.c (device_create_from): Make local (static) only used
3746	within device.c.
3747	* device_table.h: typedef device_callbacks moved here (from
3748	device.h) where it belongs.
3749
3750	* hw_core.c: New file. Implements just the core device using the
3751	core object.
3752
3753	* corefile.c: Moved all core device functions into the new
3754	hw_core.c file. core_device_create() disapears.
3755
3756	* psim.c (psim_tree): Use device_tree_add_parsed() to create the
3757	core device.
3758
3759Thu Jun 13 00:09:29 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3760
3761	* hw_init.c: Correct typo in comment.
3762
3763	* corefile.c (core_init): Remove any remaining references to a
3764	default map.
3765	(core_map_find_mapping): Ditto.
3766
3767Wed Jun 12 22:30:32 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3768
3769	* corefile.c (core_init): Make function global so that other
3770	devices are able to use the full core object.
3771
3772	* corefile.c (core_create, core_from_device): Break core_create
3773	into two functions.  The first creates a core object, the second
3774	returns the core object associated with a core device.
3775
3776	* corefile.c (core_device_create): Use core_create to make the
3777	core object.
3778
3779	* psim.c (psim_create): Use core_from_device() instead of
3780	core_create().
3781
3782	* device.c (device_template_create_device): Make static as only
3783	needed by functions internal to device.c.
3784
3785Fri Jun  7 23:47:18 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3786
3787	* ppc-opcode-test-2: Remove description of fields.
3788	* ppc-opcode-complex: Ditto
3789	* ppc-opcode-flat: Ditto
3790	* ppc-opcode-simple: Ditto
3791	* ppc-opcode-stupid: Ditto
3792	* ppc-opcode-test-1: Ditto
3793	* ppc-cache-rules: Ditto
3794
3795	* igen.c: Add description of files as a comment at the front.
3796
3797Wed Jun 26 12:50:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3798
3799	* configure.in: Check for whether the termios and termio
3800	structures are really defined, and whether or not, they define the
3801	c_line field.
3802	* configure: Regenerate.
3803
3804	* Makefile.in ({,TERMIO_}CFLAGS): Add TERMIO_CFLAGS options set by
3805	configure.
3806
3807	* emul_unix.c: Various changes to allow for building on systems
3808	with different termio and termios structures.  If host has both
3809	termio and termios, just use termios.  No longer include
3810	sys/ioctl.h.
3811
3812Wed Jun 26 12:26:55 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
3813
3814	* Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
3815	INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
3816	(docdir): Removed.
3817	* configure.in (AC_PREREQ): autoconf 2.5 or higher.
3818	(AC_PROG_INSTALL): Added.
3819	* configure: Rebuilt.
3820
3821Wed Jun  5 23:53:42 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3822
3823	* corefile.h: Rewrite documentation so that it can be extracted and
3824	converted into texinfo (and hence ready for translation into html,
3825	tex or nroff).
3826	* device.h: Ditto
3827
3828Thu Jun  6 09:52:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3829
3830	* hw_disk.c (SEEK_SET): If SEEK_SET is not defined, define as 0.
3831
3832Wed Jun  5 11:46:52 1996  Andrew Cagney  <cagney@puddin>
3833
3834	* hw_disk.c: Include <unistd.h> if available.  Under SunOS, that
3835 	is the source of SEEK_SET.
3836
3837Wed Jun  5 01:39:07 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3838
3839	* psim.c (psim_options): Correct type of dummy arguments being
3840	passed to a device_ioctl call.
3841
3842	* hw_init.c (hw_data_init_data_callback): Adjust printf arguments.
3843	(write_stack_arguments): Ditto.
3844	* hw_trace.c: Instance callback entry no longer a table.
3845
3846Wed Jun  5 01:39:07 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3847
3848	* emul_unix.c (do_unix_umask): Cast printf argument.
3849	(convert_to_linux_termios): Use LINUX_VSWTC not LINUX_VSWCH
3850
3851Mon Jun  3 15:02:04 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3852
3853	* hw_init.c (update_for_binary_section): Abort if we find an
3854	.interp section, which indicates the need for shared libraries to
3855	be loaded.
3856
3857Mon Jun  3 15:02:04 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3858
3859	* emul_unix.c (do_unix_{time,gettimeofday,getrusage}): Add support
3860	for time, gettimeofday, and getrusage system calls.
3861	({solaris,linux}_descriptors): Add new system calls.
3862	(do_get{,e}{uid,gid}): Use gid_t/uid_t types.
3863	(do_get{,p}pid): Use pic_t types.
3864
3865	* configure.in (AC_TYPE_{GETGROUPS,SIGNAL}): Define.
3866	(AC_TYPE_{MODE,OFF,PID,SIZE,UID}_T): Define.
3867	* config{.in,ure}: Regenerate.
3868
3869Mon Jun  3 23:19:57 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3870
3871	* emul_netbsd.c (emul_netbsd_create): Use the more specific names
3872	`ppc-elf' and `ppc-xcoff' for the stack-type.
3873	* emul_unix.c (emul_unix_create): Ditto.
3874	* emul_bugapi.c (emul_bugapi_create): Ditto.
3875	* hw_init.c: Reconize the new names.
3876
3877	* emul_unix.c (do_unix_break): Adjust so that the updated ioctl
3878	call is used (no system parameter).
3879
3880Sun Jun  2 11:21:17 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3881
3882	* emul_unix.{h,c}: New files to provide Solaris and Linux system
3883	call emulations.
3884
3885	* Makefile.in (LIB_{SRC,OBJ}): Add emul_unix.{c,o}.
3886	(os_emul.o): Depend on emul_unix.h.
3887	(emul_unix.o): New dependency.
3888
3889	* configure.in (--enable-sim-alignment): Add 0|default to mean set
3890	alignment to 0, which means use appropriate alignment for mode.
3891	(AC_CHECK_FUNCS): Add new functions needed by emul_unix.c.
3892	(AC_CHECK_HEADERS): Add new include files needed by emul_unix.c.
3893	* config.in: Regenerate.
3894	* configure: Regenerate.
3895
3896	* emul_generic.c (emul_write2_status): New function to return
3897	results in r3 and r4 for Solaris system calls.
3898	(emul_do_system_call): If the system call is not support, but
3899	there is a string for the system call name, print out the string
3900	instead of the system call number.
3901
3902	* emul_generic.h (emul_write2_status): Declare it.
3903
3904	* emul_netbsd.c: Use /* */ around comment on #endif.
3905
3906	* os_emul.c: Include emul_unix.h.
3907	(os_emulations): Add emulations for Solaris, and Linux.
3908
3909	* psim.c (psim_usage): Add message about solaris, linux
3910	emulations.
3911
3912Thu May 30 00:00:10 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3913
3914	* hw_iobus.c: Tidy up notes so that they can be auto-extracted.
3915
3916	* README: Correct PSIM's title
3917
3918Wed May 29 23:50:26 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3919
3920	* basics.h: New global type object_disposition, used to indicate
3921	the status of objects when things are restarted.
3922
3923Fri May 17 17:28:52 1996  Andrew Cagney  <cagney@benjimen.highland.com.au>
3924
3925	* device_table.h: Change the interrupt descriptor structure so
3926	that it includes an additional member - an upper bound on the
3927	interrupts by that name.
3928
3929	* device.c (device_interrupt_decode): Allow a range of interrupt
3930	ports (eg rst0 .. rst6) if the port descriptors bound is non zero.
3931
3932	* device.c (device_tree_print_device): Include a list of valid
3933	interrupt ports when listing supported devices.
3934
3935	* device.h, device.c (device_child_interrupt_*): Delete. Not used.
3936
3937	* emul_generic.c (emul_add_tree_hardware): Modify the creation of
3938	the interrupt net so that it uses int0 .. intN.
3939
3940Tue May 14 23:03:53 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3941
3942	* device.h, device.c (device_ioctl): Drop the system argument.
3943	Devices can not obtain this using the device_system() call.
3944	* device_table.h: Adjust accordingly.
3945	* hw_*.c: Adjust accordingly.
3946	* emul_netbsd.c (do_break): Adjust call to vm device accordingly.
3947	* psim.c (psim_options): Use a device_ioctl call to force the
3948	hw_trace device to update the trace options.
3949	* hw_trace.c: Replace the init function with an ioctl call.  Adjust
3950	doc accordingly.
3951
3952	* psim.c (psim_init): Re-order initialization so that the
3953	os-emulation is initialized after the device tree.  Without this,
3954	os-emul's are not able to create instances or access properties
3955	that contain an instance handle.
3956
3957	* device.h, device.c (device_add_*_property): Make these functions
3958	internal to device.c.  The user has access to the more generic
3959	device_tree_add_parsed function.  Differentiate between the initial
3960	and current value for each property.
3961	* (clean_device_properties): New function that deletes any
3962	properties created after the start of a simulation and restores
3963	the initial value of any others (ignoring ihandles).
3964	* (init_device_properties): (Re)Initialize any properties that
3965	contain ihandles. create
3966
3967	* (device_tree_init): Include calls to clean the device tree's
3968	properties and then initialize them.  Document this in the device.h
3969	file.
3970
3971Mon May  6 17:36:15 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3972
3973	* interrupts.c (decrementer_interrupt): Always pend a decrementer
3974	interrupt even if it is not yet possible to deliver it.
3975
3976Wed May  1 12:26:51 1996  Andrew Cagney  <cagney@benjimen>
3977
3978	* mon.h, mon.c (mon_get_number_of_insns): Make this externally
3979 	visable adjusting the arguments so that the interface is correct.
3980	(mon_print_info): Adjust calls.
3981
3982	* registers.h, registers.c (register_description): Add phony
3983 	cycle, insn and stall registers.
3984
3985	* psim.c (psim_read_register): Return nr of instructions for given
3986 	processor.
3987
3988Tue Apr 30 22:09:09 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
3989
3990	* hw_htab.c: New file. Extract contents from disk_table.c.
3991	Contains a device that, during initialization will create a
3992	PowerPC htab in memory.
3993	* hw_register.c: New file. Extract contents from disk_table.c.
3994	Contains a device that, during initialization, will parse its
3995	property list and use that to initialize various processor
3996	registers (not target specific).
3997	* hw_vm.c: New file. Extract contents from disk_table.c.  Contains
3998	a device that handles accesses to invalid virtual memory addresses
3999	(in user mode).
4000	* hw_init.c: New file. Extract contents from disk_table.c.  Misc
4001	devices that can initialize memory from a file.
4002	* hw_trace.c: New file. Extract contents from disk_table.c.
4003	Configure trace options from property values.
4004
4005	* Makefile.in (hw_htab.o, hw_register.o, hw_vm.o, hw_init.o,
4006	hw_trace.c): Add new device files.
4007
4008	* device_table.c: Remove above code, now in separate independant
4009	files.
4010
4011Fri Apr 26 00:00:07 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4012
4013	* hw_disk.c: New file.  Disk and CDROM device.
4014
4015	* Makefile.in (hw_disk.o): Add device hw_disk.c.
4016
4017	* pk_disklabel.c: New file.  Implement the miss-named disk-label
4018	package.
4019
4020	* Makefile.in (pk.h): Create the file pk.h that contains a list of all
4021	the packages.
4022
4023	* Makefile.in (hw.h, hw.c): Add dependancy on Makefile so that
4024	they are re-created when the makefile is updated.
4025
4026	* emul_generic.c (emul_add_tree_hardware): Add a disk device
4027	(below the iobus) to the device tree.  Include an ihandle of
4028	the disk as /chosen/disk.
4029
4030	* emul_bugapi.c (emul_bugapi_create): Don't initialize the input,
4031	output and (new) disk handles yet.
4032	* (emul_bugapi_init): Initialize the input, output (and just added)
4033	disk ihandles here.
4034	* (emul_bugapi_do_diskio): New.  Performs disk i/o (well at least
4035	what I think the behavour is).
4036	* emul_bugapi.c (emul_bugapi_instruction_call): Add hook to disk
4037	i/o bug call.  For RETURN call, exit using gpr[3]'s status even
4038	though this isn't part of the spec - makes it possible for machine
4039	code to signal the aporting of a simulation run.
4040
4041	* emul_chirp.c (chirp_emul_call_method): Add support for the
4042	claim/release methods.
4043	* (chirp_emul_exit): Add an optional exit status argument to
4044	the exit method.  Makes it possible for chirp emul simulations
4045	to abort upon an error.
4046	* device.h, device.c (device_instance_claim,
4047	device_instance_release): New methods for claiming and releasing
4048	memory.
4049	* hw_memory.c: add claim and release memory methods.
4050	* hw_*: Use the claim memory method when allocating physical
4051	memory.
4052
4053Thu Apr 18 23:38:10 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4054
4055	* hw_nvram.c (hw_nvram_update_clock): Use the current not previous
4056	time when updating the clock.
4057
4058	* hw_nvram.c: Tidy up documentation
4059
4060Fri May 24 10:08:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4061
4062	* configure.in (AC_STRUCT_ST_{BLKSIZE,BLOCKS,RDEV}): Use these
4063	macros to determine whether or not the appropriate st_<xxx> fields
4064	exist in the stat structure.
4065	(AC_CHECK_FUNCS): Check for all unix system calls used, except for
4066	the real basic ones like open, read, write, etc.
4067	* config{.in,ure}: Regenerate.
4068
4069	* emul_netbsd.c: Add support for missing system calls, and/or
4070	missing stat fields.
4071	(MAXPATHLEN): Undefine if including unistd.h, since sys/param.h
4072	might define it.
4073
4074	* hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL
4075	are not defined.
4076	(scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or
4077	F_SETFL not defined.
4078
4079Tue May 21 17:24:45 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4080
4081	* emul_netbsd.c (write_stat): Don't convert st_blocks unless the
4082	host is netbsd.
4083
4084Thu May 16 10:56:45 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4085
4086	* configure.in (AC_CHECK_HEADERS): Add sys/ioctl.h.
4087	* config{.in,ure}: Regenerate.
4088	* emul_netbsd.c: If HAVE_SYS_IOCTL_H is not defined, don't include
4089	sys/ioctl.h.
4090
4091Tue May  7 17:28:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4092
4093	* hw_pal.c (hw_pal_instance_read_callback): Remove unused
4094	variable.
4095
4096	* misc.c ({,target_}a2i): Rewrite to not use strtoul.
4097
4098	* Makefile.in ({spreg,misc}.o): Add dependency on .c file.
4099	({i,d}gen): Don't link in liberity.  Use BUILD_LIBS instead of
4100	LIBS.
4101
4102Mon May  6 11:31:43 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4103
4104	* hw_pal.c (hw_pal_instance_read_callback): If using stdio, use
4105	fgets to read line.  If not using stdio, do a simple blocking read
4106	of len bytes.
4107
4108Fri May  3 15:07:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4109
4110	* Makefile.in: Correctly build simulator for build machine != host
4111	machine.
4112
4113Tue Apr 30 18:46:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4114
4115	* configure.in (--enable-hostendian): Rework so the default uses
4116	the AC_C_BIGENDIAN results.  Only run AC_C_BIGENDIAN if not cross
4117	compiling.
4118	* configure: Regenerate.
4119
4120	* sim-endian.h: Add more tests for host endian to support more
4121	platforms in a cross compilation environment.
4122
4123Wed Apr 17 14:38:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4124
4125	* hw_pal.c ({scan,write}_hw_pal): If WITH_STDIO == DO_USE_STDIO,
4126	use stdio, instead of unpended read/printf_filtered.
4127	(hw_pal_instance_write_callback): If WITH_STDIO == DO_USE_STDIO,
4128	flush stdout after writing the characters.
4129
4130	* options.c (print_options): Print out WITH_STDIO.
4131
4132	* Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@
4133	configuration variable.
4134	(CONFIG_CFLAGS): Include STDIO_CFLAGS.
4135	(hw.{c,h}): Allow for source dir != build dir, and for HW_SRC
4136	files to contain directory pieces.
4137
4138	* std-config.h (DO{,NT}_USE_STDIO): New flags for whether we
4139	should use stdio for console input.
4140	(WITH_STDIO): If not defined, define as DONT_USE_STDIO.
4141
4142	* configure.in (--enable-sim-stdio): Add new switch to control
4143	whether stdio is used for console I/O.
4144	* configure: Regenerate.
4145
4146	* interrupts.c (external_interrupt): Declare it to be
4147	INLINE_INTERRUPTS, not INLINE_CPU.
4148
4149Mon Apr 15 23:30:56 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4150
4151	* events.c (insert_event_entry): Allow events to be scheduled
4152	*NOW* (at delta time 0).  Add assertions to clarify behavour of
4153	event queue.
4154
4155	* events.c (update_time_from_event): New function. Calculates the
4156	number of ticks from the next event.  Use this.
4157
4158Sun Apr 14 21:39:45 1996  Andrew Cagney  <cagney@highland.com.au>
4159
4160	* emul_netbsd.c (do_break): Return 0 if success (instead of
4161	adjusted break).
4162
4163	* device_table.c (vm_ioctl_callback): Don't return adjusted break
4164	(isn't needed).
4165
4166Sun Apr 14 21:32:41 1996  Andrew Cagney  <cagney@highland.com.au>
4167
4168	* device_table.h: Change type of the device ioctl so that it
4169	returns an int (status).
4170	* device.h (device_ioctl): Ditto.
4171	* device.c (device_ioctl): Ditto.
4172
4173	* device_table.c (stack_ioctl_callback): Return 0 status.
4174	(vm_ioctl_callback): Ditto
4175
4176Sat Apr 13 00:00:24 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4177
4178	* emul_netbsd.c (do_read): Correctly set the return value.
4179	(do_getpid): Ditto.
4180	(do_getuid): Ditto.
4181	(do_geteuid): Ditto.
4182	(do_dup): Ditto.
4183	(do_getegid): Ditto.
4184	(do_getgid): Ditto.
4185	(do_sigprocmask): Ditto.
4186	(do_umask): Ditto.
4187	(do_dup2): Ditto.
4188	(do_gettimeofday): Ditto.
4189	(do_getrusage): Ditto.
4190	(do_fstat): Ditto.
4191	(do_stat): Ditto.
4192	(do_lseek): Ditto.
4193	(do___sysctl): Ditto.
4194
4195Fri Apr 12 20:56:47 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4196
4197	* device_table.c (vm_ioctl_callback): Don't access the processor
4198	registers directly, instead leave it to the caller to handle this.
4199
4200	* emul_netbsd.c (do_break): Which calls vm_ioctl_callback to
4201	perform a break.  Pass in the new break value and set the
4202	registers according to the result.
4203
4204	* emul_generic.c (emul_write_status): Change so that r3 contains
4205	either status or errno and failure is indicated by SO.
4206
4207Thu Apr  4 23:03:38 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4208
4209	* emul_bugapi.c (emul_bugapi_create): More strict check of OEA
4210	address.
4211
4212Thu Apr  4 20:58:05 1996  Andrew Cagney  <cagney@highland.com.au>
4213
4214	* interrupts.h (interrupts): New structure contains state of
4215	pending interrupts.
4216
4217	* cpu.c (cpu_interrupts): New function.  Pending interrupt status
4218	in the cpu and grant access to it.  Add interrupts to cpu
4219	structure.
4220
4221Fri Mar 29 22:09:25 1996  Andrew Cagney  <cagney@highland.com.au>
4222
4223	* device.c (device_tree_add_parsed): Check that the creation of a
4224	device instance worked before using it.
4225
4226	* psim.c (psim_halt): Remove cia argument from psim_halt.  This
4227	function does not save the CIA so do not pass it in.
4228
4229Fri Mar 29 21:30:56 1996  Andrew Cagney  <cagney@highland.com.au>
4230
4231	* hw_pal.c (hw_pal): Merge the halt and icu and console devices
4232	found in device_table.c into a single hack pal.
4233
4234	* device_table.c (halt, icu, console): Delete.
4235
4236	* Makefile.in (hw_pal.o): New dependency.
4237
4238	* emul_generic.c (emul_add_tree_hardware): Re-arange device tree
4239	so that it uses the pal instead of the icu/halt/console devices.
4240	Wire the pal's interrupt ports up to the cpu nodes.
4241
4242Fri Mar 29 20:17:17 1996  Andrew Cagney  <cagney@highland.com.au>
4243
4244	* hw_iobus.c (hw_iobus_attach_address_callback): Move from
4245	device_table.c to here.
4246
4247	* Makefile.in (hw_iobus.o): New dependency.
4248
4249Fri Mar 29 12:17:58 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4250
4251	* emul_bugapi.c (_os_emul_data): Add fields for output, input.
4252	(emul_bugapi_create): Create input, output from /chosen/stdin and
4253	/chosen/stdout.
4254	(emul_bugapi_do_{read,write}): Switch to use device_instance
4255	interface.
4256	(emul_bugapi_instruction_call): Change calls to
4257	emul_bugapi_do_{read,write} to pass device instance argument.
4258
4259Tue Mar 26 14:57:58 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4260
4261	* igen.c (idecode_switch_end): Fix 2/26 change so that an extra
4262	default is not written out if a default was already written.
4263
4264	* psim.c (psim_{read,write}_register): Use sizeof unsigned_8 to
4265	size cooked_buf, not sizeof natural_word, since floating point
4266	registers are 8 bytes.
4267
4268Mon Mar 25 22:07:13 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4269
4270	* configure: Regenerate with autoconf 2.9.
4271
4272Thu Mar 21 00:14:26 1996  Andrew Cagney  <cagney@highland.com.au>
4273
4274	* device_table.h: Always include string headers.
4275
4276Thu Mar 21 00:06:09 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4277
4278	* main.c (error): Be careful to not try to print out statistics
4279	when the simulation was never created.
4280
4281Sun Mar 17 22:40:57 1996  Andrew Cagney  <cagney@highland.com.au>
4282
4283	* basics.h: Move the event queue's definition to here so that it
4284	can be refered to globally with out importing all of events.h.
4285
4286	* psim.h, psim.c (psim_event_queue): New function.  Grant access
4287	to the simulation event queue.  Will make this the single point of
4288	access (there is after all only one event queue in the
4289	simulation).
4290
4291	* cpu.c (cpu_create): Use psim_event_queue to obtain the event
4292	queue instead of it being passed in.  No longer allow access to
4293	the cpu's copy of the event queue.
4294
4295Sun Mar 17 22:40:57 1996  Andrew Cagney  <cagney@highland.com.au>
4296
4297	* events.h, events.c (event_handler): Remove event_queue from
4298	arguments passed to an event handler.  That argument is redundant
4299	- the `data' should refer to a data structure that contains the
4300	event queue if queing is needed.
4301
4302	* cpu.c (cpu_decrement_event): adjust
4303
4304	* events.c (event_queue_process): adjust
4305
4306Sun Mar 17 22:40:57 1996  Andrew Cagney  <cagney@highland.com.au>
4307
4308	* device.h, device.c (device_system): New, returns a handle for
4309	the system given the device.
4310
4311	* device.c (device_address_init): Store a pointer back to the
4312	system in each devices node.
4313
4314	* device_table.h: Don't pass `system' into each device when it is
4315	being initialized, this is now available using device_system(me).
4316
4317	* device.c (device_address_init, device_data_init): Adjust.
4318
4319	* hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c:
4320	Adjust.
4321
4322Sun Mar 17 22:40:57 1996  Andrew Cagney  <cagney@highland.com.au>
4323
4324	* interrupts.c (decrementer_interrupt, external_interrupt):
4325	Remember that an interrupt wasn't delivered so that it can be
4326	tried again later.
4327
4328	* interrupts.c (check_masked_interrupt): New function.  (re)
4329	checks for the posibility that a recent change to the MSR may have
4330	made it possible to deliver an interrupt that was previously
4331	masked be the EE bit.
4332
4333	* ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of
4334	a pending interrupt being delivered using check_masked_interrupt().
4335
4336	* cpu.c (cpu_decrement_event): Just call decrementer_interrupt()
4337	leaving it to that module to handle both interrupt synchronization
4338	and masking.
4339
4340	* cpu.c (struct _cpu): remove variables that were going to record
4341	pending decrementer and external interrupts.
4342
4343Sun Mar 17 22:40:57 1996  Andrew Cagney  <cagney@highland.com.au>
4344
4345	* hw_cpu.c, hw_cpu.h: New files.  Implement a device that sits
4346	between the interrupt controller and the simulators internal
4347	processor model.  Maps device interrupts onto the processor
4348	interrupt function calls.
4349
4350Mon Mar  4 06:06:54 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4351
4352	* hw_nvram.c: NVRAM device that includes a real-time clock that is
4353	updated each second.
4354
4355Mon Mar  4 04:18:50 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4356
4357	* device.h (attach_type): Remove attach_default type address
4358	spaces.  Will replace with levels of callback memory.
4359
4360	* corefile.h, corefile.c (new_core_mapping), corefile.c
4361	(core_map_attach): Replace default attach with a layerd callback
4362	approach.
4363
4364Sun Mar  3 03:58:46 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4365
4366	* device.c (split_property_specifier): ensure that only a single
4367	property is found.
4368	(split_value): New function, parses the value part of a device
4369	spec.
4370
4371	* device.c (device_tree_add_parsed): Use the interrupt conversion
4372	functions to determine the interrupt port numbers.
4373
4374	* device_table.h: Add table that maps between an interrupts
4375	symbolic name and its port number.
4376
4377	* device.h, device.c (device_interrupt_decode,
4378	device_interrupt_encode): new functions use the recently added
4379	interrupt port name/number tables to perform conversion.
4380
4381Sun Mar  3 03:23:59 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4382
4383	* device.h, device.c (device_set_array_property,
4384	device_set_boolean_property, device_set_ihandle_property,
4385	device_set_integer_property, device_set_string_property): New
4386	functions - allow the value of a given property to be changed.
4387
4388	* device.h, device.c: Re-order declaration and definition of
4389	property functions.
4390
4391Sun Mar  3 03:10:22 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4392
4393	* device.c (device_tree_print_device, device_tree_add_parsed):
4394	Remove references to phandle properties.
4395
4396Wed Feb 28 00:43:07 1996  Andrew Cagney - aka Noid  <cagney@highland.com.au>
4397
4398	* Makefile.in (corefile.o): missing dependency on device_table.h
4399	etc.
4400
4401Tue Feb 27 23:59:35 1996  Andrew Cagney - aka Noid  <cagney@highland.com.au>
4402
4403	* device_table.h: Revamp device init callbacks so that they are a
4404	sub structure.
4405	* device.c (device_init_data, device_init_address): If an init
4406	callback is NULL assume it should do nothing.
4407	* device_table.c (ignore_device_init, unimp_device_init): delete
4408	as redundant.
4409	* device_table.c, hw_memory.c: adjust.
4410
4411	* (io): ditto.
4412	* (dma): ditto.
4413	* (device_instance): ditto.
4414	* (ioctl): ditto.
4415	* (address nee config_address): ditto.
4416	* (interrupt): ditto.
4417
4418Mon Feb 26 21:11:20 1996  Andrew Cagney - aka Noid  <cagney@highland.com.au>
4419
4420	* igen.c (idecode_switch_end): Output a default entry when the
4421	switch statement is perfect.  Firstly stops GCC complaining about
4422	an incomplete switch and secondly it will be eliminated by a good
4423	compiler any way.
4424
4425Mon Feb 26 22:47:15 1996  Andrew Cagney - aka Noid  <cagney@highland.com.au>
4426
4427	* Makefile.in (hw.h, hw.c): New targets. Create from the list of
4428	hw_*.c files. hw.h declares a device descriptor table for each hw
4429	device while hw.c lists those tables in a form suitable for the
4430	construction of a top leveltable in device_table.c.
4431
4432	* Makefile.in (device_table.o): now depends on hw.c a generated
4433	table of hw.
4434
4435	* device_table.c (device_table): Re-arange the table of devices so
4436	that two levels are possible.  Make use of hw.c.
4437	* device_table.h: ditto.
4438
4439	* device.c (device_template_create_device): Handle new two level
4440	device lookup table.
4441	* device.c (device_usage): ditto.
4442
4443Mon Feb 26 22:24:00 1996  Andrew Cagney - aka Noid  <cagney@highland.com.au>
4444
4445	* device_table.c: Delete the memory device (moved to hw_memory.c).
4446
4447	* hw_memory.c: New file.  Just an OpenBoot memory device.
4448
4449Wed Jan 17 21:47:34 1996  Andrew Cagney  <cagney@highland.com.au>
4450
4451	* device.c (device_init_address): New.  Split initialization into
4452	two stages, address and address spaces
4453	* device.c (device_init_data): New. ... and data or other work.
4454	With out this, devices try to modify memory before it as been
4455	attached.
4456
4457	* device.c (device_tree_init): Update to perform staged
4458	initialization.
4459
4460	* device.c (device_init): Delete.
4461
4462Wed Jan 17 21:43:09 1996  Andrew Cagney  <cagney@highland.com.au>
4463
4464	* device_table.c (data_*): Rewrite to make heaver use of property
4465	nodes. Allow initialization by different data types.
4466	* device_table.c (htab_* pte_*): Rewrite to use properties.
4467
4468	* emul_chirp.c (emul_chirp_create): Use
4469	* emul_bugapi.c (emul_bugapi_create): Ditto
4470	* emul_netbsd.c (emul_netbsd_create): Ditto
4471
4472Wed Jan 17 21:24:50 1996  Andrew Cagney  <cagney@highland.com.au>
4473
4474	* emul_generic.c (emul_add_tree_options): Annotate existing tree
4475	with options that haven't yet been specified.
4476	* emul_generic.c (emul_add_tree_hardware): Annotate existing tree
4477	with demo devices and properties.
4478
4479	* emul_chirp.c (emul_chirp_create): Update to use new
4480	device_tree_add_parsed call and additional information now
4481	included in the device tree.  Use emul_add_tree* functions to add
4482	any missing details.
4483	* emul_bugapi.c (emul_bugapi_create): Ditto
4484	* emul_netbsd.c (emul_netbsd_create): Ditto
4485
4486Wed Jan 17 21:18:27 1996  Andrew Cagney  <cagney@highland.com.au>
4487
4488	* device.c (device_instance_create): New. Create/delete and
4489	operate on instances of a device.
4490	* device.c (device_instance_delete): Ditto
4491	* device.c (device_instance_read): Ditto
4492	* device.c (device_instance_write): Ditto
4493	* device.c (device_instance_seek): Ditto
4494	* device.c (device_instance_data): Ditto
4495	* device.c (device_instance_name): Ditto
4496	* device.c (device_instance_path): Ditto
4497
4498	* emul_chirp.c (chirp_emul_open): Implement using device_instance.
4499	* emul_chirp.c (chirp_emul_close): Ditto
4500	* emul_chirp.c (chirp_emul_read): Ditto
4501	* emul_chirp.c (chirp_emul_write): Ditto
4502	* emul_chirp.c (chirp_emul_seek): Ditto
4503
4504	* emul_chirp.c (chirp_read_t2h_args): Read arguments from device.
4505	Being careful to convert all from target to host byte order.
4506	* emul_chirp.c (chirp_write_h2t_args): Converse.
4507
4508Wed Jan 17 20:07:15 1996  Andrew Cagney  <cagney@highland.com.au>
4509
4510	* device.c (device_tree_add_parsed): New.  Rewrite code to add
4511	devices to the device tree so that a single printf style function
4512	is used.
4513
4514	* device.c (device_tree_add_*): Delete. Replaced by above.
4515
4516	* device.c (split_device_specifier): Functions to manipulate a
4517	device specifier (path) breaking it into its components
4518	* device.c (split_property_specifier): Ditto
4519	* device.c (split_device_name): Ditto
4520	* device.c (split_find_device): Ditto
4521
4522	* device.c (scan_*): Delete
4523
4524	* device.c (device_tree_find_device): Rewrite to use above.
4525	* device.c (device_add_property): Ditto
4526
4527Wed Jan 17 19:51:56 1996  Andrew Cagney  <cagney@highland.com.au>
4528
4529	* psim.c(psim_options): Parse the psim options, installing their
4530	value in the device tree.  Options are now first entered into a
4531	device tree and then extracted out again when needed.  This allows
4532	greater flexability in configuration.
4533
4534	* psim.c (psim_tree): Returns a basic device tree ready for
4535	parsing by psim_options.
4536	* psim.c (psim_usage): New.  Give usage to varing levels of detail
4537	according to the verbosity.  In turn output device and trace
4538	usage.
4539
4540	* main.c (main): Update to use new system
4541	* sim_calls.c (sim_open, sim_do_command): Ditto
4542
4543	* psim.c (psim_options): Add `r' option - ram size.
4544	* psim.c (psim_options): Add `o' option - openboot tree entry.
4545	* psim.c (psim_options): Add `h'/`H' options - more help.
4546
4547	* debug.c (trace_usage): Add more detailed help.
4548	* device.c (device_usage): New. Output help including a list of
4549	the devices currently available in the device table.
4550	* device_table.c: Add usage operator to each device.
4551
4552	* corefile.c (core_create, core_device_create): Adjust so that the
4553	core device is created earlier for psim_tree().  Core can later be
4554	created from it.
4555
4556	* psim.c (psim_create): Update to handle above way of creating
4557	things.  Extract all information from the device tree.
4558
4559	* device_tree.c (trace_*): New device node, its properties are
4560	used to set the value of the trace options.  Init this device (in
4561	psim_options) when ever the options are updated.
4562
4563Wed Jan 17 19:46:07 1996  Andrew Cagney  <cagney@highland.com.au>
4564
4565	* debug.h: Add trace_print_info, trace_print_device_tree and
4566	trace_dump_device_tree.  The first is a replacement for the
4567	variable `print_info' found in main.c and sim_calls.c.  The latter
4568	two enable the dumping of the entire device tree.
4569
4570	* debug.c: Add to trace_description table.
4571
4572	* main.c (main): Use above trace instead of local variable
4573	* sim_calls.c (sim_close): Ditto
4574
4575	* device.c (device_tree_print_device): New.  Prints the device
4576	tree in a format that is consistent with what can be parsed by the
4577	device tree load from file code.
4578
4579	* psim.c (psim_create): Dump device tree if enabled. If nump
4580	selected, exit psim immediately.
4581
4582Wed Jan 17 19:36:52 1996  Andrew Cagney  <cagney@highland.com.au>
4583
4584	* corefile-n.h (core_map_read_N): When mapping from an address to
4585	a device, do not subtract the devices base.  The device its self
4586	can do this.  Brings the behavour into line with OpenBoot.
4587	* corefile-n.h (core_map_write_N): Ditto
4588	* corefile.c (core_map_read_buffer): Ditto
4589	* corefile.c (core_map_write_buffer): Ditto
4590
4591	* device_table.c (console_io_read_buffer_callback): Adjust to
4592	handle biased address.
4593	* device_table.c (console_io_write_buffer_callback): Ditto
4594
4595Wed Jan 17 18:36:09 1996  Andrew Cagney  <cagney@highland.com.au>
4596
4597	* device.c (attach_device_interrupt_edge): New. Interrupt model
4598	did not allow interrupts to be wired up as a general net (edges).
4599	Re-implement so that interrupt events can be passed to multiple
4600	controllers and interrupt controllers can further propogate
4601	interrupt events.
4602
4603	* device.c (attach_device_interrupt_edge) : New, Ditto
4604	* device.c (detach_device_interrupt_edge) : New, Ditto
4605	* device.c (clean_device_interrupt_edges) : New, Ditto
4606	* device.c (device_interrupt_event) : New, Ditto
4607	* device.c (device_interrupt_attach) : New, Ditto
4608	* device.c (device_interrupt_detach) : New, Ditto
4609	* device.c (device_child_interrupt_attach) : New, Ditto
4610	* device.c (device_child_interrupt_detach) : New, Ditto
4611
4612	* device.c (device_attach_interrupt) : Delete old
4613	* device.c (device_detach_interrupt) : Delete old
4614	* device.c (device_interrupt) : Delete old
4615	* device.c (device_interrupt_ack) : Delete old
4616
4617	* device_table.c (unimp_*) : Update to match
4618
4619	* device_table.c (icu_io_write_buffer_callback) : Update to use
4620	interface.
4621	* device_table.c (icu_interrupt_event_callback) : Ditto
4622
4623Wed Jan 17 18:18:40 1996  Andrew Cagney  <cagney@highland.com.au>
4624
4625	* device.c (external_to_device) : New function that provides a
4626	standard mapping between a devices internal representation (a
4627	pointer) and its external (or what is passed to a client)
4628	representation (a phandle).  Implement using the cap object
4629	attached to the root node.
4630
4631	* device.c (device_to_external) : Ditto
4632	* device.c (external_to_device_instance) : Ditto but for ihandle
4633	and device instance.
4634	* device.c (device_instance_to_external) : Ditto
4635
4636	* Makefile (device.o): Add dependency on cap.
4637
4638	* emul_chirp.c (struct _emul_chirp_data) : Elimate use of cap. Code
4639	needing to translate between internal and external representations
4640	changed to use the external_to_device et.al. device operations.
4641	* emul_chirp.c (chirp_emul_*) : Ditto
4642
4643	* Makefile (emul_chirp.o): Remove dependency on cap
4644
4645Sat Jan  6 10:13:26 1996  Andrew Cagney - aka Noid  <cagney@highland.com.au>
4646
4647	* emul_chirp.c (map_over_chirp_note): Tighten up (and fix) checks
4648	on OpenBoot note section.
4649
4650Fri Jan  5 20:28:53 1996  Andrew Cagney  <cagney@hignland.com.au>
4651
4652	* emul_generic.c (emul_write_buffer): Use vm faulting byte
4653 	read/write calls for buffer transfers.  This will cause a fault to
4654 	occure if the transfer fails.  CHRP catches the fault while the
4655 	others suffer the consequences.
4656	(emul_read_buffer): Ditto.
4657	(emul_write_word): Ditto.
4658	(emul_read_word): Ditto.
4659	(emul_read_string): Ditto.
4660
4661Fri Jan  5 18:55:34 1996  Andrew Cagney  <cagney@highland.com.au>
4662
4663	* emul_chirp.c (emul_chirp_create, emul_chirp_instruction_call),
4664 	emul_generic (emul_blr_instruction): Use a real blr instruction to
4665 	return from a client service call.
4666
4667	* emul_chirp.c (services): Add all OpenBoot services to table.
4668
4669	* emul_generic.h, emul_bugapi.c (emul_bugapi_create), emul_chirp.c
4670 	(emul_chirp_create) : Use names instead of numbers for
4671 	instructions being stored in memory.
4672
4673Fri Jan  5 18:52:28 1996  Andrew Cagney  <cagney@highland.com.au>
4674
4675	* Makefile.in (maintainer-clean): Remove .log, core and *.core
4676 	(From NetBSD) files.
4677
4678Wed May 29 22:57:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4679
4680	* ChangeLog.00, ChangeLog: ChangeLog from gdb-4.16 becomes
4681	ChangeLog.00
4682
4683Wed May 29 22:57:40 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4684
4685	* ChangeLog.00, ChangeLog: ChangeLog from gdb-4.16 becomes
4686        ChangeLog.00
4687
4688Thu Apr  4 15:17:22 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4689
4690	* INSTALL: Fix some long lines and remove x86 specific options in
4691	the examples.
4692
4693Sun Mar 31 15:47:33 1996  Andrew Cagney  <cagney@kremvax.highland.com.au>
4694
4695        * INSTALL: Update to reflect gdb-4.16.
4696
4697        * RUN: Update to reflect gdb-4.16.  Review notes on building a BSD
4698        runtime environment.
4699
4700	* README: Point out copyright status of simulator in introduction.
4701
4702Thu Mar  7 19:53:49 1996  Michael Meissner  <meissner@cygnus.com>
4703
4704	* emul_netbsd.c: Only include sys/mount.h if HAVE_SYS_MOUNT_H is
4705	defined.
4706	* configure.in: Test for sys/mount.h.
4707	* configure,config.in: Regenerate.
4708
4709Thu Feb 22 22:48:57 1996  Andrew Cagney  <cagney@highland.com.au>
4710
4711	* README, RUN, INSTALL: Update to reflect announcement
4712	* psim: PSIM 1.0.1 released
4713
4714Thu Feb 22 14:01:56 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4715
4716	* emul_bugapi.c (emul_bugapi_do_read): New function to handle
4717	reads.
4718	(emul_bugapi_instruction_call): Add support for .INCHR/.INLN
4719	system calls.
4720
4721	* emul_bugapi.c (emul_bugapi_do_write): Call flush_stdoutput.
4722	* emul_netbsd.c (do_write): Call flush_stdoutput.
4723
4724	* main.c (flush_stdoutput): Do fflush (stdout).
4725	* sim_calls.c (flush_stdoutput): Do gdb_flush (gdb_stdout);
4726	* sim_callbacks.h (flush_stdoutput): Declare.
4727
4728Wed Feb 21 10:39:35 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4729
4730	* emul_bugapi.c (bug_mapping): New structure to map bug system
4731	call numbers to a string.
4732	(toplevel): Add remaining bugapi system calls.
4733	(emul_bugapi_instruction_name): Map bugapi system call number to a
4734	string.
4735	(emul_bugapi_do_write): Common code to process write system calls.
4736	(emul_bugapi_instruction_call): If os-emul tracing is on, trace
4737	the system call.  Use the name to print unknown system call.
4738	Correct implementation of _OUTLN.  Add support for _OUTSTR and
4739	_PCRLR system calls.
4740
4741Wed Feb 21 17:07:27 1996  Andrew Cagney  <cagney@highland.com.au>
4742
4743	* NOTES: New file.  Ramblings on why things were done they way
4744 	they were.
4745
4746	* psim.c (psim_options): Didn't enter the model value into the
4747 	device tree as a string.
4748
4749  	* cpu.c (cpu_synchronize_context): Wrong test for conditional
4750 	flush of cache.
4751
4752	* emul_generic.c (emul_add_tree_hardware): reg value didn't match
4753 	bus address.
4754
4755	* ppc-opcode-flat: new file. Generate an instruction decode
4756 	function like ppc-opcode-complex but use switch statements.
4757
4758	* INSTALL: document new opcode file, add example configurations.
4759
4760Tue Feb 20 18:42:31 1996  Andrew Cagney  <cagney@highland.com.au>
4761
4762	* main.c (main): rename psim instance (system) to simulation and
4763 	make global.
4764	* main.c (error): print out performance even when an error occures.
4765
4766	* emul_bugapi.c (emul_bugapi_create): Fix argument passing.
4767
4768	* emul_generic.c (emul_add_tree_hardware): Move hardware devices
4769 	to 0x80000000 from 0x400000.
4770
4771Mon Feb 19 22:54:40 1996  Andrew Cagney  <cagney@highland.com.au>
4772
4773	* ppc-instructions (TLB Invalidate Entry, TLB Invalidate ALL):
4774        Implement by passing on request to all processors.
4775	* ppc-instructions (TLB Synchronize): Implement as empty, processor
4776	tlb's are always in sync.
4777
4778	* cpu.c (cpu_page_tlb_invalidate_all): New function.  Pass on TLB
4779        invalidate request to processors VM sub-system.
4780	* cpu.c (cpu_page_tlb_invalidate_entry): Ditto.
4781
4782	* vm.c (vm_page_tlb_invalidate_all): New function. Mark all page
4783        TLB entries as invalid.
4784	* vm.c (vm_page_tlb_invalidate_entry): New function. Ditt but only
4785	invalidate one TLB entry.
4786
4787	* psim.c (psim_init): Invalidate TLB's before (re)starting.
4788
4789Mon Feb 19 21:25:56 1996  Andrew Cagney  <cagney@highland.com.au>
4790
4791	* emul_generic.c (emul_add_tree_options): Add argument
4792        oea_interrupt_prefix (0 or 1) that specifies the prefix MSR[IP]
4793        and hence the location of the interrupt vectors.  Add this to the
4794        device tree.
4795
4796	* emul_chirp.c (emul_chirp_create): Allow configuration of
4797        floating-point and interrupt prefix (default 0) using the above.
4798
4799	* emul_netbsd.c (emul_netbsd_create): Pass dummy arg for
4800        interrupt-prefix.
4801
4802	* emul_bugapi.c (emul_bugapi_create): Allow configuration of
4803        interrupt prefix (default 1) and configure interrupt table traps
4804        accordingly.
4805
4806	* emul_generic.c (emul_add_tree_hardware): Include a small eeprom
4807        in the list of devices.
4808
4809	* device_table.c: For moment fake eeprom device by a memory
4810        device.  In future will need a proper eeprom device.
4811
4812Tue Feb 20 17:01:26 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
4813
4814	* config.in: Regenerated.
4815
4816Fri Feb 16 10:42:27 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4817
4818	* psim.c: Include options.h so print_options is declared.
4819
4820Thu Feb 15 18:10:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4821
4822	* emul_netbsd.c (toplevel): Do not include sys/resource.h if the
4823	system doesn't have it, and turn off getrusage processing.
4824	(write_rusage): #ifdef out if we don't have getrusage.
4825	(do_getrusage): Define as 0 if we don't have getrusage.
4826
4827Wed Feb 14 17:38:12 1996  J. T. Conklin  <jtc@cygnus.com>
4828
4829	* configure.in (AC_HEADER_DIRENT): Add, so that we can figure out
4830	where the directory functions are declared.
4831	* configure: Regenerate
4832
4833	* emul_netbsd.c: Use the macros defined by configure to find the
4834	appropriate directory functions.
4835
4836Thu Feb  8 00:53:13 1996  Andrew Cagney  <cagney@highland.com.au>
4837
4838	* configure.in (xor_endian): Trace setting of xor-endian flag.
4839
4840Wed Feb  7 18:20:56 1996  Andrew Cagney  <cagney@highland.com.au>
4841
4842	* psim.c (psim_usage): Extend documentation.
4843
4844	* ppc-instructions (model-print): fix typo.
4845
4846Sun Feb  4 23:58:02 1996  Andrew Cagney  <cagney@highland.com.au>
4847
4848	* configure.in (with-smp): Default configuration allow up to
4849	five processors (but enable only one).
4850
4851	* emul_bugapi.c (emul_bugapi_create): If floating-point is
4852	allowed, enable the floating point instruction set in the
4853	msr.
4854
4855Tue Jan 30 22:52:32 1996  Andrew Cagney  <cagney@highland.com.au>
4856
4857	* emul_chirp.c (chirp_emul_seek, chirp_emul_read,
4858        chirp_emul_write): Tolerate invalid ihandles.
4859
4860	* device.c (device_instance_create, device_instance_delete):
4861	init/delete instance name
4862
4863	* emul_chirp.c (emul_chirp_instruction_call): Read the nr args and
4864        returns when determining the service.
4865
4866	* emul_chirp.c (chirp_read_t2h_args): Allow variable number of
4867        args for the method "call-method".
4868
4869	* emul_chirp.c (chirp_emul_getprop): Tolerate a n_returns of zero
4870        - should be one. Some OpenBoot code doesn't pass correct arg.
4871
4872	* emul_chirp.c (chirp_emul_getprop): Trace more property types.
4873
4874Tue Jan 30 19:12:29 1996  Andrew Cagney  <cagney@highland.com.au>
4875
4876	* RUN: New file. Describe how to run PSIM
4877	* INSTALL: New file. Describe how to install PSIM
4878	* README: New file. Overview PSIM.
4879	* BUGS: New file. Briefly discuss bugs and limitations
4880
4881Wed Jan 24 20:28:08 1996  Andrew Cagney  <cagney@highland.com.au>
4882
4883	* emul_bugapi.c (OEA_START_ADDRESS): Put it back to 0x100000,
4884        wasn't correctly using GLD.
4885
4886Mon Jan 22 22:44:13 1996  Andrew Cagney  <cagney@highland.com.au>
4887
4888	* emul_generic.c (emul_add_tree_options): Make default number of
4889	active processors 1 (even when SMP enabled).
4890
4891Mon Jan 22 22:37:34 1996  Andrew Cagney  <cagney@highland.com.au>
4892
4893	* device_table.c (icu_io_read_buffer_callback): Add extra register
4894        (at addr + 4) that returns number of processors.
4895
4896	* emul_generic.c (emul_add_tree_hardware): Update device node to
4897        match.
4898
4899Mon Jan 22 22:00:42 1996  Andrew Cagney  <cagney@highland.com.au>
4900
4901	* emul_bugapi.c (OEA_START_ADDRESS): Change to 0x4000 so that it
4902        matches gas-960116/ld.
4903
4904Fri Jan 19 00:32:27 1996  Andrew Cagney  <cagney@highland.com.au>
4905
4906	* psim-960119 released - psim-1.0b01.
4907
4908Fri Jan 19 00:32:27 1996  Andrew Cagney - aka Noid  <cagney@highland.au.com>
4909
4910	* psim.c (psim_create): Re-order so that all options are set
4911        before the CPU's are created.  Was breaking mon_create();
4912
4913	* psim.c (psim_create): Tidy up conflicting configuration errors.
4914
4915	* debug.c: Add missing print-info entry to trace table.
4916
4917	* os_emul.c (os_emul_create): Fix `-e' option. Was looking under
4918        wrong name.
4919
4920	* psim.c (psim_options): Fix `-r' option. Was entering under wrong
4921        name.
4922
4923Thu Jan 18 20:33:48 1996  Andrew Cagney  <cagney@highland.com.au>
4924
4925	* vm.c (om_unpack_bats): Fix checking of bat bits.
4926
4927	* emul_chirp.c (emul_chirp_create): Store address of OB in memory
4928 	in the os_emul_data structure.
4929
4930	* emul_bugapi.c (emul_bugapi_create): Store the address of the
4931 	bugapi code (in main memory) in the os_emul_data structure.
4932
4933Thu Jan 18 01:14:55 1996  Andrew Cagney  <cagney@highland.com.au>
4934
4935	* vm.c (om_translate_effective_to_real): Fix trace output.
4936
4937Wed Jan 17 22:21:55 1996  Andrew Cagney  <cagney@highland.com.au>
4938
4939	* device_table.c (generic_device_init_address): Create memory from
4940        information obtained from `reg' property.
4941	* device_table.c (vm_init_address_callback): Use information
4942        obtained from properties.
4943	* emul_netbsd.c (emul_netbsd_create): Update to create device and
4944        property entries to match
4945
4946Tue Jan 16 09:50:53 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4947
4948	* idecode_expression.h (ALU_END): Add ITRACE of the result.
4949
4950	* ppc-instructions (Equivalent): Enable this instruction.
4951	(Add to Minus One Extended): Ditto.
4952	(Subtract from Minus One Extended): Ditto.
4953	(Add/And/Or/Xor Immediate): Add alu trace of result.
4954	(Add/And/Or/Xor Shifted Immediate): Ditto.
4955	(And/Or/Equivalent/Nand/Nor): Ditto.
4956	(And/Or with Complement): Ditto.
4957	(Extend Sign Byte/Half Word): Ditto.
4958	(Count Leading Zeros): Ditto.
4959	(Shift Right Algerbraic Word): Ditto.
4960	(Shift Right Algerbraic Word Immediate): Ditto.
4961
4962Tue Jan  9 15:10:27 1996  Andrew Cagney  <cagney@highland.com.au>
4963
4964	* emul_bugapi.c (emul_bugapi_instruction_call) : Make format type
4965 	correct.
4966	* emul_chirp.c (map_over_chirp_note) : Ditto
4967	* emul_chirp.c (chirp_emul_test) : Ditto
4968	* device_table.c (register_init): Ditto
4969
4970Tue Jan  9 14:16:26 1996  Andrew Cagney  <cagney@highland.com.au>
4971
4972	* configure.in: Make disable-sim-switch default.  Switch only
4973 	useful if using --enable-sim-opcode=ppc-opcode-stupid and then
4974 	only marginally so.
4975
4976Mon Jan  8 12:17:22 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4977
4978	* device_table.c (register_init): Make format type correct.
4979
4980Wed Jan  3 19:21:46 1996  Andrew Cagney  <cagney@highland.com.au>
4981
4982	* emul_bugapi.c (emul_bugapi_create): Add nodes to init the
4983 	system-call trap to the emul instruction call instruction (Along
4984 	with an rfi and infinate loop).
4985
4986	* emul_bugapi.c (emul_bugapi_instruction_call): Expand to include
4987 	a few real PPC bug calls.  Test with simple hello world.
4988
4989Tue Jan  2 20:51:19 1996  Andrew Cagney - aka Noid  <cagney@highland.com.au>
4990
4991	* device.h, device.c (device_child, device_sibling): New
4992        functions.  Return corresponding device value.
4993
4994	* emul_chirp.c (chirp_emul_child, chirp_emul_peer,
4995        chirp_emul_parent): New functions - emulate corresponding OpenBoot
4996        interfaces.
4997
4998	* device_table.c (register_init): Extend properties attached to
4999        register init node to allow a specific processor's register to be
5000        specified.
5001
5002	* emul_chirp.c (emul_chirp_create): Init SMP correctly - the
5003        initial PC for all processors is an infinate loop but then, for
5004        processor zero, is quickly changed to be the correct code starting
5005        address.
5006
5007	* emul_chirp.c (emul_chirp_create): Add fake bootpath
5008        et.al. properties to tree.
5009
5010	* emul_chirp.c (chirp_emul_getproplen): New function.  Emulate the
5011        getproplen OpenBoot call.
5012
5013	* emul_chirp.c (emul_chirp_instruction_call): Document other
5014        possible chirp emulation internal states.
5015
5016	* emul_chirp.c (emul_chirp_instruction_call): Trace failed lookups
5017 	as well as successful ones.
5018
5019	* emul_chirp.c (emul_chirp_open): New function - handle open
5020        client call.
5021
5022	* Makefile.in (maintainer-clean): Proper rule that eliminates more
5023        junk.
5024
5025Tue Dec 19 13:00:11 1995  Andrew Cagney  <cagney@highland.com.au>
5026
5027	* emul_chirp.c (chirp_emul_exit): Full out call.
5028
5029	* device_table.c (htab_map_page): Wasn't handling byte swap when
5030	creating entries in the hash table.
5031
5032	* device.c (device_tree_find_node): Allow primative wild-card match
5033 	of device names with the path.
5034
5035	FIXME: As mentioned earlier, the device stuff needs work to bring
5036 	it into line with OpenBoot.  Part of this work is rewriting the
5037	find_node function so that it behaves as specified in p1275.
5038
5039Mon Dec 18 19:58:56 1995  Andrew Cagney  <cagney@highland.com.au>
5040
5041	* emul_chrp.c (chirp_emul_write, chirp_emul_finddevice): add
5042 	better tracing.
5043
5044	* emul_chrp.c: Change return type of emul functions to int.  Emul
5045 	functions either return -1 or zero so unsigned was a bit
5046 	dangerous.
5047
5048	* inline.h (*), igen.c, dgen.c, *: Update INLINE macros so that
5049        they are paramaterised with the type of the function.  Gets around
5050        the problem of `static' needing to come first with `attribute'
5051        comming last.  Format declarations and definitions so that emacs
5052	doesn't get confused.
5053
5054Fri Dec 15 17:06:44 1995  Andrew Cagney  <cagney@highland.com.au>
5055
5056	* std-config.h (PSIM_INLINE): Add missing inline configuration
5057 	control for the main loop.
5058
5059	* mon.c (mon_print_info): If monitoring disabled still print out
5060 	the number seconds used.
5061
5062	* psim.c (run_until_stop): Don't monitor the cache misses when
5063 	monitoring is disabled.
5064
5065	* configure.in (sim_mon, sim_monitor): Correct typo - sim_mon ->
5066 	sim_monitor for shell variable (or should that have been the other
5067 	way around?).
5068
5069	* vm.c (vm_synchronize_context): Fix wrong test for unsuported
5070 	change in endian-mode.
5071
5072	* std-config.h (WITH_REGPARM), inline.h (IDECODE_INLINE,
5073	SEMANTICS_INLINE): Add -DWITH_REGPARM=<n> option.  Enables the
5074	__attribute__((__regparm(WITH_REGPARM))) for some functions.
5075	configure with --enable-sim-cflags="-DWITH_REGPARAM=3" (say).
5076	Unfortunatly it tickles a bug (gcc?) and can't be used.
5077
5078Mon Dec 18 13:36:06 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5079
5080	* device.c (device_tree_add_device): Make trace fprintf arguments
5081	type correct.
5082	* device_table.c (htab_decode_hash_table): Ditto.
5083	(htab_map_binary): Ditto.
5084	(htab_init_callback): Ditto.
5085	* vm.c (om_virtual_to_real): Ditto.
5086
5087Sat Dec 16 09:54:18 1995  Michael Meissner  <meissner@wogglebug.tiac.net>
5088
5089	* emul_netbsd.c (emul_netbsd_create): Deal with new BFD that
5090	changed how big/little endian support is recorded, while remaining
5091	compatible with the old BFD with #ifdefs.
5092	* emul_chirp.c (emul_chirp_create): Ditto.
5093	* emul_bugapi.c (emul_bugapi_create): Ditto.
5094
5095Fri Dec 15 15:55:56 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5096
5097	* std-config.h (MODEL_INLINE): Turn off INLINE_MODULE by default.
5098
5099	* corefile.h: Delete declarations for unknown functions.
5100	* device.h: Ditto.
5101	* interrupts.h: Ditto.
5102	* interrupts.c: Ditto.
5103
5104Thu Dec 14 18:49:34 1995  Andrew Cagney  <cagney@highland.com.au>
5105
5106	* lf.c (lf_print_function_type): New function.  Munges a function
5107 	type so that the prefix (eg INLINE...) is inserted after the type
5108 	but before any `*'.
5109
5110	* igen.c: Change to output functions using this.
5111
5112Wed Dec 13 23:47:00 1995  Andrew Cagney   <cagney@highland.com.au>
5113
5114	FIXME: Emul CHIRP does not correctly implement the find device
5115 	function.
5116
5117	FIXME: Emul CHIRP and device do not implement device instance
5118 	operations.
5119
5120Wed Dec 13 23:47:00 1995  Andrew Cagney   <cagney@highland.com.au>
5121
5122	* options.c (options_inline): Function to output meaningful
5123        description of the INLINE options.
5124
5125	* configure.in (inline): Replace inline magic numbers with macro
5126        names. Map 1->LOCALS_INLINE and 2->ALL_INLINE.
5127
5128	* inline.h, inline.c: update to use inline method.
5129
5130	* std-config.h (CPU_INLINE), cpu.h, inline.h, inline.c: make cpu.h
5131        inline always.
5132
5133	* std-config.h (EVENTS_INLINE): Inline events in psim.
5134
5135Wed Dec 13 22:01:21 1995  Andrew Cagney   <cagney@highland.com.au>
5136
5137	* device_table.c (htab_sum_binary): DMA binaries to correct byte
5138        within a page.
5139
5140Tue Dec 12 22:51:18 1995  Andrew Cagney   <cagney@highland.com.au>
5141
5142	* psim.c (psim_merge_device_file): Change `=' to `==', was this an
5143        error?
5144
5145Tue Dec  5 11:56:14 1995  Andrew Cagney  <cagney@highland.com.au>
5146
5147	* ppc-instructions (ppc_nr_mtcrf_crs, ppc_branch_conditional_name,
5148 	ppc_function_unit_name): Simplify by declaring these arrays as
5149 	pure and simple static (instead of STATIC_MODEL).
5150
5151Tue Dec  5 00:45:34 1995  Andrew Cagney  <cagney@highland.com.au>
5152
5153	* sim_calls.c (sim_create, sim_load), main.c (main), psim.c: Pass
5154        an options device into psim_create() so that options can be merged
5155        into the tree.
5156
5157	* device.c (*add*): Change semantics so the add functions only add
5158        when the new device (or property) doesn't already exist.  This
5159        allows merging of options and data.
5160
5161Mon Dec  4 17:12:13 1995  Andrew Cagney  <cagney@highland.com.au>
5162
5163	* Makefile.in (BASICS_H): Didn't include basics.h in the list of
5164        header files to depend on.
5165
5166Mon Dec  4 17:12:13 1995  Andrew Cagney  <cagney@highland.com.au>
5167
5168	* std-config.h: (*_MODULE): Extend the <module>_inline macro's so
5169        that they also allow control over static functions.  Rewrite
5170        document to reflect this.
5171
5172	* std-config.h: (INLINE): Simplify definition, the above and
5173        earlier changes to igen.h eliminate the need to be defensive about
5174        enabling the inline of static functions.
5175
5176	* std-config.h: (SIM_ENDIAN_INLINE, BITS_INLINE): Document limited
5177        suport for inlineing of modules for all callers.  Adjust relevant
5178        macro's so that DEFAULT_INLINE will enable this.
5179
5180	* basics.h: Re-order #includes and definitions so that c-code for
5181        basic include files does not call functions delcared in later
5182        #includes.
5183
5184	* basics.h (__attribute__), sim_callbacks.h: Move attribute macro
5185        to basics.h and add hack (include <stdio.h>) to try and bring that
5186        and other possible conflicting macros into scope much earler.
5187
5188	* sim-endian.h,c (SIM_ENDIAN_INLINE) bits.h,c (BITS_INLINE):
5189        Change to use the updated inline definitions.  If enabled
5190        immediately include the corresponding c-code so that it will inline
5191        for all modules.
5192
5193	* inline.h, inline.c (SIM_ENDIAN_INLINE, BITS_INLINE): Remove
5194        these cases, moved to module specific header files.
5195
5196Sat Dec  2 18:37:51 1995  Andrew Cagney  <cagney@highland.com.au>
5197
5198	* vm.c, vm_n.c: Fix htab code.
5199
5200	* vm.c (vm_data_map_read_buffer): Was using EA not RA when reading
5201        the data from core.
5202
5203	* device.c: Fix htab create code.
5204
5205Fri Nov 24 23:10:09 1995  Andrew Cagney  <cagney@highland.com.au>
5206
5207	* bits.h, bits.c (EXTRACTED): Convert to function, fix - had &&
5208        instead of &.
5209
5210	* sim-endian.h (SWAP_N), sim-endian-n.h, sim-endian.c: How
5211        embarasing - fix yet another bug in the swap code!  Simplify
5212        everything by using more functions. Add host to big-endian byte
5213        swapping support.
5214
5215Fri Nov 24 23:10:09 1995  Andrew Cagney  <cagney@highland.com.au>
5216
5217	* devices.h, devices.c: delete, replaced by the files
5218        device_table.[ch] and device.[ch].
5219	* device_tree.h, device_tree.c: ditto
5220
5221	* device_table.h, device_table.c: New files.  Contain a table of
5222        devices.
5223
5224	* device.h, device.c, Makefile.in, std-config.h (DEVICE_INLINE),
5225        options.c (print_options): New files.  Define the device object
5226        along with any attached properties.
5227
5228	* device_tree.h, device_tree.c: Update to use new device object.
5229        For convenience, change the printd functions into device_tree_add
5230        functions.
5231
5232	* psim.c (create_*_tree): Use new device_tree create functions.
5233
5234	* corefile.h, corefile.c corefile-n.h (core_n.h): Update to use
5235        the new device.h / device_table.h interface.  Rename core_n.h to
5236        corefile-n.h to be consistent with other n files.
5237
5238	* Makefile.in (run): add corefile-n.h to dependencies for
5239        corefile.
5240
5241	* basics.h (device_instance), device.h, device.c, device_table.h,
5242        device_table.c: Add the concept of a device instance and operators
5243        on these instances - corresponds to ihandle in OpenBoot speak.
5244        Don't yet implement it.
5245
5246Tue Nov 14 12:27:08 1995  Andrew Cagney  <cagney@highland.com.au>
5247
5248	* emul_generic.h, emul_generic.c (emul_syscall_enter,
5249 	emul_syscall_exit): rename from emul_enter_call /
5250 	emul_exit_call. As only used by emul_do_system_call simplify
5251 	associated code.
5252
5253	* os_emul.h, os_emul.c, emul_generic.h: Correct and fill an
5254 	os_emul interface.
5255
5256	* os_emul.c, emul_bugapi.h, emul_bugapi.c, Makefile.in: Add
5257 	preliminary hooks for a kernel mode rom emulation.
5258
5259	* cap.h (new), cap.c (new): Capability data base.  Some emulations
5260 	pass object identifiers (capabilities?) to/from the simulated code
5261 	(for instance the phandle in OpenBoot).  The cap object is able to
5262 	check/map between internal and external (target program)
5263 	representations of each identifier.
5264
5265	* os_emul.c, emul_chirp.h, emul_chirp.c, Makefile.in: Add
5266 	preliminary hooks for a kernel mode IEEE-1275 emulation.
5267
5268	* cpu.h, cpu.c (cpu_create, cpu_os_emulation, cpu): Add os_emul to
5269 	list of arguments passed in when creating a cpu.  Grant access to
5270 	the element.
5271
5272	* std-config.h (OS_EMUL_INLINE), options.c (print_options),
5273	inline.h, inline.c: New to allow control over inline of
5274	corresponding code files.
5275
5276	* ppc-instructions (instruction_call): Add illegal instruction to
5277 	call the instruction-call emulation handler.
5278
5279	* interrupts.c (system_call_interrupt): Call renamed
5280        os_emul_system_call function().
5281
5282	* emul_netbsd.c: Update to interface to generic emulation.  Since
5283        all its functions are called via a table don't worry about any
5284        inline.
5285
5286	* emul_generic.h, emul_generic.c, spa-*(delete): Remove references
5287        and code for spa, no longer to be used.
5288
5289	* psim.c (create_chirp_device_tree): Fill out what was previously
5290        the openboot create function so that it starts to create a full
5291        OpenBoot device tree.
5292
5293Tue Nov 28 21:48:06 1995  Andrew Cagney  <cagney@highland.com.au>
5294
5295	* debug.h, debug.c: pte trace is made redundant by htab trace,
5296        delete it.  Add vm to list of options.  Simplify tracing output so
5297        lines are not as long.
5298
5299Tue Nov 14 12:27:08 1995  Andrew Cagney  <cagney@highland.com.au>
5300
5301	* events.h, events.c (event_queue_init), psim.c (psim_init): (re)
5302 	initialize the event queue.
5303
5304
5305
5306
5307
5308
5309Tue Nov 28 13:38:26 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5310
5311	* sim-endian.h: Look at WORDS_BIGENDIAN to determine if the host
5312	is big endian or little endian.  For SWAP_n, use htonl/htons if
5313	host is little endian, not big endian and if WITH_NTOH is defined.
5314
5315	* configure{,.in} (--enable-sim-model-issue): Instead of defining
5316	0/1, define it to be MODEL_ISSUE_{PROCESS,IGNORE}.  Add
5317	AC_C_BIGENDIAN to determine if the host is big endian or not.
5318	* config.in: Regenerate.
5319
5320	* std-config.h (WITH_MODEL_ISSUE): Default to 0.
5321	(CURRENT_MODEL_ISSUE): Reference WITH_MODEL_ISSUE, and if that is
5322	0, use current_model_issue.
5323	(MODEL_ISSUE_{PROCESS,IGNORE}): Define as -1/1.
5324
5325	* psim.c (current_model_issue): New global variable.
5326
5327	* cpu.c (cpu_create): Use CURRENT_MODEL_ISSUE > 0 instead of
5328	WITH_MODEL_ISSUE.
5329	(cpu_{init,halt}): Ditto.
5330	* mon.c (mon_print_info): Ditto.
5331	* ppc-instructions (PPC_INSN_* macros, branch handling): Ditto.
5332
5333	* mon.c (mon_print_info): Print instructions/second if verbose > 0,
5334	rather than > 1.
5335
5336	* main.c (main): Set current_model_issue to MODEL_ISSUE_PROCESS if
5337	the -I switch is used.
5338	* sim_calls (sim_open): Ditto.
5339
5340	* ppc-instructions (model support): Add support for determining
5341	when we don't have enough writeback slots.  Add tracing for the
5342	beginning of each cycle.
5343
5344Mon Nov 27 17:46:33 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5345
5346	* mon.c: Check for whether to include sys/types.h and sys/time.h.
5347
5348	* configure.in: Check for include files sys/types.h and
5349	sys/time.h.
5350	* configure: Regenerate.
5351	* config.in: Regenerate.
5352
5353	* cpu.h (CONST_ATTRIBUTE): Define as __attribute__((__const__)) if
5354	not already defined.
5355	(cpu_system): Use CONST_ATTRIBUTE, so that when we're not inlining
5356	the world, the optimizer has a fair chance of CSE'ing function
5357	calls.
5358	(cpu_{monitor,nr,registers,model}): Ditto.
5359
5360	* std-config.h (MODEL_INLINE): If not defined, define as 1 if
5361	DEFAULT_INLINE is non-zero, 0 otherwise, rather than just the
5362	value of DEFAULT_INLINE.
5363
5364Fri Nov 24 11:24:34 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5365
5366	* lf.h (__attribute__): If not GCC and at least 2.7.0, define as
5367	nothing.
5368 	(lf_printf): Add printf __attribute__, so the compiler will
5369	automatically check the format string.
5370
5371	* configure{,.in} (--enable-sim-icache): If argument is define,
5372	add -R to flags passed to igen.
5373
5374	* igen.c (stdlib.h): Include if the system supplies one.
5375	(semantics_use_cache_struct): New global for -R flag to say
5376	semantics is to use the cache structure directly rather than
5377	putting the values into local variables.
5378	(first_undef, last_undef): New structures to remember names to
5379	#undef if -R.
5380	(lf_print_c_extraction): If -R and this is semantics, emit names
5381	as #defines pointing to the cache structure, rather than loading
5382	the values into local variables.
5383	(lf_print_c_semantic_function): If -R, #undef all of the names
5384	defined in lf_print_c_extraction.
5385	(main): Recognize -R.
5386
5387	* idecode_fields.h (SPR_*): Redefine spr_* macros as SPR_* to
5388	avoid a name confict if -R passed to igen.
5389
5390	* ppc-instructions (mfspr, mtspr): Rename spr field to SPR.
5391	(model_data): Add field to count the various # of CRs that the
5392	mtcrf instruction used.
5393	(model_mon_info): Return structures counting the # of CRs that the
5394	mtcrf instruction used.
5395	(branches, sync instructions): Do not call model functions if
5396	WITH_MODEL_ISSUE is 0.
5397
5398	* mon.c (stdlib.h): Include if the system supplies one.
5399 	(mon_sort_instruction_names): New function to sort instruction
5400	names alphabetically.
5401	(mon_print_info): Call qsort with mon_sort_instruction_names to
5402	sort instruction names.  Don't abort if WITH_MODEL_ISSUE is 0.
5403
5404	* debug.h (ITRACE): Make printf_filtered arguments type correct.
5405	* idecode_expression.h (CR0_COMPARE): Ditto.
5406	* psim.c (psim_read_register): Ditto.
5407
5408	* igen.c (lf_print_my_prefix): Use __attribute__((__unused__)) to
5409	silence compiler warnings about unused automatically generated
5410	variables.
5411	(lf_print_c_extraction): Ditto.
5412	* idecode_expression.h (FPSCR_BEGIN): Ditto.
5413
5414	* ppc-cache-rules: Define rules for making a bitmask for all
5415	registers.
5416
5417	* ppc-instructions: Rewrite model specific functions to use the
5418	bitmask of the register number, instead of using the register
5419	pointer to get the register number, and then making the bitmask.
5420
5421Wed Nov 22 15:24:27 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5422
5423	* ppc-instructions (model_branches): Add conditional argument to
5424	count the number of times each type of conditional branch is used.
5425	(conditional branches): Pass B0 or -1 to model_branches.
5426	(model_mon_info): Print out conditional branch counts.
5427	(model-data): Add support for printing out conditional branch
5428	types.
5429
5430Tue Nov 21 16:31:25 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5431
5432	* igen.c (insn_table_load_insns): Add support for model-static for
5433	internal functions that should not be inlined.
5434	(lf_print_c_semantic): Remove model_cleanup.
5435	(gen_model_{c,h}): Ditto.
5436
5437	* ppc-instructions: Redo model specific support once again.  Add
5438	floating point support to the model specific information.  Flesh
5439	out all of the floating mutiply add/subtract instructions.  Add
5440	better tracing support to the model specific information.
5441
5442Sun Nov 19 23:00:52 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5443
5444	* ppc-instructions (model data, model_busy): Rather than using a
5445	bit mask for the busy units, just use a char array.  Also, only
5446	support 2 function units an insn can use, rather than a loop.
5447
5448Fri Nov 17 14:08:08 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5449
5450	* table.c (table_entry_read): Move setting entry->line_nr to after
5451	the model specific fields so the line numbers for the annex are
5452	correct.
5453
5454	* cpu.c (cpu_{create,init,halt}): Check for WITH_MODEL_ISSUE
5455	before calling the model functions.
5456
5457	* debug.c (trace_descriptor): Add trace_model support.
5458	* debug.h (trace_options): Ditto.
5459
5460	* igen.c (gen_icache_h): Create type idecode_cache as void if not
5461	caching instructions.
5462	(gen_model_{c,h}): Drop model_issue support.  Add support for
5463	model_cleanup.
5464	(lf_print_my_prefix): Initialize a const itable_index with the
5465	current index.
5466	(lf_print_c_semantic): Call model_cleanup at the end of the
5467	function to check for instructions that aren't supported yet by
5468	the scheduling code.
5469
5470	* mon.h (count_type): New type for counters.
5471	* mon.c: Use count_type instead of unsigned.
5472
5473	* ppc-instructions: Redo scheduling code once again.  Make it all
5474	inline friendly.  Instead of having general code emitted by igen,
5475	go the route of having each semantic routine call the appropriate
5476	module.
5477
5478Thu Nov 16 09:52:26 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5479
5480	* table.c (table_entry_read): Allow the annex to have blank lines.
5481
5482	* ppc-instructions: Change lines in model stuff that just have a
5483	tab to just newline.  Add 601 support.  Document most instructions
5484	in terms of model specific timing information.  Drop 'FUNCTION'
5485	from PPC_FUNCTION_UNIT_xxx enums.  Change PPC_UNIT_UNKNOWN ->
5486	PPC_UNIT_BAD.  Add TRACE(trace_tbd) for all data cache
5487	instruction.s.  Signal illegal instruciton if data cache block
5488	invalidate is issued from problem state.
5489
5490	* igen.c (max_model_fields_len): New static to keep track of the
5491	max size for the model specific fields.
5492	(model_c_insn): Use max_model_fields_len to size fields.
5493	(insn_table_insert_insn): Set max_model_fields_len.
5494	(model_table_insert): Ditto.
5495	(gen_model_{c,h}): Model_issue is now called with a processor
5496	argument.
5497
5498	* debug.c (trace_description): Add support for trace_tbd.
5499
5500	* mon.c (mon_issue): Pass processor argument to model_issue.
5501
5502	* Makefile.in: Delete all function unit support, since the newer
5503	table driven model support replaces it.
5504	* cpu.{c,h}: Ditto.
5505	* mon.c: Ditto.
5506	* inline.{c,h}: Ditto.
5507	* std-config.h: Ditto.
5508	* options.c: Ditto.
5509	* configure{,.in}: Ditto.
5510	* Makefile.in: Ditto.
5511	* psim.c: Ditto.
5512	* function_unit.{c,h}: Delete these now usused files.
5513
5514	* std-config.h (WITH_MODEL_ISSUE): Add new macro on whether to
5515	trace instructions in a model specific manor.
5516	* options.c (print_options): Print it out.
5517	* configure{,.in}: Add --enable-sim-model-issue option.
5518	* Makefile.in: Add --enable-sim-model-issue flags.
5519	* igen.c (lf_print_c_semantic): Add call to mon_issue here.  Check
5520	for WITH_MODEL_ISSUE.
5521	* mon.c (mon_issue): Remove call to mon_issue_here.
5522
5523	* ppc-instructions: Move branch tracing to the actual branch
5524	instructions, rather than testing it in model_issue.  Add code to
5525	code successful/unsuccessful branch predictions, and the number of
5526	conditional branches that fell through.
5527
5528Wed Nov 15 17:32:13 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5529
5530	* cpu.h (cpu_model): Add declaration.
5531
5532	* cpu.c (struct _cpu): Add model_ptr to hold model specific
5533	information.
5534	(cpu_model): Return the model internal pointer.
5535	(cpu_{create,init,halt}): Call the appropriate model function.
5536
5537	* inline.c (mon.c): Move include of mon.c after model.c.
5538
5539	* mon.c (_cpu_mon): Add fields to count unaligned memory
5540	references.
5541	(mon_issue): Call model_issue, not function_unit_issue.
5542	(mon_{read,write}): Count # of unaligned memory accesses.
5543	(mon_print_info): Switch to calling model_mon_info and
5544	model_mon_info_free instead of function_unit version.  Print out
5545	number of unaligned reads/writes.
5546
5547	* {ppc-instructions,igen.c}: More global changes to add model
5548	specific features.
5549
5550	* inline.{c,h}: Provide for inlining options.c.
5551	* options.{c,h}: Ditto.
5552	* std-config.h: Add OPTIONS_INLINE.
5553
5554Tue Nov 14 04:47:25 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5555
5556	* Makefile.in (devices.o, main.o): Update dependency.
5557
5558	* igen.c (gen_model_h): Use correct variable in loop.
5559	(gen_model_c): Use strcmp, strcasecmp.
5560	(gen_model_c): Use EXTERN_MODEL for arrays.
5561	(gen_model_h): Use STATIC_MODEL for arrays.
5562	(lf_print_c_semantic_function_header): Delete unused function.
5563
5564	* main.c (cpu.h): Include cpu.h to get model.h.
5565
5566	* inline.h ({EXTERN,STATIC}_MODEL): Define.
5567
5568Mon Nov 13 09:14:13 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5569
5570	* igen.c ({insn,model}_table_fields): Spell mnemonic correctly.
5571	(gen_itable_h,itable_c_insn): Ditto.
5572	(model support): Move model support around, add support for
5573	model-data, model-internal.  Use annex field for model-macros
5574	now.
5575
5576	* configure.in (--enable-sim-inline): If --enable-sim-inline=no,
5577	also define INLINE as nothing.
5578	* configure: Regenerate.
5579
5580	* std-config.h (INLINE): Rather than nuking INLINE, only define it
5581	as __inline__ if any of the INLINE flags are non-zero.
5582
5583	* options.c (print_options): Print out WITH_XOR_ENDAIN.
5584
5585Mon Nov 13 23:03:45 1995  Andrew Cagney   <cagneyhighland.com.au>
5586
5587	* ppc-instructions (rfi): Add missing code.
5588
5589	* cpu.c (cpu_get_time_base): Fix calculation of current value of
5590        time base register.
5591
5592	* ppc-spr-table (TBL, TBU): Fix TBL/TBU entries - was confusing
5593        m[tf]tb with m[tf]spr.
5594
5595	* ppc-instructions (mtspr, mfspr): Fix mttbl - wasn't storing
5596        lower word.
5597
5598Mon Nov 13 21:35:37 1995  Andrew Cagney   <cagneyhighland.com.au>
5599
5600	* std-config.h (INLINE, STATIC_INLINE): Was being set to static
5601        inline..  Only problem being that with ppc-opcode-simple this gave
5602        it the chance to inline all the idecode functions with potentially
5603        disasterous results on a 16mb PC.  For moment hobble INLINE.
5604
5605	* configure.in, std-config.h (WITH_SMP): Make that 5 processors by
5606        default ...
5607
5608	* configure.in: Tweek flags passed to gcc for --with-sim-warnings.
5609        Firstly make them errors and secondly remove the options gcc-245
5610        doesn't reconize.
5611
5612Mon Nov 13 17:57:24 1995  Andrew Cagney  <cagney@highland.com.au>
5613
5614	* misc.c (zalloc), cpu.c (cpu_init), devices
5615 	(console_io_read_buffer_callback, icu_io_read_buffer_callback,
5616 	vm_io_read_buffer_callback), main.c (zalloc), mon.c (memset),
5617 	sim_calls.c (zalloc) : replace bzero() with memset().
5618
5619	* emul_netbsd.c (write_direntries), psim.c (psim_read_register,
5620 	psim_write_register): replace bcopy() with memcpy().
5621
5622Sun Nov 12 20:55:41 1995  Andrew Cagney   <cagneyhighland.com.au>
5623
5624	* configure.in: for --disable-sim-inline (--enable-sim-inline=no),
5625        force DEFAULT_INLINE to 0 rather then trusting the std
5626        configuration.
5627
5628Sun Nov 12 20:55:41 1995  Andrew Cagney   <cagneyhighland.com.au>
5629
5630	* igen.c (lf_print_idecode_table, idecode_table_leaf): Fix
5631        generation of switch entries in tables - treat the same as
5632        cracking/semantic functions.
5633
5634	* igen.c (idecode_switch_end, idecode_switch_leaf): Fix generation
5635        of a boolean switch statement (field zero or non-zero).
5636
5637	* ppc-opcode-test-1, ppc-opcode-test-2: New files.  These test the
5638        switch/table generation ability of igen.
5639
5640	* igen.c (idecode_switch_leaf): Fix code output when a switch
5641        statement needs to look up a table.
5642
5643	* igen.c (idecode_declare_if_switch): New function called from
5644        gen_idecode_c - need to declare any idecode switch functions
5645        before they are used in idecode tables.
5646
5647	* igen.c (lf_print_c_cracker_function, idecode_crack_leaf,
5648        idecode_crack_insn): Add is_inline_function argument to code
5649        printing cracker functions which indicates if STATIC_IDECODE or
5650        STATIC_INLINE_IDECODE should be used for definition.  For
5651        idecode_crack_insn (which implies not duplicating/expanding) don't
5652        declare function as inline - we assume that the only time this is
5653        code is generated is when things are being tested.  For
5654        idecode_crack_leaf, make static (instead of INLINE) if the
5655        instructions parent is a table as function will always be called
5656        via a table.
5657
5658	* igen.c (idecode_expand_if_switch): Declare as STATIC_IDECODE not
5659        STATIC_INLINE_IDECODE. Only the outermost idecode switch will be
5660        called directly, all others are called via a table.
5661
5662	* igen.c (lf_print_semantic_function_header, semantics_h_leaf,
5663        semantics_h_insn, semantics_h_function,
5664        lf_print_c_semantic_function, semantics_c_function): Add
5665        is_inline_function argument to lf_print_semantic_function_header
5666        to indicate if an inline or static function declaration/definition
5667        should be output.  Depending on situtation call accordingly:
5668        functions (not instruction semantic routines) are always inline;
5669        Semantic routines are made inline when there is no icache (cache
5670        will contain the function address) and are duplicating (see above)
5671        and the parent of the instruction is a switch statement.
5672
5673	* igen.c (opcode_field_new): Delete.  Code changed to use ZALLOC
5674        and moved to insn_table_find_opcode_field.
5675
5676	* table.c (table_open): Fix typo (nr_model_fields vs nr_fields).
5677
5678	* igen.c (model_c_insn): Suggestion - document the name of the
5679        instruction on each line of the instruction model table.
5680
5681Fri Nov 10 00:44:38 1995  Andrew Cagney   <cagneyhighland.com.au>
5682
5683	* emul_netbsd.c (do_ioctl): Cleanup compilation.
5684
5685	* sim_callbacks.h (__attribute__): Only define if not defined (was
5686        already defined on NetBSD host).
5687
5688Wed Nov  8 21:49:52 1995  Andrew Cagney   <cagneyhighland.com.au>
5689
5690	* std-config.h (WITH_XOR_ENDIAN), configure.in, Makefile.in: New
5691        macro, indicates if the PowerPC's horrible XOR endian mode should
5692        be suported.  Add to configure and make.
5693
5694	* vm_n.h (vm_data_map_read_N, vm_data_map_write_N), vm.c
5695        (vm_instruction_map_read): If XOR endian, xor the address
5696	with a value from an xor table (indexed by size of access).
5697
5698	* vm.c (vm_synchronize_context), cpu.c (cpu_synchronize_context):
5699        set up xor table to xor if there is a conflict between the
5700        CURRENT_TARGET_ENDIAN and the endian indicated in the MSR.  Move
5701        check of suported change of endian mode from cpu.c to vm.c.
5702
5703	* vm.c (vm_data_map_write_buffer, vm_data_map_read_buffer):
5704        Hopefully added correct hack to handle XOR endian mode.
5705
5706	FIXME: If NONSTRICT alignment and XOR ENDIAN and MSR indicates
5707        little endian mode, the model accepts miss aligned transfers.
5708
5709	FIXME: Need to create an `init' device that, during
5710        initializatioin for XOR mode, it mushes (XOR address) all the dma
5711        data before passing it on to the core for storage. Just like the
5712        real thing really.
5713
5714Wed Nov  8 21:49:52 1995  Andrew Cagney   <cagneyhighland.com.au>
5715
5716	* devices.c (halt_io_write_buffer_callback): Use value written to
5717        halt device to determine exit status.  Thus allowing
5718        success/failure of OEA tests.
5719
5720Wed Nov  8 00:10:38 1995  Andrew Cagney   <cagneyhighland.com.au>
5721
5722	* ppc-instructions (icbi): If icache present flush it.
5723
5724Tue Nov  7 23:36:31 1995  Andrew Cagney   <cagneyhighland.com.au>
5725
5726	* devices.c (htab_init_callback): Add code to create htab/pte.
5727
5728	* devices.c (dma_file, file_init_callback, htab_init_callback):
5729        New function - Dma the named file into memory at the specified
5730        address.  Use.
5731
5732	* device_tree.h, device_tree.c (scand_*): New functions.
5733
5734Tue Nov  7 23:36:31 1995  Andrew Cagney   <cagneyhighland.com.au>
5735
5736	* filter_filename.c, Makefile.in: Change so that only dependant on
5737        a very limited nr of files.  Stops an unnecessary dependency.
5738
5739Tue Nov  7 15:44:33 1995  Andrew Cagney  <cagney@highland.com.au>
5740
5741	* core.c (core_map_find_mapping): Use cpu_halt rather than error
5742 	to abort an access to an undefined address.
5743
5744Sun Nov 12 07:58:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5745
5746	* igen.c (model_table_insert_{macro,function}): New functions.
5747	(insn_table_load_insns): Call them.
5748	(gen_model_h): Move section emiting model-macros to be first.
5749	(model_{c,h}_function): New functions cloned from semantic
5750	functions to print out the prototype and function for
5751	model-functions.
5752	(gen_model_{c,h}): Print out model-functions.
5753
5754	* ppc-instructions (model_{start,halt,print_info}): Add dummy
5755	model-functions.
5756
5757	* options.c (print_options): Print out WITH_{,DEFAULT_}MODEL, not
5758	WITH_PPC_{,DEFAULT_}_MODEL.
5759	(options_ppc): Delete now unused function.
5760	(cpu.h): Include cpu.h, not just basics.h.
5761
5762	* std-config.h (WITH_{,DEFAULT_}MODEL): Define.
5763
5764	* igen.c (model_macros, last_model_macro): New statics to keep
5765	track of macros to go in model.h.
5766	(insn_table_load_insns): Add model-macros to model_macros linked
5767	list.
5768	(model_table_fields): Add field for printable name.
5769	(gen_model_h): If there are model macros defined, print them out.
5770	Print out DEFAULT_MODEL as the first model if there any models
5771	specified, otherwise MODEL_NONE.  Print out external decl for
5772	current_model.  Print out decl for model_set.
5773	(gen_model_c): Add function model_set.  Switch to use printable
5774	name for the model, not the internal identifier used.
5775
5776	* psim.c (current_model): New global variable.
5777
5778	* ppc-instructions: Add macros for flag defines.  Switch first
5779	model so 604 is first.
5780
5781	* main.c (main): Call model_set, not function_unit_model.
5782	* sim_calls.c (sim_open): Ditto.
5783	* sim_calls.c, Makefile.in: sim_calls.c now includes cpu.h.
5784
5785Sat Nov 11 07:27:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5786
5787	* mon.h (mon_events): New enumeration for other events we want to
5788	handle.
5789	(mon_event): Add declaration for function.
5790
5791	* mon.c (mon_event): New function.
5792	(mon_print_info): Print icache misses.
5793
5794	* psim.c (run_until_stop): Monitor icache misses.
5795
5796	* configure.in (--enable-sim-inline): Fix typos in handling comma
5797	separated inline options.
5798	(--enable-sim-icache): Echo icache size.
5799	* configure: Regenerate.
5800
5801	* igen.c (semantics_h_print_function): Emit STATIC_SEMANTICS
5802	instead of INLINE_SEMANTICS so that the compiler won't keep all of
5803	the semantic functions as inline RTL, given that the address of
5804	the function is taken which forces outline calls anyway.
5805	(lf_print_c_semantic_function_header): Ditto.
5806	(gen_semantics_h): Define STATIC_SEMANTICS as nothing if not
5807	defined.
5808	(lf_print_c_cracker_function): Emit STATIC_IDECODE instead of
5809	STATIC_INLINE_IDECODE.
5810	(gen_idecode_c): Define STATIC_IDECODE if not defined.
5811	(gen_model_h): Use #ifdefs to define types to hold model units,
5812	cycles, and flags.
5813	(model_table_insert): Add a sentinel functional unit at the end to
5814	simplify loop processing.
5815	(model_c_insn): Use <function-unit>_SENTINAL instead of 0 for any
5816	instruction not specifing a function unit for the current model.
5817	(gen_model_{c,h}): Provide bounds for model_time_mapping.
5818
5819	* inline.h (STATIC_SEMANTICS): Define to be static if
5820	SEMANTICS_INLINE is defined.
5821	(STATIC_IDECODE): Define to be static if IDECODE_INLINE is
5822	defined.
5823
5824	* options.c (print_options): Fix typo.
5825
5826Fri Nov 10 06:39:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5827
5828	* configure.in (--enable-sim-{opcode,config}): Use $srcdir when
5829	check for the existence of files.
5830	* configure: Regenerate.
5831
5832	* table.c (table): New field nr_model_fields.
5833	(table_open): New parameter nr_model_fields.
5834	(table_entry_read): Parse model fields that begin with a '*' after
5835	each instruction.
5836	* igen.c, dgen.c: Change callers of table_open.
5837
5838	* igen.c: Add support for dumping model specific information in
5839	model.h and model.c.
5840	(insn_field_name): Delete unused array.
5841	(global variables): Make global variables static, so we can tell
5842	when they are no longer used.
5843	(cache_semantic_actual): Delete unused variable.
5844	(insn_table_load_insns): If the insn is really a machine model,
5845	call model_table_insert instead of other processing.
5846	(model_table_insert): New function to handle defining the
5847	functional units of a particular machine model.
5848	(insn_table): Add last_function field so we can add functions at
5849	the end.
5850	(insn_table_insert_function): Use last_function field when
5851	appending new function.
5852
5853	* ppc-instructions: Add a few model specific information for 603,
5854	603e, and 604 for testing purposes.
5855
5856	* table.h (table_model_entry): New linked list to hold model
5857	specific information, one per line.
5858	(table_entry): Add model_first, model_last fields.
5859
5860	* configure.in (--enable-sim-inline): If gcc is found and
5861	--enable-sim-inline is not specified, defaine DEFAULT_INLINE to 1,
5862	not 2.
5863	(--enable-sim-reserved-bits): New switch to check whether reserved
5864	bits are set in the instruction.
5865	(--enable-sim-opcode): Make complex the default.
5866	(all switches): Add appropriate checks and error messages.
5867	* configure: Regenerate.
5868
5869	* Makefile.in (RESERVED_CFLAGS): New variable set by
5870	--enable-sim-reserved-bits.
5871	(CONFIG_CFLAGS): Include RESERVED_CFLAGS.
5872	(BUILT_SRC): igen now generates model.c and model.h.
5873	(LIB_OBJ): Include table.o.
5874	(tmp-igen): Add -m/-M options to write model.c/model.h.
5875	(model.o): New object.
5876	(CPU_H): Include model.h.
5877
5878	* cpu.h: Include model.h.
5879
5880	* std-config.h (WITH_RESERVED_BITS): Define.
5881	(MODEL_INLINE): Ditto.
5882
5883	* options.c (print_options): Print out WITH_RESERVED_BITS.
5884
5885Thu Nov  9 12:22:15 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5886
5887	* configure.in: If --silent, don't output information messages.
5888	* configure: Regenerate.
5889
5890	* configure.in (--enable-sim-alignment): Fix typo in specifing non
5891	strict alignment.
5892	(--enable-sim-switch): Make default on.
5893	(--enable-sim-duplicate): Make default on.
5894	(--enable-sim-smp): Make default 0.
5895	(--enable-sim-mon): Don't set sim_float if not set.
5896	(--enable-sim-inline): If gcc is found and --enable-sim-inline is
5897	not specified, define DEFAULT_INLINE to be 2.
5898	(all --enable-sim-* rules): Echo rules set to non empty to file
5899	descriptor 6.
5900	* configure: Regenerate.
5901
5902	* options.c (options_env): Fix typo if WITH_ENV is 0.
5903	(print_options): Print GCC compiler version if available and
5904	date/time options was compiled.  If OPCODE_RULES, IGEN_FLAGS,
5905	and/or DGEN_FLAGS are defined, print them.
5906
5907	* Makefile.in (all link actions): Pass SIM_CFLAGS as well as
5908	CFLAGS.
5909	(options.o): Compile options.o with OPCODE_RULES, IGEN_FLAGS, and
5910	DGEN_FLAGS defined, so they can be printed out.
5911
5912	* igen.c (lf_print_c_validate): Check for WITH_ASSERT, so that
5913	this test can be compiled away if the user really wants a fast
5914	simulator by not doing assertion failures.
5915
5916Wed Nov  8 13:19:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5917
5918	* options.c: New file to print out all of the WITH_ options.
5919	* options.h: New include file to declare print_options.
5920	* debug.h (trace_options): Add trace_opts to call print_options.
5921	* debug.c (trace_description): Add trace_opts support.
5922	* main.c (main): If user requested options, print them.
5923	* sim_calls.c (sim_open): Ditto.
5924
5925	* igen.c (opcode_field_new): Add void to make it a proper prototype.
5926
5927	* emul_generic.c (emul_enter_call): Make printf_filtered arguments
5928	type correct.
5929	* emul_netbsd.c (do_kill): Ditto.
5930	* registers.c (registers_dump): Ditto.
5931	* vm.c (om_translate_effective_to_real): Ditto.
5932	* vm_n.h (vm_data_map_read_N): Ditto.
5933	(vm_data_map_write_N): Ditto.
5934	* devices.h (DTRACE_INIT): Ditto.
5935	(DTRACE_{ATTACH,DETACH}_ADDRESS): Ditto.
5936	(DTRACE_IO_{READ,WRITE}_BUFFER): Ditto.
5937	(DTRACE_DMA_{READ,WRITE}_BUFFER): Ditto.
5938	* devices.c (update_for_binary_section): Ditto.
5939	(write_stack_arguments): Ditto.
5940	(stack_ioctl_callback): Ditto.
5941	* device_tree.c (device_tree_add_passthrough): Ditto.
5942	(device_tree_{add,find}_device): Ditto.
5943	(device_tree_{add,find}_integer): Ditto.
5944	(device_tree_find_{string,boolean}): Ditto.
5945	(device_tree_init{,_device}): Ditto.
5946	(device_tree_dump): Ditto.
5947	* sim_calls.c (sim_{read,write}): Ditto.
5948	(sim_{fetch,store}_register): Ditto.
5949	(sim_stop_reason): Ditto.
5950
5951	* sim_callbacks.h (printf_filtered): Declare with attribute
5952	printf, so we can enable format checks.
5953
5954	* devices.c (console_io_{read,write}_buffer_callback): Cast swtich
5955	argument to int, since ANSI doesn't allow long switch values.
5956	* emul_netbsd.c (do___sysctl): Ditto.
5957
5958	* emul_netbsd.c (do___sysctl): Fix up printf call.
5959
5960	* corefile.c (core_translate): Don't do arithmetic with void *
5961	pointers.  Cast to char * first.
5962
5963	* function_unit.c (FUNC_{LOAD,STORE}): Rename from {LOAD,STORE}
5964	and change all uses.
5965
5966	* Makefile.in ({FUNC,MODEL,WARNING}_CFLAGS): New flags set by
5967	configure --enable switches.
5968	(CONFIG_CFLAGS): Include FUNC_CFLAGS and MODE_CFLAGS.
5969	(.c.o): Include WARNING_CFLAGS.
5970	(CPU_H): Include function_unit.h.
5971	(LIB_OBJ): Include function_unit.o.
5972	(BUILT_SRC_WO_CONFIG): Split from BUILT_SRC and do not include
5973	config.h or ppc-config.h.
5974	(BUILT_SRC): Include BUILT_SRC_WO_CONFIG, config.h and
5975	ppc-config.h.
5976	(filter_filename.o): Include config.h/ppc-config.h dependencies.
5977	(idecode.o, semantics.o, psim.o): Specify CC line without
5978	WARNING_CFLAGS so that we don't get all of the unused variable
5979	warnings that are generated.
5980	(function_unit.o): Add rule to build.
5981	(main.o, sim_calls.o): Add function_unit.h, itable.h dependencies.
5982	(mon.o): Include mon.c dependency.
5983	(TAGS): Depend on BUILT_SRC.
5984	(clean): Don't delete config.h or ppc-config.h
5985
5986	* basics.h (sim_callbacks.h): Move include after the include of
5987	config.h and ppc-config.h.
5988
5989	* bits.{h,c} (ROTL32,ROTL64): Move these functions to bits.c.  Add
5990	support for BITS_INLINE to inline these.  Add declarations to
5991	bits.h.
5992
5993	* configure.in (--enable-sim-warnings): Add new option to specify
5994	compiler warnings for all modules except idecode.o and semantics.o
5995	which have lots of unused variables because they are machine
5996	generated.
5997	(--enable-sim-function-unit): New switch to configure whether
5998	function unit support is compiled in or not.
5999	(--enable-sim-{,default-}mode): New switches to control which cpu
6000	model is used.
6001	* configure: Regenerate.
6002
6003	* corefile.c (core_attach_address_callback): Delete unused
6004	variable device_address.
6005
6006	* cpu.c (struct _cpu): Add function unit pointer field func_unit.
6007	(cpu_create): If WITH_FUNCTION_UNIT, call function_unit_create.
6008	(cpu_init): If WITH_FUNCTION_UNIT, call function_unit_init.
6009	(cpu_halt): If WITH_FUNCTION_UNIT, call function_unit_halt.
6010	(cpu_function_unit): New function to return func_unit field.
6011
6012	* cpu.h (function_unit.h): Include new include file.
6013	(cpu_function_unit): Declare.
6014
6015	* debug.c (stdlib.h): Test HAVE_STDLIB_H, not HAVE_STDLIB.
6016	(config.h): Include config.h.
6017
6018	* devices.c (icu_io_write_buffer_callback): Delete unused variable
6019	system.
6020
6021	* emul_generic.c (emul_exit_call): Print out status value.
6022
6023	* emul_netbsd.c (do_read): Delete unused variable nr_moved.
6024
6025	* filter_filename.h (includes): Include config.h, ppc-config.h,
6026	not basics.h.
6027
6028	* inline.c: Include bits.c if BITS_INLINE.  Include
6029	function_unit.c if FUNCTION_UNIT_INLINE.
6030
6031	* inline.h (INLINE_BITS): Define if BITS_INLINE.
6032	(INLINE_FUNCTION_UNIT): Define if FUNCTION_UNIT_INLINE.
6033
6034	* interrupts.c (instruction_storage_interrupt): Delete unused
6035	variable nia.
6036
6037	* lf.h (config.h): Include config.h.
6038
6039	* main.c (includes): Include function_unit.c.  If HAVE_UNISTD_H,
6040	include unistd.h.
6041	(usage): Update for -m model, -i, and -I options.
6042	(main): Delete unused variables stack_pointer and i.  Add support
6043	for -i, -m model arguments.  Call psim_print_info with verbose ==
6044	1 if -i, and verbose == 2 if -I.
6045
6046	* mon.c (stdio.h): Include stdio.h to pick up sprintf prototype.
6047	(mon_issue): Call function_unit_issue if function units are
6048	supported.
6049	(mon_print_info): Take psim * argument.  Print out information
6050	from function_unit if available.  Move read/write stats to always
6051	print, instead of printing if verbose > 1.  Fix up plural
6052	vs. singular usage.
6053
6054	* mon.h (mon_print_info): Update prototype.
6055
6056	* psim.c (current_ppc_model): Add global variable.
6057	(psim_print_info): Pass system argument to mon_print_info.
6058
6059	* sim_calls.c (function_unit.h): Include.
6060	(sim_open): Add support for -i and -m model options.  If -i call
6061	psim_print_info with verbose == 1, if -I, with verbose == 2.
6062	(sim_resume): Delete unused variable program_counter.
6063
6064	* std-config.h (WITH_FUNCTION_UNIT): Define.
6065	(ppc_model): Add enumeration giving all PowerPC models currently
6066	known about.
6067	({WITH,CURRENT}_PPC_MODEL): Define.
6068	(FUNCTION_UNIT_INLINE): Define.
6069
6070	* table.c (config.h): Include config.h.
6071
6072	* vm.c (om_virtual_to_real): Print pte_word_{0,1} so the compiler
6073	doesn't complain that they're unused.
6074
6075	* vm_n.h (vm_data_map_read_N): Delete unused variable rval.
6076
6077Mon Nov  6 23:15:54 1995  Andrew Cagney  <cagney@highland.com.au>
6078
6079	* sim-endian.c (ppc-endian.c), sim-endian.h (ppc-endian.h):
6080        renameed.  These files are target independant.
6081	* Makefile.in, basics.h: update for new name.
6082
6083	* sim-endian.h (SWAP_N), sim-endian.c (_SWAP_1): Rename existing
6084        SWAP_<N> to _SWAP_<N> so that sim-endian.h can contain SWAP_N
6085        macro's as required.
6086
6087	* sim-endian.c, sim-endian-n.h (new file): Move endian code into a
6088        debugable header file.
6089
6090	* ppc-instructions (Byte-Reverse): Enable byte reverse
6091        instructions using SWAP_N macros.
6092
6093Mon Nov  6 10:39:28 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6094
6095	* Makefile.in (config.status): Remove references to config.make
6096	and config.hdr.
6097
6098	* config.{make,hdr}: Delete, no longer used.
6099	* build-psim: Ditto.
6100
6101Mon Nov  6 20:49:56 1995  Andrew Cagney  <cagney@highland.com.au>
6102
6103	* sim_calls.c (sim_open): Fix parsing of `target sim' options.
6104
6105	* device_tree.c (device_tree_add_string): Wasn't saving the value
6106 	of the string being entered into the tree.
6107
6108	* psim.c (create_filed_device_tree): Not terminating string device
6109 	names with a null.
6110
6111	* psim.c (psim_create): Use `env' instead of
6112 	`environment-architecture' to be consistent with configure.
6113  	Reconize user/uea, virtual/vea and operating/oea.
6114
6115Sat Nov  4 12:29:45 1995  Fred Fish  <fnf@cygnus.com>
6116
6117	* core.c:  Rename to corefile.c
6118	* core.h:  Rename to corefile.h
6119	* inline.c: Include corefile.h, renamed from core.h.
6120	* cpu.h: Include corefile.h, renamed from core.h
6121	* vm.c: Include corefile.h, renamed from core.h
6122	* corefile.c: Include corefile.h rather than core.h
6123	* README.psim (KNOWN PROBLEMS): Change core.* references to corefile.*
6124	references.
6125	* Makefile.in (CPU_H): Change core.h to corefile.h
6126	(vm.o):  Change dependency to corefile.h
6127	(LIB_SRC): Change core.c to corefile.c.
6128	(LIB_OBJ): Change core.o to corefile.o.
6129	(corefile.o):  Change dependencies to corefile.c, corefile.h.
6130
6131Fri Nov  3 11:37:24 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6132
6133	* ppc-instructions (data cache instructions): Make all data cache
6134	instructions nops instead of invalid instructions.
6135
6136	* Makefile.in (CONFIG_CFLAGS): Add ALIGNMENT_CFLAGS and
6137	TIMEBASE_CFLAGS which weren't included.
6138
6139Thu Nov  2 08:54:04 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6140
6141	* Makefile.in: Uncomment built file dependencies.
6142
6143	* configure.in: Rewrite --enable-sim switch handling to use the
6144	autoconf builtins so it works correctly if the configure or
6145	Makefile.in files are modified and make decides to rebuild
6146	Makefile.  Also document all of the --enable-sim switches
6147	supported.  Check whether getrusage and sys/resource.h are
6148	supported.
6149	* config.in: Regenerate.
6150	* configure: Regenerate.
6151	* Makefile.in: Add support for all of the variables set with
6152	--enable-sim switches.
6153
6154	* Makefile.in (clean): make clean now removes all built sources as
6155	well.
6156
6157	* cpu.c: Use HAVE_STRING_H, HAVE_STRINGS_H, HAVE_UNISTD_H,
6158	HAVE_TIME_H, HAVE_SYS_TIMES_H, HAVE_SYS_RESOURCE_H defined in
6159	the generated config.h.
6160	* debug.c: Ditto.
6161	* device_tree.c: Ditto.
6162	* devices.c: Ditto.
6163	* dgen.c: Ditto.
6164	* emul_netbsd.c: Ditto.
6165	* igen.c: Ditto.
6166	* lf.c: Ditto.
6167	* misc.c: Ditto.
6168	* psim.c: Ditto.
6169	* registers.c: Ditto.
6170	* sim_calls.c: Ditt.
6171	* table.c: Ditto.
6172
6173
6174	* main.c (main): Call psim_print_info with verbose == 2.
6175
6176	* mon.c (mon_print_info): Align the cpu number and number of
6177	instructions fields.  Do not print an instruction category if the
6178	CPU did not execute any of those instructions.  Print out number
6179	of reads and writes.  If getrusage is supported, print out number
6180	of simulated instructins per second.
6181
6182	* configure.in: Add support for --enable-sim-opcode=stupid.
6183	* configure: Regenerate.
6184
6185Wed Nov  1 23:46:59 1995  Andrew Cagney   <cagney@highland.com.au>
6186
6187	* std-config (INLINE_DEVICE_TREE): Don't inline either of
6188        device_tree.c or devices.c.  There is no significant gain.
6189
6190	* configure.in, Makefile.in: add --enable-sim-icache=[0-9]* and
6191 	IGEN_ICACHE macro.
6192
6193Wed Nov  1 23:46:59 1995  Andrew Cagney   <cagney@highland.com.au>
6194
6195	* igen.c (main), misc.h (target_a2i, i2target), misc.c: Add
6196        functions to convert between target and igen internal bit numbers.
6197        Make IO go through these functions. Add -b (bit size) and -h (high
6198        bit nr) options to igen.  Typical usage would be: ./igen -b 16 -h
6199        15 for a 16 bit instruction format with the msb given a number 15.
6200
6201Wed Nov  1 22:17:32 1995  Andrew Cagney   <cagney@highland.com.au>
6202
6203	* dgen.c (main): Was outputting optarg even when it was NULL.
6204
6205Tue Oct 31 23:48:33 1995  Andrew Cagney   <cagney@highland.com.au>
6206
6207	* vm_n.h (vm_data_map_load_N, vm_data_map_store_n), debug.h,
6208        debug.c: Add tracing of load/store unit (virtual) with -t
6209        load-store.
6210
6211Tue Oct 31 21:44:01 1995  Andrew Cagney   <cagney@highland.com.au>
6212
6213        * std-config.h (WITH_ENVIRONMENT): Add USER_ENVIRONMENT which does
6214        not include things such as the time base and events.
6215
6216	* interrupt.c, sim_calls.c, cpu.h, vm.c, configure.in: Add UEA to
6217 	all environment switches for above.
6218
6219	* psim.c (psim_create): ditto - new device tree node name is
6220        /options/environment-architecture with values user, virtual and
6221        operating.
6222
6223Tue Oct 31 21:31:32 1995  Andrew Cagney   <cagney@highland.com.au>
6224
6225	* ppc-opcode-stupid: Third example of use of opcode table - this
6226        one expands all mtspr/mfspr and branch instructions.  Appears to
6227        give about a 10% gain in performance if everything enabled.  Also
6228        takes about 150mb of swap to build.
6229
6230Wed Nov  1 10:49:48 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6231
6232	* emul_netbsd.c (do_exit): Print arguments and close parenthesis
6233	if tracing, since exit doesn't go through emul_exit_call.
6234	(do_read): Print arguments if tracing.
6235	(do_write): Ditto.
6236	(do_open): Ditto.
6237	(do_break): Ditto.
6238	(do_kill): Ditto.
6239	(do_dup): Ditto.
6240	(do_sigprocmask): Replace trace with printing arguments if
6241	tracing.
6242	(do_ioctl): Print arguments if tracing.
6243	(do_umask): Ditto.
6244	(do_dup2): Ditto.
6245	(do_fcntl): Ditto.
6246	(do_gettimeofday): Ditto.
6247	(do_getrusage): Ditto.
6248	(do_fstatfs): Ditto.
6249
6250	* filter_filename.c: New file to provide filter_filename to strip
6251	the directory prefix from a file.
6252	* filter_filename.h: New include file to declare filter_filename.
6253
6254	* debug.h: Include filter_filename.h.
6255	(TRACE,DTRACE,ERROR): Use filter_filename on __FILE__.
6256
6257	* misc.h: Include filter_filename.h.
6258 	(ASSERT): Use filter_filename on __FILE__.
6259
6260	* igen.c (lf_print_my_prefix): Use filter_filename on the filename
6261	argument.
6262
6263	* Makefile.in: Add filter_filename support.
6264
6265	* ppc-instructions (dcbi, icbi): Make these NOPs rather than
6266	invalid instructions.
6267
6268	* configure.in: Add support for more --enable-sim-* switches.
6269	Use config.make and config.hdr to write to Makefile and config.h
6270	respectively.  Don't rewrite Makefile, just append to it.
6271	* configure: Regenerate.
6272	* config.{make,hdr}: New shell scripts.
6273
6274	* Makefile.in: Remove all variables set by configure.in.
6275	(psim.o): Depend on $(BUILT_SRC) also.
6276
6277	* emul_netbsd.c (do_gettimeofday,do_getrusage): When comparing an
6278	integer, use 0, not NULL.
6279
6280Tue Oct 31 15:20:04 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6281
6282	* configure.in: Add support for --enable-sim-inline,
6283	--enable-sim-bswap, --enable-sim-cflags, --enable-sim-complex,
6284	--enable-sim-switch, --enable-sim-duplicate, --enable-sim-filter,
6285	and --enable-sim-endian switch to control various Makefile
6286	variables.
6287	* configure: Regenerate from configure.in.
6288	* Makefile.in: Add various Make variables that the various
6289	switches alter.
6290
6291	* std-config.h (DEFAULT_INLINE): Don't set this to 2 if using GCC
6292	and optimizing by default.
6293
6294Fri Oct 27 19:26:27 1995  Andrew Cagney  <cagney@highland.com.au>
6295
6296	* bits.h (ROTL32, ROTL64): Were functions, made them macros, now
6297 	make them functions again.  Appears 2.6.3 is confused by just a
6298 	macro.
6299
6300Thu Oct 26 18:31:58 1995  Andrew Cagney  <cagney@highland.com.au>
6301
6302	* ppc-endian.c (SWAP_8): Fix 8 byte swap!
6303
6304	* psim.c (psim_create): Not correctly checking that runtime
6305 	configuration of things like ENDIAN, ENVIRONMENT and ALIGNMENT
6306 	matched the compiled in ones.
6307
6308	* debug.h (ITRACE), igen.c: Tidy up more tracing flags -
6309 	trace_semantics is now different to trace_idecode, the former
6310 	checks the cache.
6311
6312Tue Oct 24 21:54:13 1995  Andrew Cagney  <cagney@highland.com.au>
6313
6314	* ppc-instructions (mtsrin): Missing instruction
6315	* ppc-instructions (mfsrin): Missing instruction
6316	* ppc-instructions (eieio): Missing instruction
6317
6318Tue Oct 24 20:55:29 1995  Andrew Cagney  <cagney@highland.com.au>
6319
6320	* build-psim: New shell script - see internals for usage,
6321 	simplifies the process of building custom simulators.
6322
6323Mon Oct 23 23:48:59 1995  Andrew Cagney  <cagney@highland.com.au>
6324
6325	* std-config.h (SEMANTICS_INLINE): Tidy up notes on each of the
6326        INLINE macros.  Make SEMANTICS_INLINE == 1 if DEFAULT_INLINE == 2.
6327        Don't use DEFAULT_INLINE to define REGISTERS_INLINE DEVICES_INLINE
6328        DEVICE_TREE_INLINE or INTERRUPTS_INLINE as none of these are on
6329        the instruction or data critical paths.
6330
6331	* FIXME: devices.c/emul_netbsd.c would benefit (slightly) from
6332 	the inclusion of device_tree.c/emul_generic.c.
6333
6334Mon Oct 23 00:31:50 1995  Andrew Cagney  <cagney@highland.com.au>
6335
6336	* os_emul.[hc], emul_generic.[hc], emul_netbsd.[hc]: replace
6337        system.[hc].  Start of suport for multiple emulations and
6338        emulation state (os_emul object).
6339
6340	* emul_generic.[hc]: Start of code to implement proper system call
6341	tracing (from spy).
6342
6343Sun Oct 22 21:33:51 1995  Andrew Cagney  <cagney@highland.com.au>
6344
6345	* cpu.h, cpu.c (cpu_init): New function, zero the registers before
6346        the processor is started. Fixes problem of registers being
6347        undefined when restarting from within gdb.
6348
6349	* cpu.h, cpu.c (cpu_flush_icache): New function, flushes the
6350        instruction cache (if present).  Fixes problem of cpu caching gdb
6351        breakpoint instructions.
6352
6353	FIXME: PSIM sometimes aborts calling error(), it should instead
6354 	call sim_error() say which takes care of housekeeping such as
6355 	saving the CIA before calling error.
6356
6357	* NOTE: cpu_flush_cache() instead of cpu_synchronize_context() is
6358 	used when restarting a simulation because the latter has the
6359 	unwanted side effect (well I as a kernel hacker think it is) of
6360 	performing an isync when the instruction stream doesn't contain
6361 	one.
6362
6363Sun Oct 22 19:27:48 1995  Andrew Cagney  <cagney@highland.com.au>
6364
6365	* mon.h (new), mon.c (new), std-config.h (WITH_MON): Performance
6366        monitoring module. Counts both instructions issued and
6367        load/stores.
6368
6369	* NOTE: mon does not contain to count instruction loads as this
6370 	information is already available from the mon_issue() hook.
6371
6372	* igen.c (lf_print_c_semantic), vm_n.h: Add counting code.
6373
6374	* psim.h, psim.c (psim_create), cpu.h, cpu.c (cpu_create): Attach
6375        a common monitor to each of the cpus. Delete
6376        cpu_increment_number_of_insns() and cpu_get_number_of_insns()
6377        replaced by copied code in mon.[hc].
6378
6379Sun Oct 22 18:42:45 1995  Andrew Cagney  <cagney@highland.com.au>
6380
6381	* sim_calls.c, main.c, psim.c (psim_create): always create
6382        `WITH_SMP' cpus.  The actual number of CPU's active in a
6383        simulation run is taken from the device node: /init/smp (an
6384        integer). WITH_SMP changed to 2 (remember to put it back to 0).
6385
6386Fri Oct 20 17:26:54 1995  Andrew Cagney  <cagney@highland.com.au>
6387
6388	* system.c: More system call emulation.  If code appears NetBSD
6389 	specific, make conditional to being compiled on a NetBSD system
6390 	(sigh).
6391
6392Wed Oct 18 23:02:20 1995  Andrew Cagney  <cagney@highland.com.au>
6393
6394	* Makefile.in, gen.c(delete), igen.c(new), dgen.c(new),
6395 	lf.[ch](new), table.[ch](new): Split into two generators - igen
6396 	that outputs the instruction tables and dgen that outputs the spr
6397 	tables.  Add -f (filter out) flag to igen to filter out certain
6398 	instructions (ex 64 bit ones) from the created tables.  Include
6399 	$(LIBIBERTY_LIB) in link options in case host lacks some libc
6400 	functions.
6401
6402	* NOTE: igen, since it was originally written for the
6403 	PowerPC/RS6000, things the MSB is 0 and the LSB is 63{31}.
6404
6405	* Makefile.in, std-config.h, ppc-cache-rules(new),
6406 	ppc-opcode-complex(new), ppc-opcode-simple(new): (for igen) Create
6407 	cache-rule and opcode-rule tables from macros found std-config.h.
6408 	Delete corresponding macro's from std-config.h.
6409
6410	* igen.c (gen_itable_c, gen_itable_h), Makefile.in: code to output
6411 	an table of all the instructions.  Code to output a type
6412 	enumerating all the instructin names.
6413
6414	* igen.c(lf_print_c_semantic): Move call to increment instruction
6415 	counter so that it occures _after_ the instruction has been fully
6416 	validated, was double counting illegal/invalid instructions.  Add
6417 	conditional so only compiled in when WITH_PROFILE enabled (enabled
6418 	by default).
6419
6420	* igen.c, cpu.h, cpu.c(cpu_increment_number_of_insns): Include
6421 	itable.h, count individual instruction types not just total,
6422 	adjust reporting functions to output this.
6423
6424	* ppc-instructions (64 bit Load Doubleword with Update Indexed):
6425 	Had 32./ instead of 31./
6426
6427	* ppc-instructions (64 bit Store Double Word Conditional Indexed):
6428 	bitrot - updated to use newer CR register operators.
6429
6430	* ppc-instructions (64bit Floating Convert from Integer
6431 	Doubleword): Correct call to Round_Float().
6432
6433Mon Oct 16 00:31:20 1995  Andrew Cagney  <cagney@highland.com.au>
6434
6435	* basics.h: #include "sim_callbacks.h" earlier so that its
6436 	prototypes are declared in all other header files.
6437
6438	* bits.h, bits.c, idecode_expression.h (ROTL32, ROTL64): Update
6439 	doc in bits.h, remove dead code in bits.c, move ROTL32/ROTL64 into
6440 	bits.h.
6441
6442	* cpu.c(cpu_add_commas), device_tree.h, device_tree.c(scand_*):
6443 	Add size of buffer argument to functions writing a string into a
6444 	buffer.  Check for buffer overflow.
6445
6446Sun Oct 15 22:16:11 1995  Andrew Cagney  <cagney@highland.com.au>
6447
6448	* devices.h, devices.c, debug.h, debug.c: add macro's for tracing
6449        of each device.  Make parameter names consistent so macros work.
6450        Use macro's in device functions.
6451
6452	* device_tree.c, devices.h, devices.c: include path to device in a
6453        devices node when creating it.
6454
6455	* device_tree.c, debug.h, debug.c: Add tracing of `device-tree'.
6456
6457	* core.c: add tracing of core-device, adjust parameter names in
6458 	core functions to be consistent with those in devices*.
6459
6460Sun Oct 15 20:33:20 1995  Andrew Cagney  <cagney@highland.com.au>
6461
6462        * debug.h, debug.c (trace_option): New function. Parses the trace
6463        option, updating the trace array.
6464
6465	* debug.h, debug.c (trace_usage): New function. Outputs the list
6466        of all possible trace options.
6467
6468	* sim_calls.c (sim_open), main.c (main): Use new trace_option() to
6469 	parse trace options specified with the simpler -t flag.  Adjust
6470 	usage.
6471
6472	* FIXME: basic parsing of command line options is still duplicated
6473 	by main.c and sim_calls.c
6474
6475Thu Oct 26 10:42:28 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6476
6477	* Makefile.in (clean): Delete *.i and *.out files.
6478
6479	* ppc-endian.c (SWAP_n): Add SET argument to allow use of SWAP
6480	macros for either assignment or return.  Fix SWAP_8 to use a
6481	union, and two SWAP_4's.  Delete SWAP_N, since nobody uses it now.
6482	(ENDIAN_N): Add SET argument to SWAP_n calls.  Delete macro defs
6483	that hardwired swapping on/off, let optimizer delete dead code.
6484
6485	* main.c (main): Add printf that we caught a signal and print out
6486	the failing address.
6487
6488Thu Oct 19 21:43:39 1995  Fred Fish  <fnf@fishfood.amigalib.com>
6489
6490	* Makefile.in:  Remove tabs from otherwise empty line.
6491	Confuses many non-GNU versions of "make".
6492
6493Wed Oct 18 08:51:25 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6494
6495	* Makefile.in (clean): Delete files produced by gen.
6496
6497Mon Oct 16 17:34:24 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6498
6499	* gen.c (lf_print_c_semantic_function): Move counting # of
6500	instructions here so it works with caching.
6501	(gen_idecode_c): Move from here.
6502
6503Wed Oct 11 17:13:15 1995  Andrew Cagney  <cagney@highland.com.au>
6504
6505	* gen.c, ppc-instructions, psim.c: Fix code for generating
6506	cracking instruction cache.  Delete the code that cached just the
6507	result from doing an instruction lookup - this ran slower than no
6508	cache at all.
6509
6510Fri Oct 13 09:58:43 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6511
6512	* Makefile.in (gen.o): Include $(INLINE_CFLAGS).
6513
6514	* debug.h (ppc_trace): Rename from trace, to avoid a conflict with
6515	TCL when gdb is linked with the simulator.
6516	* debug.c (ppc_trace): Ditto.
6517	* sim_calls.c (sim_open): Change trace -> ppc_trace.
6518	* main.c (main): Ditto.
6519
6520	* cpu.c (cpu_add_commas): Remove extra static.
6521
6522Thu Oct 12 11:35:53 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6523
6524	* Makefile.in (psim.o): Now that inlines are turned on, make
6525	psim.o depend on all sources.
6526
6527	* cpu.c (cpu_add_commas): New function to format a long with
6528	commas.
6529	(cpu_print_info): Use it to print number_of_insns.
6530
6531	* ppc-endian.c (SWAP_n): New macros to speed up byte swapping for
6532	2, 4, and 8 bytes.
6533	(ENDIAN_N): If both target and host byte orders are known, don't
6534	bother testing CURRENT_{TARGET,HOST}_BYTE_ORDER.
6535
6536	* ppc-endian.h (target specific H2T_n/T2H_n macros): Remove #if 0
6537	to allow target specific H2T_n/T2H_n macros to be used.
6538	(htonl, ntohl): If compiled on a 486 by GCC and WITH_BSWAP is
6539	non-zero, redefine the htonl/ntohl macros to use the BSWAP instead
6540	of the 3 instruction sequence that runs on 386s.
6541
6542	* std-config.h (WITH_{HOST,TARGET}_BYTE_ORDER): Don't override if
6543	specified on the compile line.
6544	(WITH_BSWAP): If not defined, define as 0.
6545
6546	* Makefile.in (INLINE_CFLAGS): Add -DDEFAULT_INLINE=2 to add
6547	default inline support.  Pass INLINE_CFLAGS when compiling.
6548
6549	* devices.{h,c} (unimp_device_ioctl): Use STATIC_DEVICES, not
6550	INLINE_DEVICES since GCC doesn't like inline functions that
6551	accept variable arguments.
6552	(stack_ioctl_callback): Make function just static because GCC
6553	doesn't like inline functions that accept variable arguments.
6554
6555	* devices.h (STATIC_DEVICES): Define as empty if not defined.
6556
6557	* inline.c: Correct pathnames of included C files to match current
6558	implementation.
6559
6560	* inline.h (STATIC_DEVICES): If DEVICES_INLINE is defined to be
6561	non-zero, define STATIC_DEVICES to be static.
6562
6563	* std-config.h (INLINE): If GNU C and optimizing, define this as
6564	__inline__.
6565	(DEFAULT_INLINE): If not defined, define as 0.
6566	(ENDIAN_INLINE): If not defined, define as DEFAULT_INLINE.
6567	({CORE,VM,CPU,EVENTS,REGISTERS,INTERRUPTS}_INLINE): Ditto.
6568	({SPREG,IDECODE}_INLINE): Ditto.
6569
6570Wed Oct 11 17:13:15 1995  Andrew Cagney  <cagney@highland.com.au>
6571
6572        * ppc-instructions: Initial cut of floating point suport added.
6573  	Of note include - use of host IEEE floating point instructions,
6574 	use of PowerPC manual pseudo code to handle the FPSCR.  It is not
6575 	currently a pretty sight.
6576
6577	* memory_map.h, memory_map.c, memory_map_n.h, core.h, core.c:
6578 	merge into core.h, core.c, core_n.h. The type memory_map replaced
6579 	with core_map.  This removes a level of pointer indirection when
6580 	translating an address.
6581
6582	* memory_map.h, memory_map.c, memory_map_n.h: delete.
6583
6584	* Makefile.in et.al (sorry): tweek to use new core, core_map and
6585 	core.h.
6586
6587Wed Oct 11 12:10:26 1995  Andrew Cagney  <cagney@highland.com.au>
6588
6589	* sim_calls.c, main.c: Add -g (trace_gdb) option, add tracing to
6590 	most of the other functions in sim_calls.c.
6591
6592	* basics.h (CONCAT3), memory_map.c, memory_map_n.h, Makefile.in:
6593 	Add macros to better cover up `generic' code.  Makes it possible
6594 	to step through the generic code!
6595
6596	* vm.c, vm_n.h, Makefile.in: ditto
6597
6598Tue Oct 10 15:42:59 1995  Andrew Cagney  <cagney@highland.com.au>
6599
6600	* devices.h, devices.c, memory_map.h, memory_map.c: Changed
6601 	callback interface so that there is a read/write buffer but no
6602 	read/write_word.  VEA default memory read/write handler sometimes
6603 	couldn't resolve an access and of those some were for a memory
6604 	fault and some were because gdb was making a bogus request.
6605
6606	* devices.h, devices.c, memory_map.h, memory_map.c, vm.h, vm.c:
6607 	eliminate transfer_mode (raw or cooked) parameter from read/write
6608 	buffer.
6609
6610Fri Oct  6 20:23:56 1995  Andrew Cagney  <cagney@highland.com.au>
6611
6612	* ppc-instructions (fmul, fmuls): correct instruction format - had
6613 	FRB instead of FRC.
6614
6615Wed Oct  4 17:31:12 1995  Andrew Cagney  <cagney@highland.com.au>
6616
6617	* psim.c, device_tree.h, device_tree.c, devices.c (printd_*,
6618 	scand_*): new functions to parse/print fields in device names
6619 	while hiding any machine dependency.
6620
6621	* devices.c, psim.c: Change the stack init code so that it is
6622 	handled by a device.  Arguments passed across using a device ioctl
6623 	(hack).
6624
6625	* devices.h, devices.c: device ioctl callback changed to allow a
6626 	variable number of arguments.  This gives greater flexability and
6627 	greater chance of bugs.
6628
6629Tue Oct  3 22:01:56 1995  Andrew Cagney  <cagney@highland.com.au>
6630
6631	* main.c (printf_filtered, error): Missing va_end() to close off
6632        variable argument use.
6633
6634	* Makefile.in (tmp-gencode): comment out hack to get around some
6635        versions of make not handling files being created as side-effects.
6636
6637	* gen.c (lf_open): Add -n (real_file_name) option.  Specifies an
6638        alternative file name to use in output files for things like #line
6639        macros.
6640
6641        Makefile.in (tmp-gencode): Use gen -n so that debug info is
6642        correct.
6643
6644	* Makefile.in (TARGETLIB): Use this instead of libsim.a in the
6645	Makefile.
6646
6647Sat Oct  7 22:40:59 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6648
6649	* sim_calls.c (sim_set_callbacks): Define new function.
6650
6651Fri Oct  6 17:23:10 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6652
6653	* psim.c (psim_print_info): Print exit status or signal number.
6654
6655Mon Oct  2 11:46:37 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6656
6657	* cpu.c (struct _cpu): Add number_of_insns field to trace how many
6658	instructions are executed.
6659	(cpu_increment_number_of_insns): New function to increment the
6660	number of instructions issued.
6661	(cpu_get_number_of_insns): New function to return the number of
6662	instructions issued.
6663	(cpu_print_info): New function to print cpu related information.
6664	At present, print the number of instructions executed.
6665
6666	* gen_idecode_c: Emit call to cpu_increment_number_of_insns within
6667	idecode_issue.
6668
6669	* psim.c (psim_print_info): New function to iterate over each of
6670	the CPU's calling cpu_print_info.
6671
6672	* psim.h,cpu.h: Add new declarations.
6673
6674	* sim_calls.c (sim_open): Add argument processing to add the same
6675	switches main.c accepts for the standalone processor.
6676	(sim_close): Call psim_print_info if -I.
6677
6678	* main.c (main): Add comment saying to update sim_calls.c when
6679	adding switches.  Add -I to call psim_print_info when done.
6680	(usage): Update usage message.
6681
6682Sun Oct  1 13:52:59 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6683
6684	* main.c (printf_filtered): Correct to match new prototype.
6685
6686Sat Sep 30 20:47:05 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6687
6688	* sim_callbacks.h (printf_filtered): Correct prototype.
6689
6690Thu Sep 21 16:26:49 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6691
6692	* device_tree.c (OEA_MEMORY_SIZE): Define if not defined to
6693	0x100000.
6694	(clayton_memory_size): Define as OEA_MEMORY_SIZE.
6695
6696	* std-config.h (WITH_TRACE): Default to 1 now.
6697
6698	* psim.c (write_stack_arguments): Don't write any stack arguments
6699	if OEA.
6700
6701	* main.c (main): Switch to using getopt.  Make -p also set
6702	trace_semantics.  Make -a turn on all trace flags.  Make -C turn
6703	on console tracing.
6704
6705	* device_tree.c (create_option_device_node): Assume a program is
6706	OEA if the start address is < 4096, not just == 0.
6707
6708Wed Sep 20 13:36:06 1995  Ian Lance Taylor  <ian@cygnus.com>
6709
6710	* Makefile.in (maintainer-clean): New synonym for realclean.
6711
6712Sun Sep 10 10:23:56 1995  Michael Tiemann  <tiemann@axon.cygnus.com>
6713
6714	* registers.c (register_description): Add gdb synonyms for cr
6715	(cnd) and msr (ps).
6716
6717Fri Sep  8 13:16:10 1995  Ian Lance Taylor  <ian@cygnus.com>
6718
6719	* Makefile.in (install): Don't install in $(tooldir).
6720
6721	* configure.in: Call AC_CONFIG_HEADER.  Don't try to use
6722	bfd/hosts/*.h file or bfd/config/*.mh file.  Call AC_PROG_CC and
6723	AC_PROG_RANLIB.  Substitute in values for CFLAGS, HDEFINES, AR,
6724	and CC_FOR_BUILD.  Call AC_CHECK_HEADERS for various header files.
6725	Touch stamp.h if creating config.h.
6726	* configure: Rebuild.
6727	* config.in: New file, created by autoheader.
6728	* Makefile.in (AR): Define as @AR@.
6729	(CC): New variable, defined as @CC@.
6730	(CFLAGS): Define as @CFLAGS@.
6731	(CC_FOR_BUILD): New variable, defined as @CC_FOR_BUILD@.
6732	(RANLIB): Define as @RANLIB@.
6733	(HDEFINES, TDEFINES): New variables.
6734	(@host_makefile_frag@): Remove.
6735	(mostlyclean): Make the same as clean, not distclean.
6736	(clean): Remove config.log.
6737	(distclean): Remove config.h and stamp-h.
6738	(Makefile): Don't depend upon @frags@.  Just rebuild Makefile when
6739	invoking config.status.
6740	(config.h, stamp-h): New targets.
6741	(gen, gen.o): Build with CC_FOR_BUILD, not CC.
6742	(ppc-config.h): Rename from old config.h build.
6743	* (basics.h,gen.c,ppc-endian.c,psim.c): Include ppc-config.h.
6744
6745Fri Sep  8 09:51:03 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6746
6747	* configure{,.in}: Don't include sysdep.h from bfd, since bfd no
6748	longer provides it.
6749	* basics.h (sysdep.h): Don't include it.
6750	* Makefile.in (BASICS_H): Remove sysdep.h.
6751
6752Wed Sep  6 13:25:42 1995  Andrew Cagney  <cagney@highland.com.au>
6753
6754 	* core.c (core_add_data): First growth of bss was being put at
6755        wrong address (0) instead of &end.
6756
6757 	* core.c (core_add_stack, core_add_data): Was not handling case
6758        where bss/stack is grown across the current end-of-{bss,stack}.
6759
6760Wed Sep  6 00:46:10 1995  Andrew Cagney  <cagney@highland.com.au>
6761
6762	* system.c (system_call): Fix SYS_break - was aligning bss to a
6763        page boundary instead of just an 8 byte one; On first call sbrk(0)
6764        != sbrk(0).
6765
6766Thu Aug 24 14:48:54 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6767
6768	* Makefile.in (install): Fix install rule.
6769
6770Tue Aug 22 09:31:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6771
6772	* system.c (system_call): Add read support.
6773
6774	* main.c (main): -t sets trace_device_tree.  Correct usage message
6775	to current reality.
6776
6777	* device_tree.c (update_memory_node_for_section): Make tracing
6778	output line up.  If not code or readonly, assume that the section
6779	is a data section and has read/write permissions.  Add readonly
6780	support.
6781
6782	* core.c (create_core_from_addresses): Print end address in traces
6783	and make tracing output line up.
6784
6785	* Makefile.in: Rewrite from Makefile to work with the Cygnus
6786	environment, and support compiling in a different directory than
6787	the sources reside in.
6788
6789	* ppc-endian.h: Rename from endian.h so that it doesn't get
6790	confused with /usr/include/sys/endian.h on Linux.  Add Linux
6791	endian support.
6792
6793	* ppc-endian.c: Rename to be consistant with ppc-endian.h.
6794	Include ppc-endian.h, not endian.h.
6795
6796	* basics.h (sysdep.h): Include sysdep.h that configure makes.
6797	Include ppc-endian.h, not endian.h.
6798
6799	* std-config.h: Rename from ppc-config.  Put #ifndefs around most
6800	configuration macros, so they can be overridden via CFLAGS.  By
6801	default, turn off tracing.
6802
6803	* configure.in: Clone from other simulator targets.
6804	* configure: Generate via autoconf from configure.in.
6805
6806Sat Aug 19 09:05:32 1995  Andrew Cagney  <cagney@highland.com.au>
6807
6808	* ppc-instructions: fix srawi (was geting XER[CA] real wrong).
6809
6810	* interrupts.c (data_storage_interrupt): allow stack to grow by
6811        upto one MB per increment.
6812
6813	* ppc-instructions: divw was computing rA / rA not rA / rB
6814
6815	* main.c (main): really stupid. Wasn't exiting with correct status
6816
6817Fri Aug 18 00:38:01 1995  Andrew Cagney  <cagney@highland.com.au>
6818
6819	* system.c (system_call): add system calls kill(2) and getpid(2).
6820
6821	* main.c (main): Check/return exit status when simulation
6822        finishes.
6823
6824Thu Aug 17 14:29:18 1995  Andrew Cagney  <cagney@highland.com.au>
6825
6826	* device_tree.c (create_option_device_node): Alignment rules (at
6827 	least for the moment) now are for strict alignment only for LE OEA
6828 	mode.  (Because of compiler problems).
6829
6830	* system.c (system_call) SYS_exit: Wasn't exiting with correct status.
6831
6832Thu Aug 17 01:16:38 1995  Andrew Cagney  <cagney@highland.com.au>
6833
6834	* vm.c (DEFINE_VM_DATA_MAP_WRITE_N): For miss aligned transfer
6835        forgot to return.
6836
6837	* system.c (system_call): didn't page align break argument before
6838        determining increment break increment.
6839
6840	* psim/ppc: Re-arange entire directory structure so that
6841        everything lives in the one directory.  While a pain for cleaning,
6842        makes building across multiple architectures much simpler.
6843
6844	* devices.c, device_tree.c: Added code that provides a simple
6845        illustration of how an interrupt control device could be
6846        implemented.
6847
6848	* devices.c: Added code so that the dumb console device can read
6849        (from stdin) as well as write to stdout.
6850