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