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