* gdb.base/a1-selftest.exp (do_steps_and_nexts): New routine to
[deliverable/binutils-gdb.git] / sim / ppc / ChangeLog
CommitLineData
def7f775
MM
1Wed Aug 7 14:34:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2
7b25dea5
MM
3 * emul_unix.c (HAVE_TCGETATTR): If HAVE_TERMIOS_STRUCTURE is not
4 defined, make sure HAVE_TCGETATTR is #undef'ed
5
def7f775
MM
6 * std-config.h (REGPARM): Only define REGPARM attributes if using
7 GNU C. Test for __i686__ in case GCC ever defines it. If not on
8 a x86 platform, define REGPARM as nothing.
9
10 * sim-endian.h (WITH_HOST_BYTE_ORDER): Test for i686 and __i686__
11 also.
12
2e913166
MM
13Tue Aug 6 09:28:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
14
15 * configure.in (--enable-sim-{hardware,packages}): Fix typos.
16 * configure: Regenerate.
17
18 * device.c (device_instance_call_method): Fixup format message in
19 error case. Return 0 in case of error to shut up compiler
20 warnings.
21
22Wed Jul 31 00:02:30 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
23
24 * device_table.h (device_instance_callbacks): Relace the claim and
25 release methods with a more general table mapping from method-name
26 to method-function.
27
28 * device.c (device_instance_call_method): New function. Implement
29 the OpenBoot call-method client interface. Attempts to locate the
30 instances method in the callback table.
31 (device_instance_claim, device_instance_release): Delete.
32 Replaced with call-method and a lookup table.
33
34 * emul_chirp.c (chirp_emul_call_method): Use the new device
35 instance call method and let that handle a client claim call.
36
37 * hw_htab.c (claim_memory): Wrapper function to call the memory
38 devices "claim" method using the new device-instance call-method
39 interface. Replaces the previous direct calls to claim.
40 (htab_map_region): Use claim_memory.
41 (htab_init_data_callback): Ditto.
42
43 * hw_memory.c (hw_memory_instance_claim): Update function
44 interface so that it is compatible with call-method.
45 (hw_memory_instance_release): Ditto.
46 (hw_memory_instance_methods): New table of memory specific
47 methods claim and release. Add to the hw_memory_callback
48 table.
49
50Tue Jul 30 21:26:14 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
51
52 * psim.c (psim_init): Back out of change to initial value of
53 system->last_cpu.
54
55Tue Jul 30 21:12:24 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
56
57 * sim_callbacks.h (sim_io_printf_filtered): Replace
58 printf_filtered with a local simulator specific version. Add
59 #define printf_filtered to simplify updating of existing code.
60
61 * sim_callbacks.h (sim_io_write_stdout, sim_io_read_stdin,
62 sim_io_write_stderr): New functions. Read / write to the
63 simulations stdin and stdout and stderr interfaces. Merge in code
64 from hw_pal that previously handled async I/O.
65 (sim_io_flush_stdoutput): Rename flush_stdoutput. Add #define
66 flush_stdoutput to simplify updating of existing code.
67
68 * hw_pal.c (scan_hw_pal, write_hw_pal,
69 hw_pal_instance_write_callback): Use the new sim_io functions.
70
71 * main.c: Implement standalone versions of the new sim_io
72 functions. Include support for async I/O.
73 * sim_calls.c: Ditto. This time using the gdb callback table.
74
75 * std-config.h (CURRENT_STDIO, current_stdio): New macro. Set up
76 stdio configuration so that it works in the same way as the rest
77 of the simulation.
78 * psim.c (psim_create): Initialize current_stdio from the device
79 tree.
80 * emul_generic.c (emul_add_tree_options): Enter a default value
81 for use-stdio in the device tree.
82
83Fri Jul 26 19:43:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
84
85 * gen-idecode.c (print_jump): Was always generating a jump back to
86 idecode. Only necessary at tail of semantic code.
87 (print_jump): Was always setting the processor's cia, even during
88 startup when the processor was still undefined.
89 (print_jump): For safety, restart smp loop when cpu_nr >= nr_cpus,
90 not just equal.
91
92 * options.c (print_options): Add printing of WITH_REGPARM and
93 WITH_STDCALL.
94
95 * std-config.h (WITH_REGPARM, WITH_STDCALL): Provide default
96 (disabled) values if not defined.
97
98Fri Jul 26 00:36:35 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
99
100 * ppc-cache-rules (cache): Change RS and RB to cache instead of
101 compute. The block move instructions use them.
102
103 * idecode_expression.h (FPSCR_SET): New macro, set specific FPSCR
104 register.
105 (CR_FIELD): New macro, extract specific CR register.
106 (FPSCR_FIELD): New macro, extract specific FPSCR register.
107
108 * registers.h (GPR): New macro, simplify accesses to GPR[i].
109
110 * bits.c (INSERTED): Covert INSERTED macro into a function.
111 (EXTRACTED): Conditionally compile on correct bit size macro.
112
113 * bits.h (BIT8): New macro, set a single bit in an 8 bit byte.
114
115 * ppc-instructions: With hints from Paul Martin, type in missing
116 some instruction semantics. Leave disabled for the moment.
117 (Load Multiple Word): Ditto.
118 (Store Multiple Word): Ditto.
119 (Load String Word Immediate): Ditto.
120 (Load String Word Indexed): Ditto.
121 (Store String Word Immedate): Ditto.
122 (Store String Word Indexed): Ditto.
123 (Move to Condition Register from XER): Ditto.
124 (Move From Condition Register): Ditto.
125 (Move From FPSCR): Ditto.
126 (Move to Condition Register from FPSCR): Ditto.
127 (Move To FPSCR Field Immediate): Ditto.
128 (Move To FPSCR Fields): Ditto.
129 (Move To FPSCR Bit 0): Ditto.
130 (Move To FPSCR Bit 1): Ditto.
131
132Thu Jul 25 22:10:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
133
134 * std-config.h (SEMANTICS_INLINE): By default, mask out the
135 inlining of semantic functions from DEFAULT_INLINE. Almost all
136 configurations call the semantic code via a pointer so there is
137 little benefit.
138
139 * std-config.h (ICACHE_INLINE): Ditto.
140
141Thu Jul 25 20:07:30 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
142
143 * configure.in (sim_regparm): Add configuration option for
144 enabling GCC's regparm attribute.
145 * (sim_stdcall): Add configuration option for enabling GCC's
146 stdcall attribute.
147
148 * Makefile.in (REGPARM_CFLAGS): Pass regparam configuration onto
149 compilations.
150 * (STDCALL_CFLAGS): Pass stdcall configuration onto compilations.
151
152 * std-config.h (REGPARM): Extend construction of REGPARM macro so
153 that it can include __stdcall__ function attribute.
154
155Wed Jul 24 19:04:20 1996 Andrew Cagney <cagney@sawnoff>
156
157 * options.c (print_options): Include SUPPORT_INLINE in information
158 dump.
159
160 * gen-idecode.c (print_run_until_stop_body): Only generate loop
161 termination test if creating idecode_run_until_stop. Push the
162 loop termination test back into each alternative branch.
163
164Wed Jul 24 15:47:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
165
166 * gen-icache.c (print_icache_function): Have the cache function
167 always update the cache_entries semantic and address fields.
168
169 * gen-idecode.c (print_idecode_switch_illegal): Include a break
170 when generating illegal instructions. This was commented out
171 which is a hangover from looking a at switch statements generated
172 using indirect jumps.
173
174Tue Jul 23 20:57:01 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
175
176 * igen.c (print_my_defines): Replaces print_define_my_index.
177 Print both a definition for MY_INDEX and MY_PREFIX.
178 * gen-icache.c (print_icache_function): Adjust.
179 * gen-idecode.c (print_jump_insn): Adjust.
180 * gen-semantics.c (print_c_semantic): Adjust.
181
182 * gen-support.c (gen_support_h): Add optional include to created
183 support.h so that, like cpu, it is optionally inlined for all
184 modules that include it.
185 * inline.h, inline.c: Adjust so that support.[hc] is handled the
186 same as cpu.[hc].
187
188 * idecode_fields.h (LABEL, GOTO): Macro's that create a unique
189 name for a lable and then branch to it.
190
191 * ppc-instructions (convert_to_integer, Floating Round to
192 Single-Precision, Floating Convert from Integer Doubleword): Use
193 LABEL and GOTO instead of the recently added switch statements.
194
195Wed Jul 24 14:02:42 1996 Andrew Cagney <cagney@sawnoff.highland.com.au>
196
197 * gen-idecode.c (print_run_until_stop_body): Too many rparen in
198 generated code.
199
200Tue Jul 23 20:57:01 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
201
202 * configure.in (--enable-sim-line-nr): Typo - sim_line-nr.
203 * (--enable-sim-inline): Reorder patern matching of arguments so
204 that SUPPORT=ALL_INLINE is reconized as *=* and not *_INLINE.
205
206 * configure: rebuild.
207
208Mon Jul 22 23:25:08 1996 Andrew Cagney <cagney@highland.com.au>
209
210 * configure.in (--enable-sim-hardware, --enable-sim-packages): New
211 configuration options. Let the user specify the packages or
212 hardware devices that are to be included in the build. Makes it
213 possible for user packages to be specified.
214
215 * Makefile.in (tmp-pk, tmp-hw): Just use the list of packages and
216 hardware instead of checking it using ls. configure.in should
217 have taken care of any problems.
218 (HW_SRC, HW_OBJ, PACKAGE_SRC, PACKAGE_OBJ): Set by configure.
219
220Mon Jul 22 22:38:59 1996 Andrew Cagney <cagney@highland.com.au>
221
222 * psim.c (psim_options): Enter the argument to the memory size
223 option directly into the device tree. Was using atol() which is
224 dangerously non portable.
225
226Mon Jul 22 22:17:08 1996 Andrew Cagney <cagney@highland.com.au>
227
228 * configure.in (icache): Extend icache flag to include an insn
229 option. If specifyed the insn - aka instruction - is included in
230 the instruction cache. Make this the default.
231 * configure: re-generate.
232
233 * igen.c (main), igen.h: Add option -S - inSn - for specifying
234 that the instruction should be included in the icache.
235
236 * gen-icache.c (print_icache_body): If enabled, output code to put
237 the instruction into the icache.
238 (print_icache_struct): If enabled, add insn to the icache struct.
239
240Mon Jul 22 20:46:12 1996 Andrew Cagney <cagney@highland.com.au>
241
242 * Makefile.in (BUILD_CFLAGS): Include -g when building the
243 generators.
244
245Mon Jul 22 20:00:25 1996 Andrew Cagney <cagney@highland.com.au>
246
247 * emul_generic.c (emul_add_tree_options): Was incorrectly setting
248 the strict-alignment option when hardwired for non-strict
249 alignment.
250
30c87b55
MM
251Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
252
253 * gen-semantics.c: Make the my_index variable a macro MY_INDEX.
254
255 * ppc-instructions: Adjust so that references are to MY_INDEX and
256 not my_index.
257
258Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
259
260 * gen-idecode.c: Output the complete run_until_stop function
261 instead of just the code to handle a single instruction issue.
262 * : Have the generated idecode.c include inline.c (instead of psim.c).
263
264 * std-config.h: Change psim.c so that it isn't inlined (as this is
265 no longer needed).
266
267 * psim.c (run_until_stop): Delete the old run_until_stop function
268 instead calling the idecode_run and idecode_run_until_stop
269 functions that gen-idecode.c is now creating.
270
271Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
272
273 * dgen.c: Maintenance - update to use new features found in lf.c.
274
275 * filter_filename.c (filter_filename): Maintenance - make the
276 string constant.
277
278Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
279
280 * debug.c (TRACE, ITRACE, DTRACE): Have GCC instead of CPP
281 eliminate trace statements.
282
283 * debug.c: Change trace format so that it is consistent
284 (file:line-nr) with CC's error output.
285
286 * gen-itable.c (itable_c_insn): Add the source file name and
287 source line number to the instruction's informational entry.
288
289 * debug.c (ITRACE): Use the itable (and my_index) to get the
290 current instructions name and source line number.
291
292 * gen-semantics.c, gen-icache.c: Adjust generated ITRACE calls to
293 match new interface.
294
295 * emul_bugapi.c (emul_bugapi_instruction_call): Adjust
296 corresponding call to ITRACE so that it still matches.
297
298 * idecode_expression.h (ALU_END, CR0_COMPARE): Use TRACE instead
299 of ITRACE. The CPP line directives would have previously set the
300 line-nr and file name so ITRACE isn't needed.
301
302Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
303
304 * gen-idecode.c (print_jump_until_stop_body): New function and
305 idecode generation option. Instead of generating and calling
306 separate functions containing the semantic and icache code
307 generate a single monolythic function and use goto's (and GCC's
308 indirect jump) to move between code blocks.
309
310 * Makefile.in: Add sim_jump flag to those passed to igen.
311
312 * configure.in: New option --enable-sim-jump (default disabled)
313
314 * ppc-instructions: Eliminate any uses of labels and goto's.
315 These result in duplicate declarations when a single flat function
316 is being create.
317
318 * ppc-opcode-jump: New file. Set of opcode rules useful when
319 testing jumping idecodes.
320
321Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
322
323 * gen-idecode.c: Optionally include the semantic code for an
324 instruction in the function that is doing the decoding.
325
326 * igen.c: Add option (-C) to generate semantics in the instruction
327 decode functions.
328
329 * configure.in (--enable-sim-icache): Accept an option list such
330 as 1024,define. Add a new choice to the list - semantic - which
331 will cause igen to generate instruction decode functions that
332 include the corresponding semantic code.
333
334Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
335
336 * configure.in: New option --enable-sim-line-nr (default enabled).
337 Enable/disable the inclusion of CPP line directives in the
338 generated files. Such directives refer back to the source files
339 used when generating the simulator code.
340
341 * Makefile.in (sim_line_nr): Pass to igen.
342
343Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
344
345 * igen.c (main): Revamp the options so that more letters are
346 available.
347
348 * configure.in: Adjust to match igen's revamped options
349
350Sun Jul 21 21:18:05 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
351
352 * Makefile.in (pk.h, hw.h): Rewrite depenencies for hw.h (etc) so
353 that they use the same technique as igen (ie a dummy targets
354 tmp-pk and tmp-hw are created).
355
356Mon Jun 24 22:28:00 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
357
358 * Makefile.in (BUILD_CFLAGS): Include WARNING_CFLAGS.
359
360Wed Jun 19 21:45:28 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
361
362 * ld-cache.[hc], ld-decode.[hc], ld-insn.[hc]: New files. Separate
363 out the loading of each of the tables from the rest of igen.
364 * Makefile.in: Adjust.
365 * igen.c: Adjust.
366
367 * gen-icache.[hc], gen-idecode.[hc], gen-itable.[hc],
368 gen-model.[hc], gen-semantics.[hc]: New files. Separate out the
369 code creating each separate set of generated files.
370 * Makefile.in: Adjust.
371 * igen.c: Adjust.
372
373 * gen-support.[ch]: New files. Output the support functions (found
374 in the ppc-instructions file) into a separate file.
375 * Makefile.in: Add.
376 * inline.h, inline.c: Add.
377 * std-config.h: Add.
378
379 * ld-cache.c: Re-design the cache table format.
380 * ppc-cache-rules: Update to new format.
381
382 * ld-decode.c: Re-design the decode table format.
383 * ppc-opcode-simple: Update to new format
384 * ppc-opcode-complex: Ditto
385 * ppc-opcode-flat: Ditto
386
387 * filter.h, filter.c: New files. Separate the opcode filter table
388 reading code from the rest of igen.c. Re-design the filter so that
389 it works inclusivly not exclusivly.
390 * igen.c: Remove the opcode filter table loading code.
391 * Makefile.in (filter.o): Adjust
392 * configure.in: Adjust filter flag so that default includes 32bit
393 and floating point.
394 * ppc-instructions: Clean up filter fields so that only in use
395 entries are specifed (ie delete `be').
396
397 * misc.c (name2i, i2name): New function. Map between a string and
398 an integer value.
399
400Mon Jun 17 20:08:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
401
402 * sim_calls.c (sim_close): If simulator not created, skip printing
403 of run information.
404
405Mon Jun 17 20:08:03 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
406
407 * registers.c (register_description): Typo, insns not insn.
408
409 * ppc-instructions (model_get_number_of_stalls): New model function,
410 returns number of stalls for the specified processor.
411 * psim.c (psim_read_register): Add call to new function
412 model_get_number_of_stalls().
413
414 * ppc-instructions (model_get_number_of_cycles): New model function,
415 returns number of stalls for the specified processor.
416 * psim.c (psim_read_register): Add call to new function
417 model_get_number_of_cycles().
418
419Fri Jun 14 00:11:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
420
421 * device_table.h: Don't pass the parent device into a devices
422 create function. This makes the create function consistent with
423 the documentation.
424 * device.c (device_template_create_device): Ditto
425 * hw_pal.c (hw_pal_create): Ditto
426 * hw_core.c (hw_core_create): Ditto
427 * hw_vm.c (hw_vm_create): Ditto
428 * hw_disk.c (hw_disk_create): Ditto
429 * hw_nvram.c (hw_nvram_create): Ditto
430 * hw_memory.c (hw_memory_create): Ditto
431 * hw_cpu.c (hw_cpu_create): Ditto.
432
433 * device.c (split_find_device): Allow a null initial parent device.
434 (device_template_create_device): Ditto.
435
436 * device.c (device_create_from): Make local (static) only used
437 within device.c.
438 * device_table.h: typedef device_callbacks moved here (from
439 device.h) where it belongs.
440
441 * hw_core.c: New file. Implements just the core device using the
442 core object.
443
444 * corefile.c: Moved all core device functions into the new
445 hw_core.c file. core_device_create() disapears.
446
447 * psim.c (psim_tree): Use device_tree_add_parsed() to create the
448 core device.
449
450Thu Jun 13 00:09:29 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
451
452 * hw_init.c: Correct typo in comment.
453
454 * corefile.c (core_init): Remove any remaining references to a
455 default map.
456 (core_map_find_mapping): Ditto.
457
458Wed Jun 12 22:30:32 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
459
460 * corefile.c (core_init): Make function global so that other
461 devices are able to use the full core object.
462
463 * corefile.c (core_create, core_from_device): Break core_create
464 into two functions. The first creates a core object, the second
465 returns the core object associated with a core device.
466
467 * corefile.c (core_device_create): Use core_create to make the
468 core object.
469
470 * psim.c (psim_create): Use core_from_device() instead of
471 core_create().
472
473 * device.c (device_template_create_device): Make static as only
474 needed by functions internal to device.c.
475
476Fri Jun 7 23:47:18 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
477
478 * ppc-opcode-test-2: Remove description of fields.
479 * ppc-opcode-complex: Ditto
480 * ppc-opcode-flat: Ditto
481 * ppc-opcode-simple: Ditto
482 * ppc-opcode-stupid: Ditto
483 * ppc-opcode-test-1: Ditto
484 * ppc-cache-rules: Ditto
485
486 * igen.c: Add description of files as a comment at the front.
487
488Wed Jun 26 12:50:33 1996 Michael Meissner <meissner@tiktok.cygnus.com>
489
490 * configure.in: Check for whether the termios and termio
491 structures are really defined, and whether or not, they define the
492 c_line field.
493 * configure: Regenerate.
494
495 * Makefile.in ({,TERMIO_}CFLAGS): Add TERMIO_CFLAGS options set by
496 configure.
497
498 * emul_unix.c: Various changes to allow for building on systems
499 with different termio and termios structures. If host has both
500 termio and termios, just use termios. No longer include
501 sys/ioctl.h.
502
78c09e4a
JM
503Wed Jun 26 12:26:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
504
505 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
506 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
507 (docdir): Removed.
508 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
509 (AC_PROG_INSTALL): Added.
510 * configure: Rebuilt.
511
30c87b55
MM
512Wed Jun 5 23:53:42 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
513
514 * corefile.h: Rewrite documentation so that it can be extracted and
515 converted into texinfo (and hence ready for translation into html,
516 tex or nroff).
517 * device.h: Ditto
518
78c09e4a
JM
519Thu Jun 6 09:52:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
520
521 * hw_disk.c (SEEK_SET): If SEEK_SET is not defined, define as 0.
522
523Wed Jun 5 11:46:52 1996 Andrew Cagney <cagney@puddin>
524
525 * hw_disk.c: Include <unistd.h> if available. Under SunOS, that
526 is the source of SEEK_SET.
527
8477437c
MM
528Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
529
530 * psim.c (psim_options): Correct type of dummy arguments being
531 passed to a device_ioctl call.
532
533 * hw_init.c (hw_data_init_data_callback): Adjust printf arguments.
534 (write_stack_arguments): Ditto.
535 * hw_trace.c: Instance callback entry no longer a table.
536
537Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
538
539 * emul_unix.c (do_unix_umask): Cast printf argument.
540 (convert_to_linux_termios): Use LINUX_VSWTC not LINUX_VSWCH
541
5b18a1a0
MM
542Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
543
8477437c 544 * hw_init.c (update_for_binary_section): Abort if we find an
fe098bf4
MM
545 .interp section, which indicates the need for shared libraries to
546 be loaded.
547
8477437c
MM
548Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
549
5b18a1a0
MM
550 * emul_unix.c (do_unix_{time,gettimeofday,getrusage}): Add support
551 for time, gettimeofday, and getrusage system calls.
552 ({solaris,linux}_descriptors): Add new system calls.
553 (do_get{,e}{uid,gid}): Use gid_t/uid_t types.
554 (do_get{,p}pid): Use pic_t types.
555
556 * configure.in (AC_TYPE_{GETGROUPS,SIGNAL}): Define.
557 (AC_TYPE_{MODE,OFF,PID,SIZE,UID}_T): Define.
558 * config{.in,ure}: Regenerate.
559
8477437c
MM
560Mon Jun 3 23:19:57 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
561
562 * emul_netbsd.c (emul_netbsd_create): Use the more specific names
563 `ppc-elf' and `ppc-xcoff' for the stack-type.
564 * emul_unix.c (emul_unix_create): Ditto.
565 * emul_bugapi.c (emul_bugapi_create): Ditto.
566 * hw_init.c: Reconize the new names.
567
568 * emul_unix.c (do_unix_break): Adjust so that the updated ioctl
569 call is used (no system parameter).
570
88f1eac4
MM
571Sun Jun 2 11:21:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
572
573 * emul_unix.{h,c}: New files to provide Solaris and Linux system
574 call emulations.
575
576 * Makefile.in (LIB_{SRC,OBJ}): Add emul_unix.{c,o}.
577 (os_emul.o): Depend on emul_unix.h.
578 (emul_unix.o): New dependency.
579
580 * configure.in (--enable-sim-alignment): Add 0|default to mean set
581 alignment to 0, which means use appropriate alignment for mode.
582 (AC_CHECK_FUNCS): Add new functions needed by emul_unix.c.
583 (AC_CHECK_HEADERS): Add new include files needed by emul_unix.c.
584 * config.in: Regenerate.
585 * configure: Regenerate.
586
587 * emul_generic.c (emul_write2_status): New function to return
588 results in r3 and r4 for Solaris system calls.
589 (emul_do_system_call): If the system call is not support, but
590 there is a string for the system call name, print out the string
591 instead of the system call number.
592
593 * emul_generic.h (emul_write2_status): Declare it.
594
595 * emul_netbsd.c: Use /* */ around comment on #endif.
596
597 * os_emul.c: Include emul_unix.h.
598 (os_emulations): Add emulations for Solaris, and Linux.
599
600 * psim.c (psim_usage): Add message about solaris, linux
601 emulations.
602
8477437c
MM
603Thu May 30 00:00:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
604
605 * hw_iobus.c: Tidy up notes so that they can be auto-extracted.
606
607 * README: Correct PSIM's title
608
609Wed May 29 23:50:26 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
610
611 * basics.h: New global type object_disposition, used to indicate
612 the status of objects when things are restarted.
613
614Fri May 17 17:28:52 1996 Andrew Cagney <cagney@benjimen.highland.com.au>
615
616 * device_table.h: Change the interrupt descriptor structure so
617 that it includes an additional member - an upper bound on the
618 interrupts by that name.
619
620 * device.c (device_interrupt_decode): Allow a range of interrupt
621 ports (eg rst0 .. rst6) if the port descriptors bound is non zero.
622
623 * device.c (device_tree_print_device): Include a list of valid
624 interrupt ports when listing supported devices.
625
626 * device.h, device.c (device_child_interrupt_*): Delete. Not used.
627
628 * emul_generic.c (emul_add_tree_hardware): Modify the creation of
629 the interrupt net so that it uses int0 .. intN.
630
631Tue May 14 23:03:53 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
632
633 * device.h, device.c (device_ioctl): Drop the system argument.
634 Devices can not obtain this using the device_system() call.
635 * device_table.h: Adjust accordingly.
636 * hw_*.c: Adjust accordingly.
637 * emul_netbsd.c (do_break): Adjust call to vm device accordingly.
638 * psim.c (psim_options): Use a device_ioctl call to force the
639 hw_trace device to update the trace options.
640 * hw_trace.c: Replace the init function with an ioctl call. Adjust
641 doc accordingly.
642
643 * psim.c (psim_init): Re-order initialization so that the
644 os-emulation is initialized after the device tree. Without this,
645 os-emul's are not able to create instances or access properties
646 that contain an instance handle.
647
648 * device.h, device.c (device_add_*_property): Make these functions
649 internal to device.c. The user has access to the more generic
650 device_tree_add_parsed function. Differentiate between the initial
651 and current value for each property.
652 * (clean_device_properties): New function that deletes any
653 properties created after the start of a simulation and restores
654 the initial value of any others (ignoring ihandles).
655 * (init_device_properties): (Re)Initialize any properties that
656 contain ihandles. create
657
658 * (device_tree_init): Include calls to clean the device tree's
659 properties and then initialize them. Document this in the device.h
660 file.
661
662Mon May 6 17:36:15 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
663
664 * interrupts.c (decrementer_interrupt): Always pend a decrementer
665 interrupt even if it is not yet possible to deliver it.
666
667Wed May 1 12:26:51 1996 Andrew Cagney <cagney@benjimen>
668
669 * mon.h, mon.c (mon_get_number_of_insns): Make this externally
670 visable adjusting the arguments so that the interface is correct.
671 (mon_print_info): Adjust calls.
672
673 * registers.h, registers.c (register_description): Add phony
674 cycle, insn and stall registers.
675
676 * psim.c (psim_read_register): Return nr of instructions for given
677 processor.
678
679Tue Apr 30 22:09:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
680
681 * hw_htab.c: New file. Extract contents from disk_table.c.
682 Contains a device that, during initialization will create a
683 PowerPC htab in memory.
684 * hw_register.c: New file. Extract contents from disk_table.c.
685 Contains a device that, during initialization, will parse its
686 property list and use that to initialize various processor
687 registers (not target specific).
688 * hw_vm.c: New file. Extract contents from disk_table.c. Contains
689 a device that handles accesses to invalid virtual memory addresses
690 (in user mode).
691 * hw_init.c: New file. Extract contents from disk_table.c. Misc
692 devices that can initialize memory from a file.
693 * hw_trace.c: New file. Extract contents from disk_table.c.
694 Configure trace options from property values.
695
696 * Makefile.in (hw_htab.o, hw_register.o, hw_vm.o, hw_init.o,
697 hw_trace.c): Add new device files.
698
699 * device_table.c: Remove above code, now in separate independant
700 files.
701
702Fri Apr 26 00:00:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
703
704 * hw_disk.c: New file. Disk and CDROM device.
705
706 * Makefile.in (hw_disk.o): Add device hw_disk.c.
707
708 * pk_disklabel.c: New file. Implement the miss-named disk-label
709 package.
710
711 * Makefile.in (pk.h): Create the file pk.h that contains a list of all
712 the packages.
713
714 * Makefile.in (hw.h, hw.c): Add dependancy on Makefile so that
715 they are re-created when the makefile is updated.
716
717 * emul_generic.c (emul_add_tree_hardware): Add a disk device
718 (below the iobus) to the device tree. Include an ihandle of
719 the disk as /chosen/disk.
720
721 * emul_bugapi.c (emul_bugapi_create): Don't initialize the input,
722 output and (new) disk handles yet.
723 * (emul_bugapi_init): Initialize the input, output (and just added)
724 disk ihandles here.
725 * (emul_bugapi_do_diskio): New. Performs disk i/o (well at least
726 what I think the behavour is).
727 * emul_bugapi.c (emul_bugapi_instruction_call): Add hook to disk
728 i/o bug call. For RETURN call, exit using gpr[3]'s status even
729 though this isn't part of the spec - makes it possible for machine
730 code to signal the aporting of a simulation run.
731
732 * emul_chirp.c (chirp_emul_call_method): Add support for the
733 claim/release methods.
734 * (chirp_emul_exit): Add an optional exit status argument to
735 the exit method. Makes it possible for chirp emul simulations
736 to abort upon an error.
737 * device.h, device.c (device_instance_claim,
738 device_instance_release): New methods for claiming and releasing
739 memory.
740 * hw_memory.c: add claim and release memory methods.
741 * hw_*: Use the claim memory method when allocating physical
742 memory.
743
744Thu Apr 18 23:38:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
745
746 * hw_nvram.c (hw_nvram_update_clock): Use the current not previous
747 time when updating the clock.
748
749 * hw_nvram.c: Tidy up documentation
750
f64dbcdd
MM
751Fri May 24 10:08:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
752
0c18e3f0
MM
753 * configure.in (AC_STRUCT_ST_{BLKSIZE,BLOCKS,RDEV}): Use these
754 macros to determine whether or not the appropriate st_<xxx> fields
755 exist in the stat structure.
756 (AC_CHECK_FUNCS): Check for all unix system calls used, except for
757 the real basic ones like open, read, write, etc.
758 * config{.in,ure}: Regenerate.
759
760 * emul_netbsd.c: Add support for missing system calls, and/or
761 missing stat fields.
119b85f6
MM
762 (MAXPATHLEN): Undefine if including unistd.h, since sys/param.h
763 might define it.
0c18e3f0 764
f64dbcdd
MM
765 * hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL
766 are not defined.
767 (scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or
768 F_SETFL not defined.
769
770Tue May 21 17:24:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
771
772 * emul_netbsd.c (write_stat): Don't convert st_blocks unless the
773 host is netbsd.
774
d61eb812
MM
775Thu May 16 10:56:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
776
777 * configure.in (AC_CHECK_HEADERS): Add sys/ioctl.h.
778 * config{.in,ure}: Regenerate.
779 * emul_netbsd.c: If HAVE_SYS_IOCTL_H is not defined, don't include
780 sys/ioctl.h.
781
048668d3
MM
782Tue May 7 17:28:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
783
784 * hw_pal.c (hw_pal_instance_read_callback): Remove unused
785 variable.
786
787 * misc.c ({,target_}a2i): Rewrite to not use strtoul.
788
789 * Makefile.in ({spreg,misc}.o): Add dependency on .c file.
790 ({i,d}gen): Don't link in liberity. Use BUILD_LIBS instead of
791 LIBS.
792
1ed0c0e7
MM
793Mon May 6 11:31:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
794
795 * hw_pal.c (hw_pal_instance_read_callback): If using stdio, use
796 fgets to read line. If not using stdio, do a simple blocking read
797 of len bytes.
798
08dc78ad
MM
799Fri May 3 15:07:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
800
801 * Makefile.in: Correctly build simulator for build machine != host
802 machine.
803
a72d2509 804Tue Apr 30 18:46:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
997f0ee9 805
a72d2509
MM
806 * configure.in (--enable-hostendian): Rework so the default uses
807 the AC_C_BIGENDIAN results. Only run AC_C_BIGENDIAN if not cross
808 compiling.
809 * configure: Regenerate.
810
811 * sim-endian.h: Add more tests for host endian to support more
812 platforms in a cross compilation environment.
64646bd3 813
a72d2509 814Wed Apr 17 14:38:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
64646bd3 815
a72d2509
MM
816 * hw_pal.c ({scan,write}_hw_pal): If WITH_STDIO == DO_USE_STDIO,
817 use stdio, instead of unpended read/printf_filtered.
818 (hw_pal_instance_write_callback): If WITH_STDIO == DO_USE_STDIO,
819 flush stdout after writing the characters.
d6103e8e 820
6740925b
MM
821 * options.c (print_options): Print out WITH_STDIO.
822
d6103e8e
MM
823 * Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@
824 configuration variable.
825 (CONFIG_CFLAGS): Include STDIO_CFLAGS.
a72d2509
MM
826 (hw.{c,h}): Allow for source dir != build dir, and for HW_SRC
827 files to contain directory pieces.
d6103e8e
MM
828
829 * std-config.h (DO{,NT}_USE_STDIO): New flags for whether we
830 should use stdio for console input.
831 (WITH_STDIO): If not defined, define as DONT_USE_STDIO.
832
833 * configure.in (--enable-sim-stdio): Add new switch to control
834 whether stdio is used for console I/O.
835 * configure: Regenerate.
836
a72d2509
MM
837 * interrupts.c (external_interrupt): Declare it to be
838 INLINE_INTERRUPTS, not INLINE_CPU.
1dc7c0ed 839
a72d2509 840Mon Apr 15 23:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
1dc7c0ed 841
a72d2509
MM
842 * events.c (insert_event_entry): Allow events to be scheduled
843 *NOW* (at delta time 0). Add assertions to clarify behavour of
844 event queue.
1dc7c0ed 845
a72d2509
MM
846 * events.c (update_time_from_event): New function. Calculates the
847 number of ticks from the next event. Use this.
1dc7c0ed 848
a72d2509 849Sun Apr 14 21:39:45 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 850
a72d2509
MM
851 * emul_netbsd.c (do_break): Return 0 if success (instead of
852 adjusted break).
1dc7c0ed 853
a72d2509
MM
854 * device_table.c (vm_ioctl_callback): Don't return adjusted break
855 (isn't needed).
1dc7c0ed 856
a72d2509 857Sun Apr 14 21:32:41 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 858
a72d2509
MM
859 * device_table.h: Change type of the device ioctl so that it
860 returns an int (status).
861 * device.h (device_ioctl): Ditto.
862 * device.c (device_ioctl): Ditto.
1dc7c0ed 863
a72d2509
MM
864 * device_table.c (stack_ioctl_callback): Return 0 status.
865 (vm_ioctl_callback): Ditto
1dc7c0ed 866
8477437c
MM
867Sat Apr 13 00:00:24 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
868
869 * emul_netbsd.c (do_read): Correctly set the return value.
870 (do_getpid): Ditto.
871 (do_getuid): Ditto.
872 (do_geteuid): Ditto.
873 (do_dup): Ditto.
874 (do_getegid): Ditto.
875 (do_getgid): Ditto.
876 (do_sigprocmask): Ditto.
877 (do_umask): Ditto.
878 (do_dup2): Ditto.
879 (do_gettimeofday): Ditto.
880 (do_getrusage): Ditto.
881 (do_fstat): Ditto.
882 (do_stat): Ditto.
883 (do_lseek): Ditto.
884 (do___sysctl): Ditto.
885
886Fri Apr 12 20:56:47 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
887
888 * device_table.c (vm_ioctl_callback): Don't access the processor
889 registers directly, instead leave it to the caller to handle this.
890
891 * emul_netbsd.c (do_break): Which calls vm_ioctl_callback to
892 perform a break. Pass in the new break value and set the
893 registers according to the result.
894
895 * emul_generic.c (emul_write_status): Change so that r3 contains
896 either status or errno and failure is indicated by SO.
897
898Thu Apr 4 23:03:38 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
899
900 * emul_bugapi.c (emul_bugapi_create): More strict check of OEA
901 address.
902
a72d2509 903Thu Apr 4 20:58:05 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 904
a72d2509
MM
905 * interrupts.h (interrupts): New structure contains state of
906 pending interrupts.
1dc7c0ed 907
a72d2509
MM
908 * cpu.c (cpu_interrupts): New function. Pending interrupt status
909 in the cpu and grant access to it. Add interrupts to cpu
910 structure.
1dc7c0ed 911
a72d2509 912Fri Mar 29 22:09:25 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 913
a72d2509
MM
914 * device.c (device_tree_add_parsed): Check that the creation of a
915 device instance worked before using it.
1dc7c0ed 916
a72d2509
MM
917 * psim.c (psim_halt): Remove cia argument from psim_halt. This
918 function does not save the CIA so do not pass it in.
1dc7c0ed 919
a72d2509 920Fri Mar 29 21:30:56 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 921
a72d2509
MM
922 * hw_pal.c (hw_pal): Merge the halt and icu and console devices
923 found in device_table.c into a single hack pal.
1dc7c0ed 924
a72d2509 925 * device_table.c (halt, icu, console): Delete.
1dc7c0ed 926
a72d2509 927 * Makefile.in (hw_pal.o): New dependency.
1dc7c0ed 928
a72d2509
MM
929 * emul_generic.c (emul_add_tree_hardware): Re-arange device tree
930 so that it uses the pal instead of the icu/halt/console devices.
931 Wire the pal's interrupt ports up to the cpu nodes.
1dc7c0ed 932
a72d2509 933Fri Mar 29 20:17:17 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 934
a72d2509
MM
935 * hw_iobus.c (hw_iobus_attach_address_callback): Move from
936 device_table.c to here.
1dc7c0ed 937
a72d2509 938 * Makefile.in (hw_iobus.o): New dependency.
1dc7c0ed 939
8477437c
MM
940Fri Mar 29 12:17:58 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
941
942 * emul_bugapi.c (_os_emul_data): Add fields for output, input.
943 (emul_bugapi_create): Create input, output from /chosen/stdin and
944 /chosen/stdout.
945 (emul_bugapi_do_{read,write}): Switch to use device_instance
946 interface.
947 (emul_bugapi_instruction_call): Change calls to
948 emul_bugapi_do_{read,write} to pass device instance argument.
949
950Tue Mar 26 14:57:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
951
952 * igen.c (idecode_switch_end): Fix 2/26 change so that an extra
953 default is not written out if a default was already written.
954
955 * psim.c (psim_{read,write}_register): Use sizeof unsigned_8 to
956 size cooked_buf, not sizeof natural_word, since floating point
957 registers are 8 bytes.
958
a72d2509 959Mon Mar 25 22:07:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
1dc7c0ed 960
a72d2509 961 * configure: Regenerate with autoconf 2.9.
1dc7c0ed 962
a72d2509 963Thu Mar 21 00:14:26 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 964
a72d2509 965 * device_table.h: Always include string headers.
1dc7c0ed 966
8477437c
MM
967Thu Mar 21 00:06:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
968
969 * main.c (error): Be careful to not try to print out statistics
970 when the simulation was never created.
971
a72d2509 972Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 973
a72d2509
MM
974 * basics.h: Move the event queue's definition to here so that it
975 can be refered to globally with out importing all of events.h.
1dc7c0ed 976
a72d2509
MM
977 * psim.h, psim.c (psim_event_queue): New function. Grant access
978 to the simulation event queue. Will make this the single point of
979 access (there is after all only one event queue in the
980 simulation).
1dc7c0ed 981
a72d2509
MM
982 * cpu.c (cpu_create): Use psim_event_queue to obtain the event
983 queue instead of it being passed in. No longer allow access to
984 the cpu's copy of the event queue.
1dc7c0ed 985
a72d2509 986Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 987
a72d2509
MM
988 * events.h, events.c (event_handler): Remove event_queue from
989 arguments passed to an event handler. That argument is redundant
990 - the `data' should refer to a data structure that contains the
991 event queue if queing is needed.
1dc7c0ed 992
a72d2509 993 * cpu.c (cpu_decrement_event): adjust
1dc7c0ed 994
a72d2509 995 * events.c (event_queue_process): adjust
1dc7c0ed 996
a72d2509 997Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
1dc7c0ed 998
a72d2509
MM
999 * device.h, device.c (device_system): New, returns a handle for
1000 the system given the device.
1dc7c0ed 1001
a72d2509
MM
1002 * device.c (device_address_init): Store a pointer back to the
1003 system in each devices node.
1dc7c0ed 1004
a72d2509
MM
1005 * device_table.h: Don't pass `system' into each device when it is
1006 being initialized, this is now available using device_system(me).
1dc7c0ed 1007
a72d2509 1008 * device.c (device_address_init, device_data_init): Adjust.
4f965b81 1009
a72d2509
MM
1010 * hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c:
1011 Adjust.
4f965b81 1012
a72d2509 1013Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
4f965b81 1014
a72d2509
MM
1015 * interrupts.c (decrementer_interrupt, external_interrupt):
1016 Remember that an interrupt wasn't delivered so that it can be
1017 tried again later.
4f965b81 1018
a72d2509
MM
1019 * interrupts.c (check_masked_interrupt): New function. (re)
1020 checks for the posibility that a recent change to the MSR may have
1021 made it possible to deliver an interrupt that was previously
1022 masked be the EE bit.
4f965b81 1023
a72d2509
MM
1024 * ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of
1025 a pending interrupt being delivered using check_masked_interrupt().
4f965b81 1026
a72d2509
MM
1027 * cpu.c (cpu_decrement_event): Just call decrementer_interrupt()
1028 leaving it to that module to handle both interrupt synchronization
1029 and masking.
4f965b81 1030
a72d2509
MM
1031 * cpu.c (struct _cpu): remove variables that were going to record
1032 pending decrementer and external interrupts.
cb7a6892 1033
a72d2509 1034Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
cb7a6892 1035
a72d2509
MM
1036 * hw_cpu.c, hw_cpu.h: New files. Implement a device that sits
1037 between the interrupt controller and the simulators internal
1038 processor model. Maps device interrupts onto the processor
1039 interrupt function calls.
cb7a6892 1040
a72d2509 1041Mon Mar 4 06:06:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
cb7a6892 1042
a72d2509
MM
1043 * hw_nvram.c: NVRAM device that includes a real-time clock that is
1044 updated each second.
cb7a6892 1045
a72d2509 1046Mon Mar 4 04:18:50 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
cb7a6892 1047
a72d2509
MM
1048 * device.h (attach_type): Remove attach_default type address
1049 spaces. Will replace with levels of callback memory.
cb7a6892 1050
a72d2509
MM
1051 * corefile.h, corefile.c (new_core_mapping), corefile.c
1052 (core_map_attach): Replace default attach with a layerd callback
1053 approach.
cb7a6892 1054
a72d2509 1055Sun Mar 3 03:58:46 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
cb7a6892 1056
a72d2509
MM
1057 * device.c (split_property_specifier): ensure that only a single
1058 property is found.
1059 (split_value): New function, parses the value part of a device
1060 spec.
cb7a6892 1061
a72d2509
MM
1062 * device.c (device_tree_add_parsed): Use the interrupt conversion
1063 functions to determine the interrupt port numbers.
cb7a6892 1064
a72d2509
MM
1065 * device_table.h: Add table that maps between an interrupts
1066 symbolic name and its port number.
cb7a6892 1067
a72d2509
MM
1068 * device.h, device.c (device_interrupt_decode,
1069 device_interrupt_encode): new functions use the recently added
1070 interrupt port name/number tables to perform conversion.
cb7a6892 1071
a72d2509 1072Sun Mar 3 03:23:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
cb7a6892 1073
a72d2509
MM
1074 * device.h, device.c (device_set_array_property,
1075 device_set_boolean_property, device_set_ihandle_property,
1076 device_set_integer_property, device_set_string_property): New
1077 functions - allow the value of a given property to be changed.
cb7a6892 1078
a72d2509
MM
1079 * device.h, device.c: Re-order declaration and definition of
1080 property functions.
cb7a6892 1081
a72d2509 1082Sun Mar 3 03:10:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
cb7a6892 1083
a72d2509
MM
1084 * device.c (device_tree_print_device, device_tree_add_parsed):
1085 Remove references to phandle properties.
cb7a6892 1086
8477437c
MM
1087Wed Feb 28 00:43:07 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
1088
1089 * Makefile.in (corefile.o): missing dependency on device_table.h
1090 etc.
1091
a72d2509 1092Tue Feb 27 23:59:35 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
cb7a6892 1093
a72d2509
MM
1094 * device_table.h: Revamp device init callbacks so that they are a
1095 sub structure.
1096 * device.c (device_init_data, device_init_address): If an init
1097 callback is NULL assume it should do nothing.
1098 * device_table.c (ignore_device_init, unimp_device_init): delete
1099 as redundant.
1100 * device_table.c, hw_memory.c: adjust.
cb7a6892 1101
a72d2509
MM
1102 * (io): ditto.
1103 * (dma): ditto.
1104 * (device_instance): ditto.
1105 * (ioctl): ditto.
1106 * (address nee config_address): ditto.
1107 * (interrupt): ditto.
cb7a6892 1108
8477437c
MM
1109Mon Feb 26 21:11:20 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
1110
1111 * igen.c (idecode_switch_end): Output a default entry when the
1112 switch statement is perfect. Firstly stops GCC complaining about
1113 an incomplete switch and secondly it will be eliminated by a good
1114 compiler any way.
1115
a72d2509 1116Mon Feb 26 22:47:15 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
cb7a6892 1117
a72d2509
MM
1118 * Makefile.in (hw.h, hw.c): New targets. Create from the list of
1119 hw_*.c files. hw.h declares a device descriptor table for each hw
1120 device while hw.c lists those tables in a form suitable for the
1121 construction of a top leveltable in device_table.c.
cb7a6892 1122
a72d2509
MM
1123 * Makefile.in (device_table.o): now depends on hw.c a generated
1124 table of hw.
cb7a6892 1125
a72d2509
MM
1126 * device_table.c (device_table): Re-arange the table of devices so
1127 that two levels are possible. Make use of hw.c.
1128 * device_table.h: ditto.
cb7a6892 1129
a72d2509
MM
1130 * device.c (device_template_create_device): Handle new two level
1131 device lookup table.
1132 * device.c (device_usage): ditto.
cb7a6892 1133
a72d2509 1134Mon Feb 26 22:24:00 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
cb7a6892 1135
a72d2509 1136 * device_table.c: Delete the memory device (moved to hw_memory.c).
cb7a6892 1137
a72d2509 1138 * hw_memory.c: New file. Just an OpenBoot memory device.
8477437c
MM
1139
1140Wed Jan 17 21:47:34 1996 Andrew Cagney <cagney@highland.com.au>
1141
1142 * device.c (device_init_address): New. Split initialization into
1143 two stages, address and address spaces
1144 * device.c (device_init_data): New. ... and data or other work.
1145 With out this, devices try to modify memory before it as been
1146 attached.
1147
1148 * device.c (device_tree_init): Update to perform staged
1149 initialization.
1150
1151 * device.c (device_init): Delete.
1152
1153Wed Jan 17 21:43:09 1996 Andrew Cagney <cagney@highland.com.au>
1154
1155 * device_table.c (data_*): Rewrite to make heaver use of property
1156 nodes. Allow initialization by different data types.
1157 * device_table.c (htab_* pte_*): Rewrite to use properties.
1158
1159 * emul_chirp.c (emul_chirp_create): Use
1160 * emul_bugapi.c (emul_bugapi_create): Ditto
1161 * emul_netbsd.c (emul_netbsd_create): Ditto
1162
1163Wed Jan 17 21:24:50 1996 Andrew Cagney <cagney@highland.com.au>
1164
1165 * emul_generic.c (emul_add_tree_options): Annotate existing tree
1166 with options that haven't yet been specified.
1167 * emul_generic.c (emul_add_tree_hardware): Annotate existing tree
1168 with demo devices and properties.
1169
1170 * emul_chirp.c (emul_chirp_create): Update to use new
1171 device_tree_add_parsed call and additional information now
1172 included in the device tree. Use emul_add_tree* functions to add
1173 any missing details.
1174 * emul_bugapi.c (emul_bugapi_create): Ditto
1175 * emul_netbsd.c (emul_netbsd_create): Ditto
1176
1177Wed Jan 17 21:18:27 1996 Andrew Cagney <cagney@highland.com.au>
1178
1179 * device.c (device_instance_create): New. Create/delete and
1180 operate on instances of a device.
1181 * device.c (device_instance_delete): Ditto
1182 * device.c (device_instance_read): Ditto
1183 * device.c (device_instance_write): Ditto
1184 * device.c (device_instance_seek): Ditto
1185 * device.c (device_instance_data): Ditto
1186 * device.c (device_instance_name): Ditto
1187 * device.c (device_instance_path): Ditto
1188
1189 * emul_chirp.c (chirp_emul_open): Implement using device_instance.
1190 * emul_chirp.c (chirp_emul_close): Ditto
1191 * emul_chirp.c (chirp_emul_read): Ditto
1192 * emul_chirp.c (chirp_emul_write): Ditto
1193 * emul_chirp.c (chirp_emul_seek): Ditto
1194
1195 * emul_chirp.c (chirp_read_t2h_args): Read arguments from device.
1196 Being careful to convert all from target to host byte order.
1197 * emul_chirp.c (chirp_write_h2t_args): Converse.
1198
1199Wed Jan 17 20:07:15 1996 Andrew Cagney <cagney@highland.com.au>
1200
1201 * device.c (device_tree_add_parsed): New. Rewrite code to add
1202 devices to the device tree so that a single printf style function
1203 is used.
1204
1205 * device.c (device_tree_add_*): Delete. Replaced by above.
1206
1207 * device.c (split_device_specifier): Functions to manipulate a
1208 device specifier (path) breaking it into its components
1209 * device.c (split_property_specifier): Ditto
1210 * device.c (split_device_name): Ditto
1211 * device.c (split_find_device): Ditto
1212
1213 * device.c (scan_*): Delete
1214
1215 * device.c (device_tree_find_device): Rewrite to use above.
1216 * device.c (device_add_property): Ditto
1217
1218Wed Jan 17 19:51:56 1996 Andrew Cagney <cagney@highland.com.au>
1219
1220 * psim.c(psim_options): Parse the psim options, installing their
1221 value in the device tree. Options are now first entered into a
1222 device tree and then extracted out again when needed. This allows
1223 greater flexability in configuration.
1224
1225 * psim.c (psim_tree): Returns a basic device tree ready for
1226 parsing by psim_options.
1227 * psim.c (psim_usage): New. Give usage to varing levels of detail
1228 according to the verbosity. In turn output device and trace
1229 usage.
1230
1231 * main.c (main): Update to use new system
1232 * sim_calls.c (sim_open, sim_do_command): Ditto
1233
1234 * psim.c (psim_options): Add `r' option - ram size.
1235 * psim.c (psim_options): Add `o' option - openboot tree entry.
1236 * psim.c (psim_options): Add `h'/`H' options - more help.
1237
1238 * debug.c (trace_usage): Add more detailed help.
1239 * device.c (device_usage): New. Output help including a list of
1240 the devices currently available in the device table.
1241 * device_table.c: Add usage operator to each device.
1242
1243 * corefile.c (core_create, core_device_create): Adjust so that the
1244 core device is created earlier for psim_tree(). Core can later be
1245 created from it.
1246
1247 * psim.c (psim_create): Update to handle above way of creating
1248 things. Extract all information from the device tree.
1249
1250 * device_tree.c (trace_*): New device node, its properties are
1251 used to set the value of the trace options. Init this device (in
1252 psim_options) when ever the options are updated.
1253
1254Wed Jan 17 19:46:07 1996 Andrew Cagney <cagney@highland.com.au>
1255
1256 * debug.h: Add trace_print_info, trace_print_device_tree and
1257 trace_dump_device_tree. The first is a replacement for the
1258 variable `print_info' found in main.c and sim_calls.c. The latter
1259 two enable the dumping of the entire device tree.
1260
1261 * debug.c: Add to trace_description table.
1262
1263 * main.c (main): Use above trace instead of local variable
1264 * sim_calls.c (sim_close): Ditto
1265
1266 * device.c (device_tree_print_device): New. Prints the device
1267 tree in a format that is consistent with what can be parsed by the
1268 device tree load from file code.
1269
1270 * psim.c (psim_create): Dump device tree if enabled. If nump
1271 selected, exit psim immediatly.
1272
1273Wed Jan 17 19:36:52 1996 Andrew Cagney <cagney@highland.com.au>
1274
1275 * corefile-n.h (core_map_read_N): When mapping from an address to
1276 a device, do not subtract the devices base. The device its self
1277 can do this. Brings the behavour into line with OpenBoot.
1278 * corefile-n.h (core_map_write_N): Ditto
1279 * corefile.c (core_map_read_buffer): Ditto
1280 * corefile.c (core_map_write_buffer): Ditto
1281
1282 * device_table.c (console_io_read_buffer_callback): Adjust to
1283 handle biased address.
1284 * device_table.c (console_io_write_buffer_callback): Ditto
1285
1286Wed Jan 17 18:36:09 1996 Andrew Cagney <cagney@highland.com.au>
1287
1288 * device.c (attach_device_interrupt_edge): New. Interrupt model
1289 did not allow interrupts to be wired up as a general net (edges).
1290 Re-implement so that interrupt events can be passed to multiple
1291 controllers and interrupt controllers can further propogate
1292 interrupt events.
1293
1294 * device.c (attach_device_interrupt_edge) : New, Ditto
1295 * device.c (detach_device_interrupt_edge) : New, Ditto
1296 * device.c (clean_device_interrupt_edges) : New, Ditto
1297 * device.c (device_interrupt_event) : New, Ditto
1298 * device.c (device_interrupt_attach) : New, Ditto
1299 * device.c (device_interrupt_detach) : New, Ditto
1300 * device.c (device_child_interrupt_attach) : New, Ditto
1301 * device.c (device_child_interrupt_detach) : New, Ditto
1302
1303 * device.c (device_attach_interrupt) : Delete old
1304 * device.c (device_detach_interrupt) : Delete old
1305 * device.c (device_interrupt) : Delete old
1306 * device.c (device_interrupt_ack) : Delete old
1307
1308 * device_table.c (unimp_*) : Update to match
1309
1310 * device_table.c (icu_io_write_buffer_callback) : Update to use
1311 interface.
1312 * device_table.c (icu_interrupt_event_callback) : Ditto
1313
1314Wed Jan 17 18:18:40 1996 Andrew Cagney <cagney@highland.com.au>
1315
1316 * device.c (external_to_device) : New function that provides a
1317 standard mapping between a devices internal representation (a
1318 pointer) and its external (or what is passed to a client)
1319 representation (a phandle). Implement using the cap object
1320 attached to the root node.
1321
1322 * device.c (device_to_external) : Ditto
1323 * device.c (external_to_device_instance) : Ditto but for ihandle
1324 and device instance.
1325 * device.c (device_instance_to_external) : Ditto
1326
1327 * Makefile (device.o): Add dependency on cap.
1328
1329 * emul_chirp.c (struct _emul_chirp_data) : Elimate use of cap. Code
1330 needing to translate between internal and external representations
1331 changed to use the external_to_device et.al. device operations.
1332 * emul_chirp.c (chirp_emul_*) : Ditto
1333
1334 * Makefile (emul_chirp.o): Remove dependency on cap
1335
1336Sat Jan 6 10:13:26 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
1337
1338 * emul_chirp.c (map_over_chirp_note): Tighten up (and fix) checks
1339 on OpenBoot note section.
1340
1341Fri Jan 5 20:28:53 1996 Andrew Cagney <cagney@hignland.com.au>
1342
1343 * emul_generic.c (emul_write_buffer): Use vm faulting byte
1344 read/write calls for buffer transfers. This will cause a fault to
1345 occure if the transfer fails. CHRP catches the fault while the
1346 others suffer the consequences.
1347 (emul_read_buffer): Ditto.
1348 (emul_write_word): Ditto.
1349 (emul_read_word): Ditto.
1350 (emul_read_string): Ditto.
1351
1352Fri Jan 5 18:55:34 1996 Andrew Cagney <cagney@highland.com.au>
1353
1354 * emul_chirp.c (emul_chirp_create, emul_chirp_instruction_call),
1355 emul_generic (emul_blr_instruction): Use a real blr instruction to
1356 return from a client service call.
1357
1358 * emul_chirp.c (services): Add all OpenBoot services to table.
1359
1360 * emul_generic.h, emul_bugapi.c (emul_bugapi_create), emul_chirp.c
1361 (emul_chirp_create) : Use names instead of numbers for
1362 instructions being stored in memory.
1363
1364Fri Jan 5 18:52:28 1996 Andrew Cagney <cagney@highland.com.au>
1365
1366 * Makefile.in (maintainer-clean): Remove .log, core and *.core
1367 (From NetBSD) files.
1368
1369Wed May 29 22:57:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
1370
1371 * ChangeLog.00, ChangeLog: ChangeLog from gdb-4.16 becomes
1372 ChangeLog.00
1373
This page took 0.109014 seconds and 4 git commands to generate.