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