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