Turn off tk/tcl for powerpcle-*-solaris for now
[deliverable/binutils-gdb.git] / sim / ppc / ChangeLog
CommitLineData
997f0ee9
MM
1Thu Apr 4 15:17:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2
3 * INSTALL: Fix some long lines and remove x86 specific options in
4 the examples.
5
64646bd3
MM
6Sun Mar 31 15:47:33 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
7
997f0ee9 8 * INSTALL: Update to reflect gdb-4.16.
64646bd3 9
997f0ee9
MM
10 * RUN: Update to reflect gdb-4.16. Review notes on building a BSD
11 runtime environment.
64646bd3
MM
12
13 * README: Point out copyright status of simulator in introduction.
14
d6103e8e
MM
15Fri Mar 29 12:17:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
16
6740925b
MM
17 * options.c (print_options): Print out WITH_STDIO.
18
d6103e8e
MM
19 * Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@
20 configuration variable.
21 (CONFIG_CFLAGS): Include STDIO_CFLAGS.
22
23 * std-config.h (DO{,NT}_USE_STDIO): New flags for whether we
24 should use stdio for console input.
25 (WITH_STDIO): If not defined, define as DONT_USE_STDIO.
26
27 * configure.in (--enable-sim-stdio): Add new switch to control
28 whether stdio is used for console I/O.
29 * configure: Regenerate.
30
31 * device_table.c (console_use_stdio): New static variable set from
32 WITH_STDIO.
33 (scan_console): If console_use_stdio, use getchar to read byte
34 instead of doing polling I/O.
35 (write_console): If console_use_stdio, write byte with putchar.
36 (console_io_write_buffer_callback): If console_use_stdio, fflush
37 stdout.
38 (console_instance_write_callback): Ditto.
39 (console_instance_read_callback): If console_use_stdio, use fgets
40 to read line.
41
42Fri Mar 29 12:17:58 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
43
44 * emul_bugapi.c (_os_emul_data): Add fields for output, input.
45 (emul_bugapi_create): Create input, output from /chosen/stdin and
46 /chosen/stdout.
47 (emul_bugapi_do_{read,write}): Switch to use device_instance
48 interface.
49 (emul_bugapi_instruction_call): Change calls to
50 emul_bugapi_do_{read,write} to pass device instance argument.
51
4e956fd5
MM
52Wed Feb 28 00:43:07 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
53
54 * Makefile.in (corefile.o): missing dependency on device_table.h
55 etc.
56
7a543ca4
MM
57Tue Mar 26 14:57:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
58
59 * igen.c (idecode_switch_end): Fix 2/26 change so that an extra
60 default is not written out if a default was already written.
61
62 * psim.c (psim_{read,write}_register): Use sizeof unsigned_8 to
63 size cooked_buf, not sizeof natural_word, since floating point
64 registers are 8 bytes.
65
8a1d8a0b
MM
66Thu Mar 21 00:06:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
67
68 * main.c (error): Be careful to not try to print out statistics
69 when the simulation was never created.
70
71Thu Mar 7 19:53:49 1996 Michael Meissner <meissner@cygnus.com>
72
73 * emul_netbsd.c: Only include sys/mount.h if HAVE_SYS_MOUNT_H is
74 defined.
75 * configure.in: Test for sys/mount.h.
76 * configure,config.in: Regenerate.
77
78Mon Feb 26 21:11:20 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
79
80 * igen.c (idecode_switch_end): Output a default entry when the
81 switch statement is perfect. Firstly stops GCC complaining about
82 an incomplete switch and secondly it will be eliminated by a good
83 compiler any way.
84
0d02fbb8
MM
85Thu Feb 22 22:48:57 1996 Andrew Cagney <cagney@highland.com.au>
86
87 * README, RUN, INSTALL: Update to reflect announcement
88 * psim: PSIM 1.0.1 released
89
262faa54
MM
90Thu Feb 22 14:01:56 1996 Michael Meissner <meissner@tiktok.cygnus.com>
91
92 * emul_bugapi.c (emul_bugapi_do_read): New function to handle
93 reads.
94 (emul_bugapi_instruction_call): Add support for .INCHR/.INLN
95 system calls.
96
97 * emul_bugapi.c (emul_bugapi_do_write): Call flush_stdoutput.
98 * emul_netbsd.c (do_write): Call flush_stdoutput.
99
100 * main.c (flush_stdoutput): Do fflush (stdout).
101 * sim_calls.c (flush_stdoutput): Do gdb_flush (gdb_stdout);
102 * sim_callbacks.h (flush_stdoutput): Declare.
103
eada1efc
MM
104Wed Feb 21 10:39:35 1996 Michael Meissner <meissner@tiktok.cygnus.com>
105
ad836e02
MM
106 * emul_bugapi.c (bug_mapping): New structure to map bug system
107 call numbers to a string.
108 (toplevel): Add remaining bugapi system calls.
109 (emul_bugapi_instruction_name): Map bugapi system call number to a
110 string.
111 (emul_bugapi_do_write): Common code to process write system calls.
112 (emul_bugapi_instruction_call): If os-emul tracing is on, trace
113 the system call. Use the name to print unknown system call.
114 Correct implementation of _OUTLN. Add support for _OUTSTR and
115 _PCRLR system calls.
116
0d02fbb8
MM
117Wed Feb 21 17:07:27 1996 Andrew Cagney <cagney@highland.com.au>
118
119 * NOTES: New file. Ramblings on why things were done they way
120 they were.
121
122 * psim.c (psim_options): Didn't enter the model value into the
123 device tree as a string.
124
125 * cpu.c (cpu_synchronize_context): Wrong test for conditional
126 flush of cache.
127
128 * emul_generic.c (emul_add_tree_hardware): reg value didn't match
129 bus address.
130
131 * ppc-opcode-flat: new file. Generate an instruction decode
132 function like ppc-opcode-complex but use switch statements.
133
134 * INSTALL: document new opcode file, add example configurations.
135
136Tue Feb 20 18:42:31 1996 Andrew Cagney <cagney@highland.com.au>
137
138 * main.c (main): rename psim instance (system) to simulation and
139 make global.
140 * main.c (error): print out performance even when an error occures.
141
142 * emul_bugapi.c (emul_bugapi_create): Fix argument passing.
94feae28 143
0d02fbb8
MM
144 * emul_generic.c (emul_add_tree_hardware): Move hardware devices
145 to 0x80000000 from 0x400000.
eada1efc
MM
146
147Mon Feb 19 22:54:40 1996 Andrew Cagney <cagney@highland.com.au>
148
149 * ppc-instructions (TLB Invalidate Entry, TLB Invalidate ALL):
150 Implement by passing on request to all processors.
151 * ppc-instructions (TLB Synchronize): Implement as empty, processor
152 tlb's are always in sync.
153
154 * cpu.c (cpu_page_tlb_invalidate_all): New function. Pass on TLB
155 invalidate request to processors VM sub-system.
156 * cpu.c (cpu_page_tlb_invalidate_entry): Ditto.
157
158 * vm.c (vm_page_tlb_invalidate_all): New function. Mark all page
159 TLB entries as invalid.
160 * vm.c (vm_page_tlb_invalidate_entry): New function. Ditt but only
161 invalidate one TLB entry.
162
163 * psim.c (psim_init): Invalidate TLB's before (re)starting.
164
165Mon Feb 19 21:25:56 1996 Andrew Cagney <cagney@highland.com.au>
166
167 * emul_generic.c (emul_add_tree_options): Add argument
168 oea_interrupt_prefix (0 or 1) that specifies the prefix MSR[IP]
169 and hence the location of the interrupt vectors. Add this to the
170 device tree.
171
172 * emul_chirp.c (emul_chirp_create): Allow configuration of
173 floating-point and interrupt prefix (default 0) using the above.
174
175 * emul_netbsd.c (emul_netbsd_create): Pass dummy arg for
176 interrupt-prefix.
177
178 * emul_bugapi.c (emul_bugapi_create): Allow configuration of
179 interrupt prefix (default 1) and configure interrupt table traps
180 accordingly.
181
182 * emul_generic.c (emul_add_tree_hardware): Include a small eeprom
183 in the list of devices.
184
185 * device_table.c: For moment fake eeprom device by a memory
186 device. In future will need a proper eeprom device.
187
d271dd05
C
188Tue Feb 20 17:01:26 1996 J.T. Conklin <jtc@rtl.cygnus.com>
189
190 * config.in: Regenerated.
191
192Fri Feb 16 10:42:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
193
194 * psim.c: Include options.h so print_options is declared.
195
74eeaa7d
MM
196Thu Feb 15 18:10:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
197
198 * emul_netbsd.c (toplevel): Do not include sys/resource.h if the
199 system doesn't have it, and turn off getrusage processing.
200 (write_rusage): #ifdef out if we don't have getrusage.
201 (do_getrusage): Define as 0 if we don't have getrusage.
202
7393a6f0
MM
203Wed Feb 14 17:38:12 1996 J. T. Conklin <jtc@cygnus.com>
204
205 * configure.in (AC_HEADER_DIRENT): Add, so that we can figure out
206 where the directory functions are declared.
207 * configure: Regenerate
208
209 * emul_netbsd.c: Use the macros defined by configure to find the
210 appropriate directory functions.
211
d271dd05
C
212Thu Feb 8 00:53:13 1996 Andrew Cagney <cagney@highland.com.au>
213
214 * configure.in (xor_endian): Trace setting of xor-endian flag.
215
216Wed Feb 7 18:20:56 1996 Andrew Cagney <cagney@highland.com.au>
217
218 * psim.c (psim_usage): Extend documentation.
219
220 * ppc-instructions (model-print): fix typo.
221
222Sun Feb 4 23:58:02 1996 Andrew Cagney <cagney@highland.com.au>
223
224 * configure.in (with-smp): Default configuration allow up to
225 five processors (but enable only one).
226
227 * emul_bugapi.c (emul_bugapi_create): If floating-point is
228 allowed, enable the floating point instruction set in the
229 msr.
230
231Tue Jan 30 22:52:32 1996 Andrew Cagney <cagney@highland.com.au>
232
233 * emul_chirp.c (chirp_emul_seek, chirp_emul_read,
234 chirp_emul_write): Tolerate invalid ihandles.
235
236 * device.c (device_instance_create, device_instance_delete):
237 init/delete instance name
238
239 * emul_chirp.c (emul_chirp_instruction_call): Read the nr args and
240 returns when determining the service.
241
242 * emul_chirp.c (chirp_read_t2h_args): Allow variable number of
243 args for the method "call-method".
244
245 * emul_chirp.c (chirp_emul_getprop): Tolerate a n_returns of zero
246 - should be one. Some OpenBoot code doesn't pass correct arg.
247
248 * emul_chirp.c (chirp_emul_getprop): Trace more property types.
249
250Tue Jan 30 19:12:29 1996 Andrew Cagney <cagney@highland.com.au>
251
252 * RUN: New file. Describe how to run PSIM
253 * INSTALL: New file. Describe how to install PSIM
254 * README: New file. Overview PSIM.
255 * BUGS: New file. Briefly discuss bugs and limitations
256
257Wed Jan 24 20:28:08 1996 Andrew Cagney <cagney@highland.com.au>
258
259 * emul_bugapi.c (OEA_START_ADDRESS): Put it back to 0x100000,
260 wasn't correctly using GLD.
261
262Mon Jan 22 22:44:13 1996 Andrew Cagney <cagney@highland.com.au>
263
264 * emul_generic.c (emul_add_tree_options): Make default number of
265 active processors 1 (even when SMP enabled).
266
267Mon Jan 22 22:37:34 1996 Andrew Cagney <cagney@highland.com.au>
268
269 * device_table.c (icu_io_read_buffer_callback): Add extra register
270 (at addr + 4) that returns number of processors.
271
272 * emul_generic.c (emul_add_tree_hardware): Update device node to
273 match.
274
275Mon Jan 22 22:00:42 1996 Andrew Cagney <cagney@highland.com.au>
276
277 * emul_bugapi.c (OEA_START_ADDRESS): Change to 0x4000 so that it
278 matches gas-960116/ld.
279
280Fri Jan 19 00:32:27 1996 Andrew Cagney <cagney@highland.com.au>
281
282 * psim-960119 released - psim-1.0b01.
283
7393a6f0
MM
284Fri Jan 19 00:32:27 1996 Andrew Cagney - aka Noid <cagney@highland.au.com>
285
286 * psim.c (psim_create): Re-order so that all options are set
287 before the CPU's are created. Was breaking mon_create();
288
289 * psim.c (psim_create): Tidy up conflicting configuration errors.
290
291 * debug.c: Add missing print-info entry to trace table.
292
293 * os_emul.c (os_emul_create): Fix `-e' option. Was looking under
294 wrong name.
295
296 * psim.c (psim_options): Fix `-r' option. Was entering under wrong
297 name.
298
299Thu Jan 18 20:33:48 1996 Andrew Cagney <cagney@highland.com.au>
300
301 * vm.c (om_unpack_bats): Fix checking of bat bits.
302
303 * emul_chirp.c (emul_chirp_create): Store address of OB in memory
304 in the os_emul_data structure.
305
306 * emul_bugapi.c (emul_bugapi_create): Store the address of the
307 bugapi code (in main memory) in the os_emul_data structure.
308
309Thu Jan 18 01:14:55 1996 Andrew Cagney <cagney@highland.com.au>
310
311 * vm.c (om_translate_effective_to_real): Fix trace output.
312
313Wed Jan 17 22:21:55 1996 Andrew Cagney <cagney@highland.com.au>
314
315 * device_table.c (generic_device_init_address): Create memory from
316 information obtained from `reg' property.
317 * device_table.c (vm_init_address_callback): Use information
318 obtained from properties.
319 * emul_netbsd.c (emul_netbsd_create): Update to create device and
320 property entries to match
321
4ffd6ed0
MM
322Tue Jan 16 09:50:53 1996 Michael Meissner <meissner@tiktok.cygnus.com>
323
324 * idecode_expression.h (ALU_END): Add ITRACE of the result.
325
326 * ppc-instructions (Equivalent): Enable this instruction.
327 (Add to Minus One Extended): Ditto.
328 (Subtract from Minus One Extended): Ditto.
329 (Add/And/Or/Xor Immediate): Add alu trace of result.
330 (Add/And/Or/Xor Shifted Immediate): Ditto.
331 (And/Or/Equivalent/Nand/Nor): Ditto.
332 (And/Or with Complement): Ditto.
333 (Extend Sign Byte/Half Word): Ditto.
334 (Count Leading Zeros): Ditto.
335 (Shift Right Algerbraic Word): Ditto.
336 (Shift Right Algerbraic Word Immediate): Ditto.
337
52edddb9
MM
338Tue Jan 9 15:10:27 1996 Andrew Cagney <cagney@highland.com.au>
339
340 * emul_bugapi.c (emul_bugapi_instruction_call) : Make format type
341 correct.
342 * emul_chirp.c (map_over_chirp_note) : Ditto
343 * emul_chirp.c (chirp_emul_test) : Ditto
344 * device_table.c (register_init): Ditto
345
346Tue Jan 9 14:16:26 1996 Andrew Cagney <cagney@highland.com.au>
347
348 * configure.in: Make disable-sim-switch default. Switch only
349 useful if using --enable-sim-opcode=ppc-opcode-stupid and then
350 only marginally so.
351
979c3c25
MM
352Mon Jan 8 12:17:22 1996 Michael Meissner <meissner@tiktok.cygnus.com>
353
354 * device_table.c (register_init): Make format type correct.
355
356Wed Jan 3 19:21:46 1996 Andrew Cagney <cagney@highland.com.au>
357
358 * emul_bugapi.c (emul_bugapi_create): Add nodes to init the
359 system-call trap to the emul instruction call instruction (Along
360 with an rfi and infinate loop).
361
362 * emul_bugapi.c (emul_bugapi_instruction_call): Expand to include
363 a few real PPC bug calls. Test with simple hello world.
364
365Tue Jan 2 20:51:19 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
366
367 * device.h, device.c (device_child, device_sibling): New
368 functions. Return corresponding device value.
369
370 * emul_chirp.c (chirp_emul_child, chirp_emul_peer,
371 chirp_emul_parent): New functions - emulate corresponding OpenBoot
372 interfaces.
373
374 * device_table.c (register_init): Extend properties attached to
375 register init node to allow a specific processor's register to be
376 specified.
377
378 * emul_chirp.c (emul_chirp_create): Init SMP correctly - the
379 initial PC for all processors is an infinate loop but then, for
380 processor zero, is quickly changed to be the correct code starting
381 address.
382
383 * emul_chirp.c (emul_chirp_create): Add fake bootpath
384 et.al. properties to tree.
385
386 * emul_chirp.c (chirp_emul_getproplen): New function. Emulate the
387 getproplen OpenBoot call.
388
389 * emul_chirp.c (emul_chirp_instruction_call): Document other
390 possible chirp emulation internal states.
391
392 * emul_chirp.c (emul_chirp_instruction_call): Trace failed lookups
393 as well as successful ones.
394
395 * emul_chirp.c (emul_chirp_open): New function - handle open
396 client call.
397
398 * Makefile.in (maintainer-clean): Proper rule that eliminates more
399 junk.
400
401Tue Dec 19 13:00:11 1995 Andrew Cagney <cagney@highland.com.au>
402
403 * emul_chirp.c (chirp_emul_exit): Full out call.
404
405 * device_table.c (htab_map_page): Wasn't handling byte swap when
406 creating entries in the hash table.
407
408 * device.c (device_tree_find_node): Allow primative wild-card match
409 of device names with the path.
410
411 FIXME: As mentioned earlier, the device stuff needs work to bring
412 it into line with OpenBoot. Part of this work is rewriting the
413 find_node function so that it behaves as specified in p1275.
414
415Mon Dec 18 19:58:56 1995 Andrew Cagney <cagney@highland.com.au>
416
417 * emul_chrp.c (chirp_emul_write, chirp_emul_finddevice): add
418 better tracing.
419
420 * emul_chrp.c: Change return type of emul functions to int. Emul
421 functions either return -1 or zero so unsigned was a bit
422 dangerous.
423
424 * inline.h (*), igen.c, dgen.c, *: Update INLINE macros so that
425 they are paramaterised with the type of the function. Gets around
426 the problem of `static' needing to come first with `attribute'
427 comming last. Format declarations and definitions so that emacs
428 doesn't get confused.
429
430Fri Dec 15 17:06:44 1995 Andrew Cagney <cagney@highland.com.au>
431
432 * std-config.h (PSIM_INLINE): Add missing inline configuration
433 control for the main loop.
434
435 * mon.c (mon_print_info): If monitoring disabled still print out
436 the number seconds used.
437
438 * psim.c (run_until_stop): Don't monitor the cache misses when
439 monitoring is disabled.
440
441 * configure.in (sim_mon, sim_monitor): Correct typo - sim_mon ->
442 sim_monitor for shell variable (or should that have been the other
443 way around?).
444
445 * vm.c (vm_synchronize_context): Fix wrong test for unsuported
446 change in endian-mode.
447
448 * std-config.h (WITH_REGPARM), inline.h (IDECODE_INLINE,
449 SEMANTICS_INLINE): Add -DWITH_REGPARM=<n> option. Enables the
450 __attribute__((__regparm(WITH_REGPARM))) for some functions.
451 configure with --enable-sim-cflags="-DWITH_REGPARAM=3" (say).
452 Unfortunatly it tickles a bug (gcc?) and can't be used.
453
454Mon Dec 18 13:36:06 1995 Michael Meissner <meissner@tiktok.cygnus.com>
455
456 * device.c (device_tree_add_device): Make trace fprintf arguments
457 type correct.
458 * device_table.c (htab_decode_hash_table): Ditto.
459 (htab_map_binary): Ditto.
460 (htab_init_callback): Ditto.
461 * vm.c (om_virtual_to_real): Ditto.
462
98a497b3
MM
463Sat Dec 16 09:54:18 1995 Michael Meissner <meissner@wogglebug.tiac.net>
464
465 * emul_netbsd.c (emul_netbsd_create): Deal with new BFD that
466 changed how big/little endian support is recorded, while remaining
467 compatible with the old BFD with #ifdefs.
468 * emul_chirp.c (emul_chirp_create): Ditto.
469 * emul_bugapi.c (emul_bugapi_create): Ditto.
470
669b4e1e
MM
471Fri Dec 15 15:55:56 1995 Michael Meissner <meissner@tiktok.cygnus.com>
472
98a497b3
MM
473 * std-config.h (MODEL_INLINE): Turn off INLINE_MODULE by default.
474
669b4e1e
MM
475 * corefile.h: Delete declarations for unknown functions.
476 * device.h: Ditto.
477 * interrupts.h: Ditto.
98a497b3 478 * interrupts.c: Ditto.
669b4e1e 479
93fac324
MM
480Thu Dec 14 18:49:34 1995 Andrew Cagney <cagney@highland.com.au>
481
482 * lf.c (lf_print_function_type): New function. Munges a function
483 type so that the prefix (eg INLINE...) is inserted after the type
484 but before any `*'.
485
486 * igen.c: Change to output functions using this.
487
488Wed Dec 13 23:47:00 1995 Andrew Cagney <cagney@highland.com.au>
489
490 FIXME: Emul CHIRP does not correctly implement the find device
491 function.
492
493 FIXME: Emul CHIRP and device do not implement device instance
494 operations.
495
496Wed Dec 13 23:47:00 1995 Andrew Cagney <cagney@highland.com.au>
497
498 * options.c (options_inline): Function to output meaningful
499 description of the INLINE options.
500
501 * configure.in (inline): Replace inline magic numbers with macro
502 names. Map 1->LOCALS_INLINE and 2->ALL_INLINE.
503
504 * inline.h, inline.c: update to use inline method.
505
506 * std-config.h (CPU_INLINE), cpu.h, inline.h, inline.c: make cpu.h
507 inline always.
508
509 * std-config.h (EVENTS_INLINE): Inline events in psim.
510
511Wed Dec 13 22:01:21 1995 Andrew Cagney <cagney@highland.com.au>
512
513 * device_table.c (htab_sum_binary): DMA binaries to correct byte
514 within a page.
515
516Tue Dec 12 22:51:18 1995 Andrew Cagney <cagney@highland.com.au>
517
518 * psim.c (psim_merge_device_file): Change `=' to `==', was this an
519 error?
520
521Tue Dec 5 11:56:14 1995 Andrew Cagney <cagney@highland.com.au>
522
523 * ppc-instructions (ppc_nr_mtcrf_crs, ppc_branch_conditional_name,
524 ppc_function_unit_name): Simplify by declaring these arrays as
525 pure and simple static (instead of STATIC_MODEL).
526
527Tue Dec 5 00:45:34 1995 Andrew Cagney <cagney@highland.com.au>
528
529 * sim_calls.c (sim_create, sim_load), main.c (main), psim.c: Pass
530 an options device into psim_create() so that options can be merged
531 into the tree.
532
533 * device.c (*add*): Change semantics so the add functions only add
534 when the new device (or property) doesn't already exist. This
535 allows merging of options and data.
536
537Mon Dec 4 17:12:13 1995 Andrew Cagney <cagney@highland.com.au>
538
539 * Makefile.in (BASICS_H): Didn't include basics.h in the list of
540 header files to depend on.
541
542Mon Dec 4 17:12:13 1995 Andrew Cagney <cagney@highland.com.au>
543
544 * std-config.h: (*_MODULE): Extend the <module>_inline macro's so
545 that they also allow control over static functions. Rewrite
546 document to reflect this.
547
548 * std-config.h: (INLINE): Simplify definition, the above and
549 earlier changes to igen.h eliminate the need to be defensive about
550 enabling the inline of static functions.
551
552 * std-config.h: (SIM_ENDIAN_INLINE, BITS_INLINE): Document limited
553 suport for inlineing of modules for all callers. Adjust relevant
554 macro's so that DEFAULT_INLINE will enable this.
555
556 * basics.h: Re-order #includes and definitions so that c-code for
557 basic include files does not call functions delcared in later
558 #includes.
559
560 * basics.h (__attribute__), sim_callbacks.h: Move attribute macro
561 to basics.h and add hack (include <stdio.h>) to try and bring that
562 and other possible conflicting macros into scope much earler.
563
564 * sim-endian.h,c (SIM_ENDIAN_INLINE) bits.h,c (BITS_INLINE):
565 Change to use the updated inline definitions. If enabled
566 immediatly include the corresponding c-code so that it will inline
567 for all modules.
568
569 * inline.h, inline.c (SIM_ENDIAN_INLINE, BITS_INLINE): Remove
570 these cases, moved to module specific header files.
571
572Sat Dec 2 18:37:51 1995 Andrew Cagney <cagney@highland.com.au>
573
574 * vm.c, vm_n.c: Fix htab code.
575
576 * vm.c (vm_data_map_read_buffer): Was using EA not RA when reading
577 the data from core.
578
579 * device.c: Fix htab create code.
580
581Fri Nov 24 23:10:09 1995 Andrew Cagney <cagney@highland.com.au>
582
583 * bits.h, bits.c (EXTRACTED): Convert to function, fix - had &&
584 instead of &.
585
586 * sim-endian.h (SWAP_N), sim-endian-n.h, sim-endian.c: How
587 embarasing - fix yet another bug in the swap code! Simplify
588 everything by using more functions. Add host to big-endian byte
589 swapping support.
590
591Fri Nov 24 23:10:09 1995 Andrew Cagney <cagney@highland.com.au>
592
593 * devices.h, devices.c: delete, replaced by the files
594 device_table.[ch] and device.[ch].
595 * device_tree.h, device_tree.c: ditto
596
597 * device_table.h, device_table.c: New files. Contain a table of
598 devices.
599
600 * device.h, device.c, Makefile.in, std-config.h (DEVICE_INLINE),
601 options.c (print_options): New files. Define the device object
602 along with any attached properties.
603
604 * device_tree.h, device_tree.c: Update to use new device object.
605 For convenience, change the printd functions into device_tree_add
606 functions.
607
608 * psim.c (create_*_tree): Use new device_tree create functions.
609
610 * corefile.h, corefile.c corefile-n.h (core_n.h): Update to use
611 the new device.h / device_table.h interface. Rename core_n.h to
612 corefile-n.h to be consistent with other n files.
613
614 * Makefile.in (run): add corefile-n.h to dependencies for
615 corefile.
616
617 * basics.h (device_instance), device.h, device.c, device_table.h,
618 device_table.c: Add the concept of a device instance and operators
619 on these instances - corresponds to ihandle in OpenBoot speak.
620 Don't yet implement it.
621
622Tue Nov 14 12:27:08 1995 Andrew Cagney <cagney@highland.com.au>
623
624 * emul_generic.h, emul_generic.c (emul_syscall_enter,
625 emul_syscall_exit): rename from emul_enter_call /
626 emul_exit_call. As only used by emul_do_system_call simplify
627 associated code.
628
629 * os_emul.h, os_emul.c, emul_generic.h: Correct and fill an
630 os_emul interface.
631
632 * os_emul.c, emul_bugapi.h, emul_bugapi.c, Makefile.in: Add
633 preliminary hooks for a kernel mode rom emulation.
634
635 * cap.h (new), cap.c (new): Capability data base. Some emulations
636 pass object identifiers (capabilities?) to/from the simulated code
637 (for instance the phandle in OpenBoot). The cap object is able to
638 check/map between internal and external (target program)
639 representations of each identifier.
640
641 * os_emul.c, emul_chirp.h, emul_chirp.c, Makefile.in: Add
642 preliminary hooks for a kernel mode IEEE-1275 emulation.
643
644 * cpu.h, cpu.c (cpu_create, cpu_os_emulation, cpu): Add os_emul to
645 list of arguments passed in when creating a cpu. Grant access to
646 the element.
647
648 * std-config.h (OS_EMUL_INLINE), options.c (print_options),
649 inline.h, inline.c: New to allow control over inline of
650 corresponding code files.
651
652 * ppc-instructions (instruction_call): Add illegal instruction to
653 call the instruction-call emulation handler.
654
655 * interrupts.c (system_call_interrupt): Call renamed
656 os_emul_system_call function().
657
658 * emul_netbsd.c: Update to interface to generic emulation. Since
659 all its functions are called via a table don't worry about any
660 inline.
661
662 * emul_generic.h, emul_generic.c, spa-*(delete): Remove references
663 and code for spa, no longer to be used.
664
665 * psim.c (create_chirp_device_tree): Fill out what was previously
666 the openboot create function so that it starts to create a full
667 OpenBoot device tree.
668
669Tue Nov 28 21:48:06 1995 Andrew Cagney <cagney@highland.com.au>
670
671 * debug.h, debug.c: pte trace is made redundant by htab trace,
672 delete it. Add vm to list of options. Simplify tracing output so
673 lines are not as long.
674
675Tue Nov 14 12:27:08 1995 Andrew Cagney <cagney@highland.com.au>
676
677 * events.h, events.c (event_queue_init), psim.c (psim_init): (re)
678 initialize the event queue.
679
680
681
682
683
684
290ad14a
MM
685Tue Nov 28 13:38:26 1995 Michael Meissner <meissner@tiktok.cygnus.com>
686
1f1e5dd8
MM
687 * sim-endian.h: Look at WORDS_BIGENDIAN to determine if the host
688 is big endian or little endian. For SWAP_n, use htonl/htons if
689 host is little endian, not big endian and if WITH_NTOH is defined.
690
290ad14a 691 * configure{,.in} (--enable-sim-model-issue): Instead of defining
1f1e5dd8
MM
692 0/1, define it to be MODEL_ISSUE_{PROCESS,IGNORE}. Add
693 AC_C_BIGENDIAN to determine if the host is big endian or not.
694 * config.in: Regenerate.
290ad14a
MM
695
696 * std-config.h (WITH_MODEL_ISSUE): Default to 0.
697 (CURRENT_MODEL_ISSUE): Reference WITH_MODEL_ISSUE, and if that is
698 0, use current_model_issue.
1f1e5dd8 699 (MODEL_ISSUE_{PROCESS,IGNORE}): Define as -1/1.
290ad14a
MM
700
701 * psim.c (current_model_issue): New global variable.
702
703 * cpu.c (cpu_create): Use CURRENT_MODEL_ISSUE > 0 instead of
704 WITH_MODEL_ISSUE.
705 (cpu_{init,halt}): Ditto.
706 * mon.c (mon_print_info): Ditto.
707 * ppc-instructions (PPC_INSN_* macros, branch handling): Ditto.
708
cf644706 709 * mon.c (mon_print_info): Print instructions/second if verbose > 0,
290ad14a
MM
710 rather than > 1.
711
712 * main.c (main): Set current_model_issue to MODEL_ISSUE_PROCESS if
713 the -I switch is used.
714 * sim_calls (sim_open): Ditto.
715
716 * ppc-instructions (model support): Add support for determining
717 when we don't have enough writeback slots. Add tracing for the
718 beginning of each cycle.
719
70fc4ad3
MM
720Mon Nov 27 17:46:33 1995 Michael Meissner <meissner@tiktok.cygnus.com>
721
722 * mon.c: Check for whether to include sys/types.h and sys/time.h.
723
724 * configure.in: Check for include files sys/types.h and
725 sys/time.h.
726 * configure: Regenerate.
727 * config.in: Regenerate.
728
729 * cpu.h (CONST_ATTRIBUTE): Define as __attribute__((__const__)) if
730 not already defined.
731 (cpu_system): Use CONST_ATTRIBUTE, so that when we're not inlining
732 the world, the optimizer has a fair chance of CSE'ing function
733 calls.
734 (cpu_{monitor,nr,registers,model}): Ditto.
735
736 * std-config.h (MODEL_INLINE): If not defined, define as 1 if
737 DEFAULT_INLINE is non-zero, 0 otherwise, rather than just the
738 value of DEFAULT_INLINE.
739
45525d8d
MM
740Fri Nov 24 11:24:34 1995 Michael Meissner <meissner@tiktok.cygnus.com>
741
eade8e03
MM
742 * lf.h (__attribute__): If not GCC and at least 2.7.0, define as
743 nothing.
744 (lf_printf): Add printf __attribute__, so the compiler will
745 automatically check the format string.
746
63caaafa
MM
747 * configure{,.in} (--enable-sim-icache): If argument is define,
748 add -R to flags passed to igen.
749
750 * igen.c (stdlib.h): Include if the system supplies one.
751 (semantics_use_cache_struct): New global for -R flag to say
752 semantics is to use the cache structure directly rather than
753 putting the values into local variables.
754 (first_undef, last_undef): New structures to remember names to
755 #undef if -R.
756 (lf_print_c_extraction): If -R and this is semantics, emit names
757 as #defines pointing to the cache structure, rather than loading
758 the values into local variables.
759 (lf_print_c_semantic_function): If -R, #undef all of the names
760 defined in lf_print_c_extraction.
761 (main): Recognize -R.
762
763 * idecode_fields.h (SPR_*): Redefine spr_* macros as SPR_* to
764 avoid a name confict if -R passed to igen.
765
766 * ppc-instructions (mfspr, mtspr): Rename spr field to SPR.
767 (model_data): Add field to count the various # of CRs that the
768 mtcrf instruction used.
769 (model_mon_info): Return structures counting the # of CRs that the
770 mtcrf instruction used.
3d2f9d7c
MM
771 (branches, sync instructions): Do not call model functions if
772 WITH_MODEL_ISSUE is 0.
63caaafa 773
f2181eff
MM
774 * mon.c (stdlib.h): Include if the system supplies one.
775 (mon_sort_instruction_names): New function to sort instruction
776 names alphabetically.
63caaafa 777 (mon_print_info): Call qsort with mon_sort_instruction_names to
3d2f9d7c 778 sort instruction names. Don't abort if WITH_MODEL_ISSUE is 0.
63caaafa 779
45525d8d
MM
780 * debug.h (ITRACE): Make printf_filtered arguments type correct.
781 * idecode_expression.h (CR0_COMPARE): Ditto.
782 * psim.c (psim_read_register): Ditto.
783
784 * igen.c (lf_print_my_prefix): Use __attribute__((__unused__)) to
785 silence compiler warnings about unused automatically generated
786 variables.
787 (lf_print_c_extraction): Ditto.
788 * idecode_expression.h (FPSCR_BEGIN): Ditto.
789
790 * ppc-cache-rules: Define rules for making a bitmask for all
791 registers.
792
793 * ppc-instructions: Rewrite model specific functions to use the
794 bitmask of the register number, instead of using the register
795 pointer to get the register number, and then making the bitmask.
796
46c065ab
MM
797Wed Nov 22 15:24:27 1995 Michael Meissner <meissner@tiktok.cygnus.com>
798
799 * ppc-instructions (model_branches): Add conditional argument to
800 count the number of times each type of conditional branch is used.
801 (conditional branches): Pass B0 or -1 to model_branches.
802 (model_mon_info): Print out conditional branch counts.
803 (model-data): Add support for printing out conditional branch
804 types.
805
4a0351ab
MM
806Tue Nov 21 16:31:25 1995 Michael Meissner <meissner@tiktok.cygnus.com>
807
808 * igen.c (insn_table_load_insns): Add support for model-static for
809 internal functions that should not be inlined.
810 (lf_print_c_semantic): Remove model_cleanup.
811 (gen_model_{c,h}): Ditto.
812
813 * ppc-instructions: Redo model specific support once again. Add
814 floating point support to the model specific information. Flesh
815 out all of the floating mutiply add/subtract instructions. Add
816 better tracing support to the model specific information.
817
0bcce7d3
MM
818Sun Nov 19 23:00:52 1995 Michael Meissner <meissner@tiktok.cygnus.com>
819
820 * ppc-instructions (model data, model_busy): Rather than using a
821 bit mask for the busy units, just use a char array. Also, only
822 support 2 function units an insn can use, rather than a loop.
823
4220dcd6
MM
824Fri Nov 17 14:08:08 1995 Michael Meissner <meissner@tiktok.cygnus.com>
825
0bcce7d3
MM
826 * table.c (table_entry_read): Move setting entry->line_nr to after
827 the model specific fields so the line numbers for the annex are
828 correct.
829
4220dcd6
MM
830 * cpu.c (cpu_{create,init,halt}): Check for WITH_MODEL_ISSUE
831 before calling the model functions.
832
833 * debug.c (trace_descriptor): Add trace_model support.
834 * debug.h (trace_options): Ditto.
835
836 * igen.c (gen_icache_h): Create type idecode_cache as void if not
837 caching instructions.
0bcce7d3
MM
838 (gen_model_{c,h}): Drop model_issue support. Add support for
839 model_cleanup.
840 (lf_print_my_prefix): Initialize a const itable_index with the
841 current index.
842 (lf_print_c_semantic): Call model_cleanup at the end of the
843 function to check for instructions that aren't supported yet by
844 the scheduling code.
845
4220dcd6
MM
846 * mon.h (count_type): New type for counters.
847 * mon.c: Use count_type instead of unsigned.
848
0bcce7d3
MM
849 * ppc-instructions: Redo scheduling code once again. Make it all
850 inline friendly. Instead of having general code emitted by igen,
851 go the route of having each semantic routine call the appropriate
852 module.
4220dcd6 853
845ff5a4
MM
854Thu Nov 16 09:52:26 1995 Michael Meissner <meissner@tiktok.cygnus.com>
855
856 * table.c (table_entry_read): Allow the annex to have blank lines.
857
858 * ppc-instructions: Change lines in model stuff that just have a
859 tab to just newline. Add 601 support. Document most instructions
860 in terms of model specific timing information. Drop 'FUNCTION'
861 from PPC_FUNCTION_UNIT_xxx enums. Change PPC_UNIT_UNKNOWN ->
862 PPC_UNIT_BAD. Add TRACE(trace_tbd) for all data cache
863 instruction.s. Signal illegal instruciton if data cache block
864 invalidate is issued from problem state.
865
866 * igen.c (max_model_fields_len): New static to keep track of the
867 max size for the model specific fields.
868 (model_c_insn): Use max_model_fields_len to size fields.
869 (insn_table_insert_insn): Set max_model_fields_len.
870 (model_table_insert): Ditto.
867b7168
MM
871 (gen_model_{c,h}): Model_issue is now called with a processor
872 argument.
845ff5a4
MM
873
874 * debug.c (trace_description): Add support for trace_tbd.
875
867b7168
MM
876 * mon.c (mon_issue): Pass processor argument to model_issue.
877
84bbbc35
MM
878 * Makefile.in: Delete all function unit support, since the newer
879 table driven model support replaces it.
880 * cpu.{c,h}: Ditto.
881 * mon.c: Ditto.
882 * inline.{c,h}: Ditto.
883 * std-config.h: Ditto.
884 * options.c: Ditto.
885 * configure{,.in}: Ditto.
886 * Makefile.in: Ditto.
887 * psim.c: Ditto.
888 * function_unit.{c,h}: Delete these now usused files.
889
890 * std-config.h (WITH_MODEL_ISSUE): Add new macro on whether to
891 trace instructions in a model specific manor.
892 * options.c (print_options): Print it out.
893 * configure{,.in}: Add --enable-sim-model-issue option.
894 * Makefile.in: Add --enable-sim-model-issue flags.
895 * igen.c (lf_print_c_semantic): Add call to mon_issue here. Check
896 for WITH_MODEL_ISSUE.
897 * mon.c (mon_issue): Remove call to mon_issue_here.
898
899 * ppc-instructions: Move branch tracing to the actual branch
900 instructions, rather than testing it in model_issue. Add code to
901 code successful/unsuccessful branch predictions, and the number of
902 conditional branches that fell through.
903
80948f39
MM
904Wed Nov 15 17:32:13 1995 Michael Meissner <meissner@tiktok.cygnus.com>
905
906 * cpu.h (cpu_model): Add declaration.
907
908 * cpu.c (struct _cpu): Add model_ptr to hold model specific
909 information.
910 (cpu_model): Return the model internal pointer.
911 (cpu_{create,init,halt}): Call the appropriate model function.
912
913 * inline.c (mon.c): Move include of mon.c after model.c.
914
915 * mon.c (_cpu_mon): Add fields to count unaligned memory
916 references.
917 (mon_issue): Call model_issue, not function_unit_issue.
918 (mon_{read,write}): Count # of unaligned memory accesses.
919 (mon_print_info): Switch to calling model_mon_info and
920 model_mon_info_free instead of function_unit version. Print out
921 number of unaligned reads/writes.
922
923 * {ppc-instructions,igen.c}: More global changes to add model
924 specific features.
925
acb06d30
MM
926 * inline.{c,h}: Provide for inlining options.c.
927 * options.{c,h}: Ditto.
928 * std-config.h: Add OPTIONS_INLINE.
929
ac79ccd4
MM
930Tue Nov 14 04:47:25 1995 Michael Meissner <meissner@tiktok.cygnus.com>
931
fe439e0f 932 * Makefile.in (devices.o, main.o): Update dependency.
ac79ccd4
MM
933
934 * igen.c (gen_model_h): Use correct variable in loop.
fe439e0f 935 (gen_model_c): Use strcmp, strcasecmp.
80948f39
MM
936 (gen_model_c): Use EXTERN_MODEL for arrays.
937 (gen_model_h): Use STATIC_MODEL for arrays.
ac79ccd4
MM
938 (lf_print_c_semantic_function_header): Delete unused function.
939
fe439e0f
MM
940 * main.c (cpu.h): Include cpu.h to get model.h.
941
80948f39 942 * inline.h ({EXTERN,STATIC}_MODEL): Define.
f35df46c 943
1dc7c0ed
MM
944Mon Nov 13 09:14:13 1995 Michael Meissner <meissner@tiktok.cygnus.com>
945
946 * igen.c ({insn,model}_table_fields): Spell mnemonic correctly.
947 (gen_itable_h,itable_c_insn): Ditto.
948 (model support): Move model support around, add support for
949 model-data, model-internal. Use annex field for model-macros
950 now.
951
952 * configure.in (--enable-sim-inline): If --enable-sim-inline=no,
953 also define INLINE as nothing.
954 * configure: Regenerate.
955
956 * std-config.h (INLINE): Rather than nuking INLINE, only define it
957 as __inline__ if any of the INLINE flags are non-zero.
958
959 * options.c (print_options): Print out WITH_XOR_ENDAIN.
960
961Mon Nov 13 23:03:45 1995 Andrew Cagney <cagneyhighland.com.au>
962
963 * ppc-instructions (rfi): Add missing code.
964
965 * cpu.c (cpu_get_time_base): Fix calculation of current value of
966 time base register.
967
968 * ppc-spr-table (TBL, TBU): Fix TBL/TBU entries - was confusing
969 m[tf]tb with m[tf]spr.
970
971 * ppc-instructions (mtspr, mfspr): Fix mttbl - wasn't storing
972 lower word.
973
974Mon Nov 13 21:35:37 1995 Andrew Cagney <cagneyhighland.com.au>
975
976 * std-config.h (INLINE, STATIC_INLINE): Was being set to static
977 inline.. Only problem being that with ppc-opcode-simple this gave
978 it the chance to inline all the idecode functions with potentially
979 disasterous results on a 16mb PC. For moment hobble INLINE.
980
981 * configure.in, std-config.h (WITH_SMP): Make that 5 processors by
982 default ...
983
984 * configure.in: Tweek flags passed to gcc for --with-sim-warnings.
985 Firstly make them errors and secondly remove the options gcc-245
986 doesn't reconize.
987
988Mon Nov 13 17:57:24 1995 Andrew Cagney <cagney@highland.com.au>
989
990 * misc.c (zalloc), cpu.c (cpu_init), devices
991 (console_io_read_buffer_callback, icu_io_read_buffer_callback,
992 vm_io_read_buffer_callback), main.c (zalloc), mon.c (memset),
993 sim_calls.c (zalloc) : replace bzero() with memset().
994
995 * emul_netbsd.c (write_direntries), psim.c (psim_read_register,
996 psim_write_register): replace bcopy() with memcpy().
997
998Sun Nov 12 20:55:41 1995 Andrew Cagney <cagneyhighland.com.au>
999
1000 * configure.in: for --disable-sim-inline (--enable-sim-inline=no),
1001 force DEFAULT_INLINE to 0 rather then trusting the std
1002 configuration.
1003
1004Sun Nov 12 20:55:41 1995 Andrew Cagney <cagneyhighland.com.au>
1005
1006 * igen.c (lf_print_idecode_table, idecode_table_leaf): Fix
1007 generation of switch entries in tables - treat the same as
1008 cracking/semantic functions.
1009
1010 * igen.c (idecode_switch_end, idecode_switch_leaf): Fix generation
1011 of a boolean switch statement (field zero or non-zero).
1012
1013 * ppc-opcode-test-1, ppc-opcode-test-2: New files. These test the
1014 switch/table generation ability of igen.
1015
1016 * igen.c (idecode_switch_leaf): Fix code output when a switch
1017 statement needs to look up a table.
1018
1019 * igen.c (idecode_declare_if_switch): New function called from
1020 gen_idecode_c - need to declare any idecode switch functions
1021 before they are used in idecode tables.
1022
1023 * igen.c (lf_print_c_cracker_function, idecode_crack_leaf,
1024 idecode_crack_insn): Add is_inline_function argument to code
1025 printing cracker functions which indicates if STATIC_IDECODE or
1026 STATIC_INLINE_IDECODE should be used for definition. For
1027 idecode_crack_insn (which implies not duplicating/expanding) don't
1028 declare function as inline - we assume that the only time this is
1029 code is generated is when things are being tested. For
1030 idecode_crack_leaf, make static (instead of INLINE) if the
1031 instructions parent is a table as function will always be called
1032 via a table.
1033
1034 * igen.c (idecode_expand_if_switch): Declare as STATIC_IDECODE not
1035 STATIC_INLINE_IDECODE. Only the outermost idecode switch will be
1036 called directly, all others are called via a table.
1037
1038 * igen.c (lf_print_semantic_function_header, semantics_h_leaf,
1039 semantics_h_insn, semantics_h_function,
1040 lf_print_c_semantic_function, semantics_c_function): Add
1041 is_inline_function argument to lf_print_semantic_function_header
1042 to indicate if an inline or static function declaration/definition
1043 should be output. Depending on situtation call accordingly:
1044 functions (not instruction semantic routines) are always inline;
1045 Semantic routines are made inline when there is no icache (cache
1046 will contain the function address) and are duplicating (see above)
1047 and the parent of the instruction is a switch statement.
1048
1049 * igen.c (opcode_field_new): Delete. Code changed to use ZALLOC
1050 and moved to insn_table_find_opcode_field.
1051
1052 * table.c (table_open): Fix typo (nr_model_fields vs nr_fields).
1053
1054 * igen.c (model_c_insn): Suggestion - document the name of the
1055 instruction on each line of the instruction model table.
1056
1057Fri Nov 10 00:44:38 1995 Andrew Cagney <cagneyhighland.com.au>
1058
1059 * emul_netbsd.c (do_ioctl): Cleanup compilation.
1060
1061 * sim_callbacks.h (__attribute__): Only define if not defined (was
1062 already defined on NetBSD host).
1063
1064Wed Nov 8 21:49:52 1995 Andrew Cagney <cagneyhighland.com.au>
1065
1066 * std-config.h (WITH_XOR_ENDIAN), configure.in, Makefile.in: New
1067 macro, indicates if the PowerPC's horrible XOR endian mode should
1068 be suported. Add to configure and make.
1069
1070 * vm_n.h (vm_data_map_read_N, vm_data_map_write_N), vm.c
1071 (vm_instruction_map_read): If XOR endian, xor the address
1072 with a value from an xor table (indexed by size of access).
1073
1074 * vm.c (vm_synchronize_context), cpu.c (cpu_synchronize_context):
1075 set up xor table to xor if there is a conflict between the
1076 CURRENT_TARGET_ENDIAN and the endian indicated in the MSR. Move
1077 check of suported change of endian mode from cpu.c to vm.c.
1078
1079 * vm.c (vm_data_map_write_buffer, vm_data_map_read_buffer):
1080 Hopefully added correct hack to handle XOR endian mode.
1081
1082 FIXME: If NONSTRICT alignment and XOR ENDIAN and MSR indicates
1083 little endian mode, the model accepts miss aligned transfers.
1084
1085 FIXME: Need to create an `init' device that, during
1086 initializatioin for XOR mode, it mushes (XOR address) all the dma
1087 data before passing it on to the core for storage. Just like the
1088 real thing really.
1089
1090Wed Nov 8 21:49:52 1995 Andrew Cagney <cagneyhighland.com.au>
1091
1092 * devices.c (halt_io_write_buffer_callback): Use value written to
1093 halt device to determine exit status. Thus allowing
1094 success/failure of OEA tests.
1095
1096Wed Nov 8 00:10:38 1995 Andrew Cagney <cagneyhighland.com.au>
1097
1098 * ppc-instructions (icbi): If icache present flush it.
1099
1100Tue Nov 7 23:36:31 1995 Andrew Cagney <cagneyhighland.com.au>
1101
1102 * devices.c (htab_init_callback): Add code to create htab/pte.
1103
1104 * devices.c (dma_file, file_init_callback, htab_init_callback):
1105 New function - Dma the named file into memory at the specified
1106 address. Use.
1107
1108 * device_tree.h, device_tree.c (scand_*): New functions.
1109
1110Tue Nov 7 23:36:31 1995 Andrew Cagney <cagneyhighland.com.au>
1111
1112 * filter_filename.c, Makefile.in: Change so that only dependant on
1113 a very limited nr of files. Stops an unnecessary dependency.
1114
1115Tue Nov 7 15:44:33 1995 Andrew Cagney <cagney@highland.com.au>
1116
1117 * core.c (core_map_find_mapping): Use cpu_halt rather than error
1118 to abort an access to an undefined address.
1119
eb4ef197
MM
1120Sun Nov 12 07:58:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1121
1122 * igen.c (model_table_insert_{macro,function}): New functions.
1123 (insn_table_load_insns): Call them.
1124 (gen_model_h): Move section emiting model-macros to be first.
1125 (model_{c,h}_function): New functions cloned from semantic
1126 functions to print out the prototype and function for
1127 model-functions.
1128 (gen_model_{c,h}): Print out model-functions.
1129
1130 * ppc-instructions (model_{start,halt,print_info}): Add dummy
1131 model-functions.
28816f45
MM
1132
1133 * options.c (print_options): Print out WITH_{,DEFAULT_}MODEL, not
1134 WITH_PPC_{,DEFAULT_}_MODEL.
1135 (options_ppc): Delete now unused function.
1136 (cpu.h): Include cpu.h, not just basics.h.
1137
1138 * std-config.h (WITH_{,DEFAULT_}MODEL): Define.
1139
1140 * igen.c (model_macros, last_model_macro): New statics to keep
1141 track of macros to go in model.h.
1142 (insn_table_load_insns): Add model-macros to model_macros linked
1143 list.
1144 (model_table_fields): Add field for printable name.
1145 (gen_model_h): If there are model macros defined, print them out.
1146 Print out DEFAULT_MODEL as the first model if there any models
1147 specified, otherwise MODEL_NONE. Print out external decl for
1148 current_model. Print out decl for model_set.
1149 (gen_model_c): Add function model_set. Switch to use printable
1150 name for the model, not the internal identifier used.
1151
1152 * psim.c (current_model): New global variable.
1153
1154 * ppc-instructions: Add macros for flag defines. Switch first
1155 model so 604 is first.
1156
1157 * main.c (main): Call model_set, not function_unit_model.
1158 * sim_calls.c (sim_open): Ditto.
1159 * sim_calls.c, Makefile.in: sim_calls.c now includes cpu.h.
1160
d587782c
MM
1161Sat Nov 11 07:27:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1162
28816f45
MM
1163 * mon.h (mon_events): New enumeration for other events we want to
1164 handle.
1165 (mon_event): Add declaration for function.
1166
1167 * mon.c (mon_event): New function.
1168 (mon_print_info): Print icache misses.
1169
1170 * psim.c (run_until_stop): Monitor icache misses.
1171
1172 * configure.in (--enable-sim-inline): Fix typos in handling comma
1173 separated inline options.
1174 (--enable-sim-icache): Echo icache size.
1175 * configure: Regenerate.
1176
1177 * igen.c (semantics_h_print_function): Emit STATIC_SEMANTICS
1178 instead of INLINE_SEMANTICS so that the compiler won't keep all of
1179 the semantic functions as inline RTL, given that the address of
1180 the function is taken which forces outline calls anyway.
1181 (lf_print_c_semantic_function_header): Ditto.
1182 (gen_semantics_h): Define STATIC_SEMANTICS as nothing if not
1183 defined.
1184 (lf_print_c_cracker_function): Emit STATIC_IDECODE instead of
1185 STATIC_INLINE_IDECODE.
1186 (gen_idecode_c): Define STATIC_IDECODE if not defined.
1187 (gen_model_h): Use #ifdefs to define types to hold model units,
1188 cycles, and flags.
1189 (model_table_insert): Add a sentinel functional unit at the end to
1190 simplify loop processing.
1191 (model_c_insn): Use <function-unit>_SENTINAL instead of 0 for any
1192 instruction not specifing a function unit for the current model.
1193 (gen_model_{c,h}): Provide bounds for model_time_mapping.
1194
1195 * inline.h (STATIC_SEMANTICS): Define to be static if
1196 SEMANTICS_INLINE is defined.
1197 (STATIC_IDECODE): Define to be static if IDECODE_INLINE is
1198 defined.
1199
d587782c
MM
1200 * options.c (print_options): Fix typo.
1201
b51e5b4f
MM
1202Fri Nov 10 06:39:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1203
813ad010
MM
1204 * configure.in (--enable-sim-{opcode,config}): Use $srcdir when
1205 check for the existence of files.
1206 * configure: Regenerate.
1207
a3114052
MM
1208 * table.c (table): New field nr_model_fields.
1209 (table_open): New parameter nr_model_fields.
1210 (table_entry_read): Parse model fields that begin with a '*' after
1211 each instruction.
1212 * igen.c, dgen.c: Change callers of table_open.
1213
1214 * igen.c: Add support for dumping model specific information in
1215 model.h and model.c.
1216 (insn_field_name): Delete unused array.
1217 (global variables): Make global variables static, so we can tell
1218 when they are no longer used.
1219 (cache_semantic_actual): Delete unused variable.
1220 (insn_table_load_insns): If the insn is really a machine model,
1221 call model_table_insert instead of other processing.
1222 (model_table_insert): New function to handle defining the
1223 functional units of a particular machine model.
1224 (insn_table): Add last_function field so we can add functions at
1225 the end.
1226 (insn_table_insert_function): Use last_function field when
1227 appending new function.
1228
1229 * ppc-instructions: Add a few model specific information for 603,
1230 603e, and 604 for testing purposes.
1231
1232 * table.h (table_model_entry): New linked list to hold model
1233 specific information, one per line.
1234 (table_entry): Add model_first, model_last fields.
1235
b51e5b4f
MM
1236 * configure.in (--enable-sim-inline): If gcc is found and
1237 --enable-sim-inline is not specified, defaine DEFAULT_INLINE to 1,
1238 not 2.
a3114052
MM
1239 (--enable-sim-reserved-bits): New switch to check whether reserved
1240 bits are set in the instruction.
1241 (--enable-sim-opcode): Make complex the default.
1242 (all switches): Add appropriate checks and error messages.
b51e5b4f
MM
1243 * configure: Regenerate.
1244
a3114052
MM
1245 * Makefile.in (RESERVED_CFLAGS): New variable set by
1246 --enable-sim-reserved-bits.
1247 (CONFIG_CFLAGS): Include RESERVED_CFLAGS.
1248 (BUILT_SRC): igen now generates model.c and model.h.
1249 (LIB_OBJ): Include table.o.
1250 (tmp-igen): Add -m/-M options to write model.c/model.h.
1251 (model.o): New object.
1252 (CPU_H): Include model.h.
1253
1254 * cpu.h: Include model.h.
1255
1256 * std-config.h (WITH_RESERVED_BITS): Define.
1257 (MODEL_INLINE): Ditto.
1258
1259 * options.c (print_options): Print out WITH_RESERVED_BITS.
1260
ba62bb1c
MM
1261Thu Nov 9 12:22:15 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1262
2bc7869d
MM
1263 * configure.in: If --silent, don't output information messages.
1264 * configure: Regenerate.
1265
ba62bb1c 1266 * configure.in (--enable-sim-alignment): Fix typo in specifing non
23a994ee 1267 strict alignment.
ba62bb1c
MM
1268 (--enable-sim-switch): Make default on.
1269 (--enable-sim-duplicate): Make default on.
1270 (--enable-sim-smp): Make default 0.
1271 (--enable-sim-mon): Don't set sim_float if not set.
1272 (--enable-sim-inline): If gcc is found and --enable-sim-inline is
1273 not specified, define DEFAULT_INLINE to be 2.
1274 (all --enable-sim-* rules): Echo rules set to non empty to file
1275 descriptor 6.
1276 * configure: Regenerate.
1277
1278 * options.c (options_env): Fix typo if WITH_ENV is 0.
1279 (print_options): Print GCC compiler version if available and
1280 date/time options was compiled. If OPCODE_RULES, IGEN_FLAGS,
1281 and/or DGEN_FLAGS are defined, print them.
1282
1283 * Makefile.in (all link actions): Pass SIM_CFLAGS as well as
1284 CFLAGS.
1285 (options.o): Compile options.o with OPCODE_RULES, IGEN_FLAGS, and
1286 DGEN_FLAGS defined, so they can be printed out.
1287
1288 * igen.c (lf_print_c_validate): Check for WITH_ASSERT, so that
1289 this test can be compiled away if the user really wants a fast
1290 simulator by not doing assertion failures.
1291
73c4941b
MM
1292Wed Nov 8 13:19:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1293
c5addc19
MM
1294 * options.c: New file to print out all of the WITH_ options.
1295 * options.h: New include file to declare print_options.
1296 * debug.h (trace_options): Add trace_opts to call print_options.
1297 * debug.c (trace_description): Add trace_opts support.
1298 * main.c (main): If user requested options, print them.
1299 * sim_calls.c (sim_open): Ditto.
1300
1301 * igen.c (opcode_field_new): Add void to make it a proper prototype.
1302
1303 * emul_generic.c (emul_enter_call): Make printf_filtered arguments
1304 type correct.
1305 * emul_netbsd.c (do_kill): Ditto.
1306 * registers.c (registers_dump): Ditto.
1307 * vm.c (om_translate_effective_to_real): Ditto.
1308 * vm_n.h (vm_data_map_read_N): Ditto.
1309 (vm_data_map_write_N): Ditto.
1310 * devices.h (DTRACE_INIT): Ditto.
1311 (DTRACE_{ATTACH,DETACH}_ADDRESS): Ditto.
1312 (DTRACE_IO_{READ,WRITE}_BUFFER): Ditto.
1313 (DTRACE_DMA_{READ,WRITE}_BUFFER): Ditto.
1314 * devices.c (update_for_binary_section): Ditto.
1315 (write_stack_arguments): Ditto.
1316 (stack_ioctl_callback): Ditto.
1317 * device_tree.c (device_tree_add_passthrough): Ditto.
1318 (device_tree_{add,find}_device): Ditto.
1319 (device_tree_{add,find}_integer): Ditto.
1320 (device_tree_find_{string,boolean}): Ditto.
1321 (device_tree_init{,_device}): Ditto.
1322 (device_tree_dump): Ditto.
1323 * sim_calls.c (sim_{read,write}): Ditto.
1324 (sim_{fetch,store}_register): Ditto.
1325 (sim_stop_reason): Ditto.
1326
1327 * sim_callbacks.h (printf_filtered): Declare with attribute
1328 printf, so we can enable format checks.
1329
1330 * devices.c (console_io_{read,write}_buffer_callback): Cast swtich
1331 argument to int, since ANSI doesn't allow long switch values.
1332 * emul_netbsd.c (do___sysctl): Ditto.
1333
1334 * emul_netbsd.c (do___sysctl): Fix up printf call.
1335
1336 * corefile.c (core_translate): Don't do arithmetic with void *
1337 pointers. Cast to char * first.
1338
1339 * function_unit.c (FUNC_{LOAD,STORE}): Rename from {LOAD,STORE}
1340 and change all uses.
1341
73c4941b
MM
1342 * Makefile.in ({FUNC,MODEL,WARNING}_CFLAGS): New flags set by
1343 configure --enable switches.
1344 (CONFIG_CFLAGS): Include FUNC_CFLAGS and MODE_CFLAGS.
1345 (.c.o): Include WARNING_CFLAGS.
1346 (CPU_H): Include function_unit.h.
1347 (LIB_OBJ): Include function_unit.o.
1348 (BUILT_SRC_WO_CONFIG): Split from BUILT_SRC and do not include
1349 config.h or ppc-config.h.
1350 (BUILT_SRC): Include BUILT_SRC_WO_CONFIG, config.h and
1351 ppc-config.h.
1352 (filter_filename.o): Include config.h/ppc-config.h dependencies.
c5addc19
MM
1353 (idecode.o, semantics.o, psim.o): Specify CC line without
1354 WARNING_CFLAGS so that we don't get all of the unused variable
1355 warnings that are generated.
73c4941b
MM
1356 (function_unit.o): Add rule to build.
1357 (main.o, sim_calls.o): Add function_unit.h, itable.h dependencies.
1358 (mon.o): Include mon.c dependency.
1359 (TAGS): Depend on BUILT_SRC.
1360 (clean): Don't delete config.h or ppc-config.h
1361
1362 * basics.h (sim_callbacks.h): Move include after the include of
1363 config.h and ppc-config.h.
1364
1365 * bits.{h,c} (ROTL32,ROTL64): Move these functions to bits.c. Add
1366 support for BITS_INLINE to inline these. Add declarations to
1367 bits.h.
1368
1369 * configure.in (--enable-sim-warnings): Add new option to specify
1370 compiler warnings for all modules except idecode.o and semantics.o
1371 which have lots of unused variables because they are machine
1372 generated.
1373 (--enable-sim-function-unit): New switch to configure whether
1374 function unit support is compiled in or not.
1375 (--enable-sim-{,default-}mode): New switches to control which cpu
1376 model is used.
1377 * configure: Regenerate.
1378
1379 * corefile.c (core_attach_address_callback): Delete unused
1380 variable device_address.
1381
1382 * cpu.c (struct _cpu): Add function unit pointer field func_unit.
1383 (cpu_create): If WITH_FUNCTION_UNIT, call function_unit_create.
1384 (cpu_init): If WITH_FUNCTION_UNIT, call function_unit_init.
1385 (cpu_halt): If WITH_FUNCTION_UNIT, call function_unit_halt.
1386 (cpu_function_unit): New function to return func_unit field.
1387
1388 * cpu.h (function_unit.h): Include new include file.
1389 (cpu_function_unit): Declare.
1390
1391 * debug.c (stdlib.h): Test HAVE_STDLIB_H, not HAVE_STDLIB.
1392 (config.h): Include config.h.
1393
1394 * devices.c (icu_io_write_buffer_callback): Delete unused variable
1395 system.
1396
1397 * emul_generic.c (emul_exit_call): Print out status value.
1398
1399 * emul_netbsd.c (do_read): Delete unused variable nr_moved.
1400
1401 * filter_filename.h (includes): Include config.h, ppc-config.h,
1402 not basics.h.
1403
1404 * inline.c: Include bits.c if BITS_INLINE. Include
1405 function_unit.c if FUNCTION_UNIT_INLINE.
1406
1407 * inline.h (INLINE_BITS): Define if BITS_INLINE.
1408 (INLINE_FUNCTION_UNIT): Define if FUNCTION_UNIT_INLINE.
1409
1410 * interrupts.c (instruction_storage_interrupt): Delete unused
1411 variable nia.
1412
1413 * lf.h (config.h): Include config.h.
1414
1415 * main.c (includes): Include function_unit.c. If HAVE_UNISTD_H,
1416 include unistd.h.
1417 (usage): Update for -m model, -i, and -I options.
1418 (main): Delete unused variables stack_pointer and i. Add support
1419 for -i, -m model arguments. Call psim_print_info with verbose ==
1420 1 if -i, and verbose == 2 if -I.
1421
1422 * mon.c (stdio.h): Include stdio.h to pick up sprintf prototype.
1423 (mon_issue): Call function_unit_issue if function units are
1424 supported.
1425 (mon_print_info): Take psim * argument. Print out information
1426 from function_unit if available. Move read/write stats to always
1427 print, instead of printing if verbose > 1. Fix up plural
1428 vs. singular usage.
1429
1430 * mon.h (mon_print_info): Update prototype.
1431
1432 * psim.c (current_ppc_model): Add global variable.
1433 (psim_print_info): Pass system argument to mon_print_info.
1434
1435 * sim_calls.c (function_unit.h): Include.
1436 (sim_open): Add support for -i and -m model options. If -i call
1437 psim_print_info with verbose == 1, if -I, with verbose == 2.
1438 (sim_resume): Delete unused variable program_counter.
1439
1440 * std-config.h (WITH_FUNCTION_UNIT): Define.
1441 (ppc_model): Add enumeration giving all PowerPC models currently
1442 known about.
1443 ({WITH,CURRENT}_PPC_MODEL): Define.
1444 (FUNCTION_UNIT_INLINE): Define.
1445
1446 * table.c (config.h): Include config.h.
1447
1448 * vm.c (om_virtual_to_real): Print pte_word_{0,1} so the compiler
1449 doesn't complain that they're unused.
1450
1451 * vm_n.h (vm_data_map_read_N): Delete unused variable rval.
1452
1453Mon Nov 6 23:15:54 1995 Andrew Cagney <cagney@highland.com.au>
1454
1455 * sim-endian.c (ppc-endian.c), sim-endian.h (ppc-endian.h):
1456 renameed. These files are target independant.
1457 * Makefile.in, basics.h: update for new name.
1458
1459 * sim-endian.h (SWAP_N), sim-endian.c (_SWAP_1): Rename existing
1460 SWAP_<N> to _SWAP_<N> so that sim-endian.h can contain SWAP_N
1461 macro's as required.
1462
1463 * sim-endian.c, sim-endian-n.h (new file): Move endian code into a
1464 debugable header file.
1465
1466 * ppc-instructions (Byte-Reverse): Enable byte reverse
1467 instructions using SWAP_N macros.
1468
0934e520
MM
1469Mon Nov 6 10:39:28 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1470
bea95815
MM
1471 * Makefile.in (config.status): Remove references to config.make
1472 and config.hdr.
1473
0934e520
MM
1474 * config.{make,hdr}: Delete, no longer used.
1475 * build-psim: Ditto.
1476
4dcb0cdd
MM
1477Mon Nov 6 20:49:56 1995 Andrew Cagney <cagney@highland.com.au>
1478
1479 * sim_calls.c (sim_open): Fix parsing of `target sim' options.
1480
1481 * device_tree.c (device_tree_add_string): Wasn't saving the value
1482 of the string being entered into the tree.
1483
1484 * psim.c (create_filed_device_tree): Not terminating string device
1485 names with a null.
1486
1487 * psim.c (psim_create): Use `env' instead of
1488 `environment-architecture' to be consistent with configure.
1489 Reconize user/uea, virtual/vea and operating/oea.
1490
01860b7e
FF
1491Sat Nov 4 12:29:45 1995 Fred Fish <fnf@cygnus.com>
1492
1493 * core.c: Rename to corefile.c
1494 * core.h: Rename to corefile.h
1495 * inline.c: Include corefile.h, renamed from core.h.
1496 * cpu.h: Include corefile.h, renamed from core.h
1497 * vm.c: Include corefile.h, renamed from core.h
1498 * corefile.c: Include corefile.h rather than core.h
1499 * README.psim (KNOWN PROBLEMS): Change core.* references to corefile.*
1500 references.
1501 * Makefile.in (CPU_H): Change core.h to corefile.h
1502 (vm.o): Change dependency to corefile.h
1503 (LIB_SRC): Change core.c to corefile.c.
1504 (LIB_OBJ): Change core.o to corefile.o.
1505 (corefile.o): Change dependencies to corefile.c, corefile.h.
1506
056e975c
MM
1507Fri Nov 3 11:37:24 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1508
1509 * ppc-instructions (data cache instructions): Make all data cache
1510 instructions nops instead of invalid instructions.
1511
1512 * Makefile.in (CONFIG_CFLAGS): Add ALIGNMENT_CFLAGS and
1513 TIMEBASE_CFLAGS which weren't included.
1514
a983c8f0
MM
1515Thu Nov 2 08:54:04 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1516
e61900e6
MM
1517 * Makefile.in: Uncomment built file dependencies.
1518
c494cadd
MM
1519 * configure.in: Rewrite --enable-sim switch handling to use the
1520 autoconf builtins so it works correctly if the configure or
1521 Makefile.in files are modified and make decides to rebuild
1522 Makefile. Also document all of the --enable-sim switches
1523 supported. Check whether getrusage and sys/resource.h are
1524 supported.
1525 * config.in: Regenerate.
1526 * configure: Regenerate.
1527 * Makefile.in: Add support for all of the variables set with
1528 --enable-sim switches.
1529
1530 * Makefile.in (clean): make clean now removes all built sources as
1531 well.
1532
1533 * cpu.c: Use HAVE_STRING_H, HAVE_STRINGS_H, HAVE_UNISTD_H,
1534 HAVE_TIME_H, HAVE_SYS_TIMES_H, HAVE_SYS_RESOURCE_H defined in
1535 the generated config.h.
1536 * debug.c: Ditto.
1537 * device_tree.c: Ditto.
1538 * devices.c: Ditto.
1539 * dgen.c: Ditto.
1540 * emul_netbsd.c: Ditto.
1541 * igen.c: Ditto.
1542 * lf.c: Ditto.
1543 * misc.c: Ditto.
1544 * psim.c: Ditto.
1545 * registers.c: Ditto.
1546 * sim_calls.c: Ditt.
1547 * table.c: Ditto.
1548
1549
a983c8f0
MM
1550 * main.c (main): Call psim_print_info with verbose == 2.
1551
1552 * mon.c (mon_print_info): Align the cpu number and number of
1553 instructions fields. Do not print an instruction category if the
c494cadd
MM
1554 CPU did not execute any of those instructions. Print out number
1555 of reads and writes. If getrusage is supported, print out number
1556 of simulated instructins per second.
a983c8f0
MM
1557
1558 * configure.in: Add support for --enable-sim-opcode=stupid.
1559 * configure: Regenerate.
1560
1dc7c0ed 1561Wed Nov 1 23:46:59 1995 Andrew Cagney <cagney@highland.com.au>
a983c8f0
MM
1562
1563 * std-config (INLINE_DEVICE_TREE): Don't inline either of
1564 device_tree.c or devices.c. There is no significant gain.
1565
1566 * configure.in, Makefile.in: add --enable-sim-icache=[0-9]* and
1567 IGEN_ICACHE macro.
1568
1dc7c0ed 1569Wed Nov 1 23:46:59 1995 Andrew Cagney <cagney@highland.com.au>
a983c8f0
MM
1570
1571 * igen.c (main), misc.h (target_a2i, i2target), misc.c: Add
1572 functions to convert between target and igen internal bit numbers.
1573 Make IO go through these functions. Add -b (bit size) and -h (high
1574 bit nr) options to igen. Typical usage would be: ./igen -b 16 -h
1575 15 for a 16 bit instruction format with the msb given a number 15.
1576
1dc7c0ed 1577Wed Nov 1 22:17:32 1995 Andrew Cagney <cagney@highland.com.au>
a983c8f0
MM
1578
1579 * dgen.c (main): Was outputting optarg even when it was NULL.
1580
1dc7c0ed 1581Tue Oct 31 23:48:33 1995 Andrew Cagney <cagney@highland.com.au>
a983c8f0
MM
1582
1583 * vm_n.h (vm_data_map_load_N, vm_data_map_store_n), debug.h,
1584 debug.c: Add tracing of load/store unit (virtual) with -t
1585 load-store.
1586
1dc7c0ed 1587Tue Oct 31 21:44:01 1995 Andrew Cagney <cagney@highland.com.au>
a983c8f0
MM
1588
1589 * std-config.h (WITH_ENVIRONMENT): Add USER_ENVIRONMENT which does
1590 not include things such as the time base and events.
1591
1592 * interrupt.c, sim_calls.c, cpu.h, vm.c, configure.in: Add UEA to
1593 all environment switches for above.
1594
1595 * psim.c (psim_create): ditto - new device tree node name is
1596 /options/environment-architecture with values user, virtual and
1597 operating.
1598
1dc7c0ed 1599Tue Oct 31 21:31:32 1995 Andrew Cagney <cagney@highland.com.au>
a983c8f0
MM
1600
1601 * ppc-opcode-stupid: Third example of use of opcode table - this
1602 one expands all mtspr/mfspr and branch instructions. Appears to
1603 give about a 10% gain in performance if everything enabled. Also
1604 takes about 150mb of swap to build.
1605
c143ef62
MM
1606Wed Nov 1 10:49:48 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1607
1608 * emul_netbsd.c (do_exit): Print arguments and close parenthesis
1609 if tracing, since exit doesn't go through emul_exit_call.
1610 (do_read): Print arguments if tracing.
1611 (do_write): Ditto.
1612 (do_open): Ditto.
1613 (do_break): Ditto.
1614 (do_kill): Ditto.
1615 (do_dup): Ditto.
1616 (do_sigprocmask): Replace trace with printing arguments if
1617 tracing.
1618 (do_ioctl): Print arguments if tracing.
1619 (do_umask): Ditto.
1620 (do_dup2): Ditto.
1621 (do_fcntl): Ditto.
1622 (do_gettimeofday): Ditto.
1623 (do_getrusage): Ditto.
1624 (do_fstatfs): Ditto.
1625
1626 * filter_filename.c: New file to provide filter_filename to strip
1627 the directory prefix from a file.
1628 * filter_filename.h: New include file to declare filter_filename.
1629
1630 * debug.h: Include filter_filename.h.
1631 (TRACE,DTRACE,ERROR): Use filter_filename on __FILE__.
1632
1633 * misc.h: Include filter_filename.h.
1634 (ASSERT): Use filter_filename on __FILE__.
1635
1636 * igen.c (lf_print_my_prefix): Use filter_filename on the filename
1637 argument.
1638
1639 * Makefile.in: Add filter_filename support.
1640
1641 * ppc-instructions (dcbi, icbi): Make these NOPs rather than
1642 invalid instructions.
1643
1644 * configure.in: Add support for more --enable-sim-* switches.
1645 Use config.make and config.hdr to write to Makefile and config.h
1646 respectively. Don't rewrite Makefile, just append to it.
1647 * configure: Regenerate.
1648 * config.{make,hdr}: New shell scripts.
1649
1650 * Makefile.in: Remove all variables set by configure.in.
1651 (psim.o): Depend on $(BUILT_SRC) also.
1652
1653 * emul_netbsd.c (do_gettimeofday,do_getrusage): When comparing an
1654 integer, use 0, not NULL.
1655
4b935ed4
MM
1656Tue Oct 31 15:20:04 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1657
1658 * configure.in: Add support for --enable-sim-inline,
1659 --enable-sim-bswap, --enable-sim-cflags, --enable-sim-complex,
1660 --enable-sim-switch, --enable-sim-duplicate, --enable-sim-filter,
1661 and --enable-sim-endian switch to control various Makefile
1662 variables.
1663 * configure: Regenerate from configure.in.
c143ef62
MM
1664 * Makefile.in: Add various Make variables that the various
1665 switches alter.
4b935ed4
MM
1666
1667 * std-config.h (DEFAULT_INLINE): Don't set this to 2 if using GCC
1668 and optimizing by default.
1669
c143ef62 1670Fri Oct 27 19:26:27 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1671
1672 * bits.h (ROTL32, ROTL64): Were functions, made them macros, now
1673 make them functions again. Appears 2.6.3 is confused by just a
1674 macro.
1675
c143ef62 1676Thu Oct 26 18:31:58 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1677
1678 * ppc-endian.c (SWAP_8): Fix 8 byte swap!
1679
1680 * psim.c (psim_create): Not correctly checking that runtime
1681 configuration of things like ENDIAN, ENVIRONMENT and ALIGNMENT
1682 matched the compiled in ones.
1683
1684 * debug.h (ITRACE), igen.c: Tidy up more tracing flags -
1685 trace_semantics is now different to trace_idecode, the former
1686 checks the cache.
1687
c143ef62 1688Tue Oct 24 21:54:13 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1689
1690 * ppc-instructions (mtsrin): Missing instruction
1691 * ppc-instructions (mfsrin): Missing instruction
1692 * ppc-instructions (eieio): Missing instruction
1693
c143ef62 1694Tue Oct 24 20:55:29 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1695
1696 * build-psim: New shell script - see internals for usage,
1697 simplifies the process of building custom simulators.
1698
c143ef62 1699Mon Oct 23 23:48:59 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1700
1701 * std-config.h (SEMANTICS_INLINE): Tidy up notes on each of the
1702 INLINE macros. Make SEMANTICS_INLINE == 1 if DEFAULT_INLINE == 2.
1703 Don't use DEFAULT_INLINE to define REGISTERS_INLINE DEVICES_INLINE
1704 DEVICE_TREE_INLINE or INTERRUPTS_INLINE as none of these are on
1705 the instruction or data critical paths.
1706
5b4d72dd
MM
1707 * FIXME: devices.c/emul_netbsd.c would benefit (slightly) from
1708 the inclusion of device_tree.c/emul_generic.c.
1709
c143ef62 1710Mon Oct 23 00:31:50 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1711
1712 * os_emul.[hc], emul_generic.[hc], emul_netbsd.[hc]: replace
1713 system.[hc]. Start of suport for multiple emulations and
1714 emulation state (os_emul object).
1715
1716 * emul_generic.[hc]: Start of code to implement proper system call
1717 tracing (from spy).
1718
c143ef62 1719Sun Oct 22 21:33:51 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1720
1721 * cpu.h, cpu.c (cpu_init): New function, zero the registers before
1722 the processor is started. Fixes problem of registers being
1723 undefined when restarting from within gdb.
1724
1725 * cpu.h, cpu.c (cpu_flush_icache): New function, flushes the
1726 instruction cache (if present). Fixes problem of cpu caching gdb
1727 breakpoint instructions.
1728
1729 FIXME: PSIM sometimes aborts calling error(), it should instead
1730 call sim_error() say which takes care of housekeeping such as
1731 saving the CIA before calling error.
1732
1733 * NOTE: cpu_flush_cache() instead of cpu_synchronize_context() is
1734 used when restarting a simulation because the latter has the
1735 unwanted side effect (well I as a kernel hacker think it is) of
1736 performing an isync when the instruction stream doesn't contain
1737 one.
1738
c143ef62 1739Sun Oct 22 19:27:48 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1740
1741 * mon.h (new), mon.c (new), std-config.h (WITH_MON): Performance
1742 monitoring module. Counts both instructions issued and
1743 load/stores.
1744
1745 * NOTE: mon does not contain to count instruction loads as this
1746 information is already available from the mon_issue() hook.
1747
5b4d72dd
MM
1748 * igen.c (lf_print_c_semantic), vm_n.h: Add counting code.
1749
1750 * psim.h, psim.c (psim_create), cpu.h, cpu.c (cpu_create): Attach
1751 a common monitor to each of the cpus. Delete
1752 cpu_increment_number_of_insns() and cpu_get_number_of_insns()
1753 replaced by copied code in mon.[hc].
1754
c143ef62 1755Sun Oct 22 18:42:45 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1756
1757 * sim_calls.c, main.c, psim.c (psim_create): always create
1758 `WITH_SMP' cpus. The actual number of CPU's active in a
1759 simulation run is taken from the device node: /init/smp (an
1760 integer). WITH_SMP changed to 2 (remember to put it back to 0).
1761
c143ef62 1762Fri Oct 20 17:26:54 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1763
1764 * system.c: More system call emulation. If code appears NetBSD
1765 specific, make conditional to being compiled on a NetBSD system
1766 (sigh).
1767
c143ef62 1768Wed Oct 18 23:02:20 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1769
1770 * Makefile.in, gen.c(delete), igen.c(new), dgen.c(new),
1771 lf.[ch](new), table.[ch](new): Split into two generators - igen
1772 that outputs the instruction tables and dgen that outputs the spr
1773 tables. Add -f (filter out) flag to igen to filter out certain
1774 instructions (ex 64 bit ones) from the created tables. Include
1775 $(LIBIBERTY_LIB) in link options in case host lacks some libc
1776 functions.
1777
1778 * NOTE: igen, since it was originally written for the
1779 PowerPC/RS6000, things the MSB is 0 and the LSB is 63{31}.
1780
1781 * Makefile.in, std-config.h, ppc-cache-rules(new),
1782 ppc-opcode-complex(new), ppc-opcode-simple(new): (for igen) Create
1783 cache-rule and opcode-rule tables from macros found std-config.h.
1784 Delete corresponding macro's from std-config.h.
1785
5b4d72dd
MM
1786 * igen.c (gen_itable_c, gen_itable_h), Makefile.in: code to output
1787 an table of all the instructions. Code to output a type
1788 enumerating all the instructin names.
1789
1790 * igen.c(lf_print_c_semantic): Move call to increment instruction
1791 counter so that it occures _after_ the instruction has been fully
1792 validated, was double counting illegal/invalid instructions. Add
1793 conditional so only compiled in when WITH_PROFILE enabled (enabled
1794 by default).
1795
1796 * igen.c, cpu.h, cpu.c(cpu_increment_number_of_insns): Include
1797 itable.h, count individual instruction types not just total,
1798 adjust reporting functions to output this.
1799
1800 * ppc-instructions (64 bit Load Doubleword with Update Indexed):
1801 Had 32./ instead of 31./
1802
1803 * ppc-instructions (64 bit Store Double Word Conditional Indexed):
1804 bitrot - updated to use newer CR register operators.
1805
1806 * ppc-instructions (64bit Floating Convert from Integer
1807 Doubleword): Correct call to Round_Float().
1808
c143ef62 1809Mon Oct 16 00:31:20 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1810
1811 * basics.h: #include "sim_callbacks.h" earlier so that its
1812 prototypes are declared in all other header files.
1813
1814 * bits.h, bits.c, idecode_expression.h (ROTL32, ROTL64): Update
1815 doc in bits.h, remove dead code in bits.c, move ROTL32/ROTL64 into
1816 bits.h.
1817
5b4d72dd
MM
1818 * cpu.c(cpu_add_commas), device_tree.h, device_tree.c(scand_*):
1819 Add size of buffer argument to functions writing a string into a
1820 buffer. Check for buffer overflow.
1821
c143ef62 1822Sun Oct 15 22:16:11 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1823
1824 * devices.h, devices.c, debug.h, debug.c: add macro's for tracing
1825 of each device. Make parameter names consistent so macros work.
1826 Use macro's in device functions.
1827
1828 * device_tree.c, devices.h, devices.c: include path to device in a
1829 devices node when creating it.
1830
1831 * device_tree.c, debug.h, debug.c: Add tracing of `device-tree'.
1832
1833 * core.c: add tracing of core-device, adjust parameter names in
1834 core functions to be consistent with those in devices*.
1835
c143ef62 1836Sun Oct 15 20:33:20 1995 Andrew Cagney <cagney@highland.com.au>
5b4d72dd
MM
1837
1838 * debug.h, debug.c (trace_option): New function. Parses the trace
1839 option, updating the trace array.
1840
1841 * debug.h, debug.c (trace_usage): New function. Outputs the list
1842 of all possible trace options.
1843
1844 * sim_calls.c (sim_open), main.c (main): Use new trace_option() to
1845 parse trace options specified with the simpler -t flag. Adjust
1846 usage.
1847
1848 * FIXME: basic parsing of command line options is still duplicated
1849 by main.c and sim_calls.c
1850
22ddef46
MM
1851Thu Oct 26 10:42:28 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1852
e89929cd
MM
1853 * Makefile.in (clean): Delete *.i and *.out files.
1854
22ddef46
MM
1855 * ppc-endian.c (SWAP_n): Add SET argument to allow use of SWAP
1856 macros for either assignment or return. Fix SWAP_8 to use a
1857 union, and two SWAP_4's. Delete SWAP_N, since nobody uses it now.
1858 (ENDIAN_N): Add SET argument to SWAP_n calls. Delete macro defs
1859 that hardwired swapping on/off, let optimizer delete dead code.
1860
1861 * main.c (main): Add printf that we caught a signal and print out
1862 the failing address.
1863
64415b76
FF
1864Thu Oct 19 21:43:39 1995 Fred Fish <fnf@fishfood.amigalib.com>
1865
1866 * Makefile.in: Remove tabs from otherwise empty line.
1867 Confuses many non-GNU versions of "make".
1868
1869Wed Oct 18 08:51:25 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1870
1871 * Makefile.in (clean): Delete files produced by gen.
1872
5b0d3b14
MM
1873Mon Oct 16 17:34:24 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1874
1875 * gen.c (lf_print_c_semantic_function): Move counting # of
1876 instructions here so it works with caching.
1877 (gen_idecode_c): Move from here.
1878
9aa8a788
MM
1879Wed Oct 11 17:13:15 1995 Andrew Cagney <cagney@highland.com.au>
1880
1881 * gen.c, ppc-instructions, psim.c: Fix code for generating
1882 cracking instruction cache. Delete the code that cached just the
1883 result from doing an instruction lookup - this ran slower than no
1884 cache at all.
1885
a1fe883f
MM
1886Fri Oct 13 09:58:43 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1887
9aa8a788
MM
1888 * Makefile.in (gen.o): Include $(INLINE_CFLAGS).
1889
a1fe883f
MM
1890 * debug.h (ppc_trace): Rename from trace, to avoid a conflict with
1891 TCL when gdb is linked with the simulator.
1892 * debug.c (ppc_trace): Ditto.
1893 * sim_calls.c (sim_open): Change trace -> ppc_trace.
1894 * main.c (main): Ditto.
1895
1896 * cpu.c (cpu_add_commas): Remove extra static.
1897
8e20a3ac
MM
1898Thu Oct 12 11:35:53 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1899
9f5912cb
MM
1900 * Makefile.in (psim.o): Now that inlines are turned on, make
1901 psim.o depend on all sources.
1902
1903 * cpu.c (cpu_add_commas): New function to format a long with
1904 commas.
1905 (cpu_print_info): Use it to print number_of_insns.
1906
a8958dd4
MM
1907 * ppc-endian.c (SWAP_n): New macros to speed up byte swapping for
1908 2, 4, and 8 bytes.
1909 (ENDIAN_N): If both target and host byte orders are known, don't
1910 bother testing CURRENT_{TARGET,HOST}_BYTE_ORDER.
1911
1912 * ppc-endian.h (target specific H2T_n/T2H_n macros): Remove #if 0
1913 to allow target specific H2T_n/T2H_n macros to be used.
1914 (htonl, ntohl): If compiled on a 486 by GCC and WITH_BSWAP is
1915 non-zero, redefine the htonl/ntohl macros to use the BSWAP instead
1916 of the 3 instruction sequence that runs on 386s.
1917
1918 * std-config.h (WITH_{HOST,TARGET}_BYTE_ORDER): Don't override if
1919 specified on the compile line.
1920 (WITH_BSWAP): If not defined, define as 0.
1921
8e20a3ac
MM
1922 * Makefile.in (INLINE_CFLAGS): Add -DDEFAULT_INLINE=2 to add
1923 default inline support. Pass INLINE_CFLAGS when compiling.
1924
1925 * devices.{h,c} (unimp_device_ioctl): Use STATIC_DEVICES, not
1926 INLINE_DEVICES since GCC doesn't like inline functions that
1927 accept variable arguments.
1928 (stack_ioctl_callback): Make function just static because GCC
1929 doesn't like inline functions that accept variable arguments.
1930
1931 * devices.h (STATIC_DEVICES): Define as empty if not defined.
1932
1933 * inline.c: Correct pathnames of included C files to match current
1934 implementation.
1935
1936 * inline.h (STATIC_DEVICES): If DEVICES_INLINE is defined to be
1937 non-zero, define STATIC_DEVICES to be static.
1938
1939 * std-config.h (INLINE): If GNU C and optimizing, define this as
1940 __inline__.
1941 (DEFAULT_INLINE): If not defined, define as 0.
1942 (ENDIAN_INLINE): If not defined, define as DEFAULT_INLINE.
1943 ({CORE,VM,CPU,EVENTS,REGISTERS,INTERRUPTS}_INLINE): Ditto.
1944 ({SPREG,IDECODE}_INLINE): Ditto.
1945
c143ef62 1946Wed Oct 11 17:13:15 1995 Andrew Cagney <cagney@highland.com.au>
8e20a3ac
MM
1947
1948 * ppc-instructions: Initial cut of floating point suport added.
1949 Of note include - use of host IEEE floating point instructions,
1950 use of PowerPC manual pseudo code to handle the FPSCR. It is not
1951 currently a pretty sight.
1952
1953 * memory_map.h, memory_map.c, memory_map_n.h, core.h, core.c:
1954 merge into core.h, core.c, core_n.h. The type memory_map replaced
1955 with core_map. This removes a level of pointer indirection when
1956 translating an address.
1957
1958 * memory_map.h, memory_map.c, memory_map_n.h: delete.
1959
1960 * Makefile.in et.al (sorry): tweek to use new core, core_map and
1961 core.h.
1962
c143ef62 1963Wed Oct 11 12:10:26 1995 Andrew Cagney <cagney@highland.com.au>
8e20a3ac
MM
1964
1965 * sim_calls.c, main.c: Add -g (trace_gdb) option, add tracing to
1966 most of the other functions in sim_calls.c.
1967
1968 * basics.h (CONCAT3), memory_map.c, memory_map_n.h, Makefile.in:
1969 Add macros to better cover up `generic' code. Makes it possible
1970 to step through the generic code!
1971
1972 * vm.c, vm_n.h, Makefile.in: ditto
1973
c143ef62 1974Tue Oct 10 15:42:59 1995 Andrew Cagney <cagney@highland.com.au>
8e20a3ac
MM
1975
1976 * devices.h, devices.c, memory_map.h, memory_map.c: Changed
1977 callback interface so that there is a read/write buffer but no
1978 read/write_word. VEA default memory read/write handler sometimes
1979 couldn't resolve an access and of those some were for a memory
1980 fault and some were because gdb was making a bogus request.
1981
1982 * devices.h, devices.c, memory_map.h, memory_map.c, vm.h, vm.c:
1983 eliminate transfer_mode (raw or cooked) parameter from read/write
1984 buffer.
1985
c143ef62 1986Fri Oct 6 20:23:56 1995 Andrew Cagney <cagney@highland.com.au>
8e20a3ac
MM
1987
1988 * ppc-instructions (fmul, fmuls): correct instruction format - had
1989 FRB instead of FRC.
1990
c143ef62 1991Wed Oct 4 17:31:12 1995 Andrew Cagney <cagney@highland.com.au>
8e20a3ac
MM
1992
1993 * psim.c, device_tree.h, device_tree.c, devices.c (printd_*,
1994 scand_*): new functions to parse/print fields in device names
1995 while hiding any machine dependency.
1996
1997 * devices.c, psim.c: Change the stack init code so that it is
1998 handled by a device. Arguments passed across using a device ioctl
1999 (hack).
2000
2001 * devices.h, devices.c: device ioctl callback changed to allow a
2002 variable number of arguments. This gives greater flexability and
2003 greater chance of bugs.
2004
c143ef62 2005Tue Oct 3 22:01:56 1995 Andrew Cagney <cagney@highland.com.au>
8e20a3ac
MM
2006
2007 * main.c (printf_filtered, error): Missing va_end() to close off
2008 variable argument use.
2009
2010 * Makefile.in (tmp-gencode): comment out hack to get around some
2011 versions of make not handling files being created as side-effects.
2012
2013 * gen.c (lf_open): Add -n (real_file_name) option. Specifies an
2014 alternative file name to use in output files for things like #line
2015 macros.
2016
2017 Makefile.in (tmp-gencode): Use gen -n so that debug info is
2018 correct.
2019
2020 * Makefile.in (TARGETLIB): Use this instead of libsim.a in the
2021 Makefile.
2022
f46f3807
MM
2023Sat Oct 7 22:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2024
2025 * sim_calls.c (sim_set_callbacks): Define new function.
2026
7ca054e8
MM
2027Fri Oct 6 17:23:10 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2028
2029 * psim.c (psim_print_info): Print exit status or signal number.
2030
8eab189b
MM
2031Mon Oct 2 11:46:37 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2032
344d5a23 2033 * cpu.c (struct _cpu): Add number_of_insns field to trace how many
83d96c6e
MM
2034 instructions are executed.
2035 (cpu_increment_number_of_insns): New function to increment the
2036 number of instructions issued.
2037 (cpu_get_number_of_insns): New function to return the number of
2038 instructions issued.
2039 (cpu_print_info): New function to print cpu related information.
2040 At present, print the number of instructions executed.
2041
2042 * gen_idecode_c: Emit call to cpu_increment_number_of_insns within
2043 idecode_issue.
2044
2045 * psim.c (psim_print_info): New function to iterate over each of
2046 the CPU's calling cpu_print_info.
2047
2048 * psim.h,cpu.h: Add new declarations.
2049
8eab189b
MM
2050 * sim_calls.c (sim_open): Add argument processing to add the same
2051 switches main.c accepts for the standalone processor.
83d96c6e
MM
2052 (sim_close): Call psim_print_info if -I.
2053
8eab189b 2054 * main.c (main): Add comment saying to update sim_calls.c when
83d96c6e 2055 adding switches. Add -I to call psim_print_info when done.
e1aaf979 2056 (usage): Update usage message.
8eab189b 2057
d8d46596
MM
2058Sun Oct 1 13:52:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2059
2060 * main.c (printf_filtered): Correct to match new prototype.
2061
9d3b4701
MM
2062Sat Sep 30 20:47:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2063
2064 * sim_callbacks.h (printf_filtered): Correct prototype.
2065
4f35cbff
MM
2066Thu Sep 21 16:26:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2067
9d3b4701
MM
2068 * device_tree.c (OEA_MEMORY_SIZE): Define if not defined to
2069 0x100000.
2070 (clayton_memory_size): Define as OEA_MEMORY_SIZE.
2071
4f35cbff
MM
2072 * std-config.h (WITH_TRACE): Default to 1 now.
2073
2074 * psim.c (write_stack_arguments): Don't write any stack arguments
2075 if OEA.
2076
2077 * main.c (main): Switch to using getopt. Make -p also set
9d3b4701
MM
2078 trace_semantics. Make -a turn on all trace flags. Make -C turn
2079 on console tracing.
4f35cbff
MM
2080
2081 * device_tree.c (create_option_device_node): Assume a program is
2082 OEA if the start address is < 4096, not just == 0.
2083
602677ad
ILT
2084Wed Sep 20 13:36:06 1995 Ian Lance Taylor <ian@cygnus.com>
2085
2086 * Makefile.in (maintainer-clean): New synonym for realclean.
2087
0384d2e3
MT
2088Sun Sep 10 10:23:56 1995 Michael Tiemann <tiemann@axon.cygnus.com>
2089
2090 * registers.c (register_description): Add gdb synonyms for cr
2091 (cnd) and msr (ps).
2092
2093Fri Sep 8 13:16:10 1995 Ian Lance Taylor <ian@cygnus.com>
2094
2095 * Makefile.in (install): Don't install in $(tooldir).
2096
8b3797aa
MM
2097 * configure.in: Call AC_CONFIG_HEADER. Don't try to use
2098 bfd/hosts/*.h file or bfd/config/*.mh file. Call AC_PROG_CC and
2099 AC_PROG_RANLIB. Substitute in values for CFLAGS, HDEFINES, AR,
2100 and CC_FOR_BUILD. Call AC_CHECK_HEADERS for various header files.
2101 Touch stamp.h if creating config.h.
2102 * configure: Rebuild.
2103 * config.in: New file, created by autoheader.
2104 * Makefile.in (AR): Define as @AR@.
2105 (CC): New variable, defined as @CC@.
2106 (CFLAGS): Define as @CFLAGS@.
2107 (CC_FOR_BUILD): New variable, defined as @CC_FOR_BUILD@.
2108 (RANLIB): Define as @RANLIB@.
2109 (HDEFINES, TDEFINES): New variables.
2110 (@host_makefile_frag@): Remove.
2111 (mostlyclean): Make the same as clean, not distclean.
2112 (clean): Remove config.log.
2113 (distclean): Remove config.h and stamp-h.
2114 (Makefile): Don't depend upon @frags@. Just rebuild Makefile when
2115 invoking config.status.
2116 (config.h, stamp-h): New targets.
2117 (gen, gen.o): Build with CC_FOR_BUILD, not CC.
2118 (ppc-config.h): Rename from old config.h build.
2119 * (basics.h,gen.c,ppc-endian.c,psim.c): Include ppc-config.h.
2120
4f965b81
MM
2121Fri Sep 8 09:51:03 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2122
2123 * configure{,.in}: Don't include sysdep.h from bfd, since bfd no
2124 longer provides it.
2125 * basics.h (sysdep.h): Don't include it.
2126 * Makefile.in (BASICS_H): Remove sysdep.h.
2127
c143ef62 2128Wed Sep 6 13:25:42 1995 Andrew Cagney <cagney@highland.com.au>
4f965b81
MM
2129
2130 * core.c (core_add_data): First growth of bss was being put at
2131 wrong address (0) instead of &end.
2132
2133 * core.c (core_add_stack, core_add_data): Was not handling case
2134 where bss/stack is grown across the current end-of-{bss,stack}.
2135
c143ef62 2136Wed Sep 6 00:46:10 1995 Andrew Cagney <cagney@highland.com.au>
4f965b81
MM
2137
2138 * system.c (system_call): Fix SYS_break - was aligning bss to a
2139 page boundary instead of just an 8 byte one; On first call sbrk(0)
2140 != sbrk(0).
2141
2142Thu Aug 24 14:48:54 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2143
2144 * Makefile.in (install): Fix install rule.
2145
cb7a6892
MM
2146Tue Aug 22 09:31:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2147
2148 * system.c (system_call): Add read support.
2149
2150 * main.c (main): -t sets trace_device_tree. Correct usage message
2151 to current reality.
2152
2153 * device_tree.c (update_memory_node_for_section): Make tracing
2154 output line up. If not code or readonly, assume that the section
2155 is a data section and has read/write permissions. Add readonly
2156 support.
2157
2158 * core.c (create_core_from_addresses): Print end address in traces
2159 and make tracing output line up.
2160
2161 * Makefile.in: Rewrite from Makefile to work with the Cygnus
2162 environment, and support compiling in a different directory than
2163 the sources reside in.
2164
2165 * ppc-endian.h: Rename from endian.h so that it doesn't get
2166 confused with /usr/include/sys/endian.h on Linux. Add Linux
2167 endian support.
2168
2169 * ppc-endian.c: Rename to be consistant with ppc-endian.h.
2170 Include ppc-endian.h, not endian.h.
2171
2172 * basics.h (sysdep.h): Include sysdep.h that configure makes.
2173 Include ppc-endian.h, not endian.h.
2174
2175 * std-config.h: Rename from ppc-config. Put #ifndefs around most
2176 configuration macros, so they can be overridden via CFLAGS. By
2177 default, turn off tracing.
2178
2179 * configure.in: Clone from other simulator targets.
2180 * configure: Generate via autoconf from configure.in.
2181
c143ef62 2182Sat Aug 19 09:05:32 1995 Andrew Cagney <cagney@highland.com.au>
cb7a6892
MM
2183
2184 * ppc-instructions: fix srawi (was geting XER[CA] real wrong).
2185
2186 * interrupts.c (data_storage_interrupt): allow stack to grow by
2187 upto one MB per increment.
2188
2189 * ppc-instructions: divw was computing rA / rA not rA / rB
2190
2191 * main.c (main): really stupid. Wasn't exiting with correct status
2192
c143ef62 2193Fri Aug 18 00:38:01 1995 Andrew Cagney <cagney@highland.com.au>
cb7a6892
MM
2194
2195 * system.c (system_call): add system calls kill(2) and getpid(2).
2196
2197 * main.c (main): Check/return exit status when simulation
2198 finishes.
2199
c143ef62 2200Thu Aug 17 14:29:18 1995 Andrew Cagney <cagney@highland.com.au>
cb7a6892
MM
2201
2202 * device_tree.c (create_option_device_node): Alignment rules (at
2203 least for the moment) now are for strict alignment only for LE OEA
2204 mode. (Because of compiler problems).
2205
2206 * system.c (system_call) SYS_exit: Wasn't exiting with correct status.
2207
c143ef62 2208Thu Aug 17 01:16:38 1995 Andrew Cagney <cagney@highland.com.au>
cb7a6892
MM
2209
2210 * vm.c (DEFINE_VM_DATA_MAP_WRITE_N): For miss aligned transfer
2211 forgot to return.
2212
2213 * system.c (system_call): didn't page align break argument before
2214 determining increment break increment.
2215
2216 * psim/ppc: Re-arange entire directory structure so that
2217 everything lives in the one directory. While a pain for cleaning,
2218 makes building across multiple architectures much simpler.
2219
2220 * devices.c, device_tree.c: Added code that provides a simple
2221 illustration of how an interrupt control device could be
2222 implemented.
2223
2224 * devices.c: Added code so that the dumb console device can read
2225 (from stdin) as well as write to stdout.
2226
This page took 0.133074 seconds and 4 git commands to generate.