OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.3/] [sim/] [ppc/] [ChangeLog] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.