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