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