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