Fix SWAP_8 and optimize it; print out the failing address if a signal is issued for...
[deliverable/binutils-gdb.git] / sim / ppc / ChangeLog
1 Thu Oct 26 10:42:28 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2
3 * ppc-endian.c (SWAP_n): Add SET argument to allow use of SWAP
4 macros for either assignment or return. Fix SWAP_8 to use a
5 union, and two SWAP_4's. Delete SWAP_N, since nobody uses it now.
6 (ENDIAN_N): Add SET argument to SWAP_n calls. Delete macro defs
7 that hardwired swapping on/off, let optimizer delete dead code.
8
9 * main.c (main): Add printf that we caught a signal and print out
10 the failing address.
11
12 Thu Oct 19 21:43:39 1995 Fred Fish <fnf@fishfood.amigalib.com>
13
14 * Makefile.in: Remove tabs from otherwise empty line.
15 Confuses many non-GNU versions of "make".
16
17 Wed Oct 18 08:51:25 1995 Michael Meissner <meissner@tiktok.cygnus.com>
18
19 * Makefile.in (clean): Delete files produced by gen.
20
21 Mon Oct 16 17:34:24 1995 Michael Meissner <meissner@tiktok.cygnus.com>
22
23 * gen.c (lf_print_c_semantic_function): Move counting # of
24 instructions here so it works with caching.
25 (gen_idecode_c): Move from here.
26
27 Wed Oct 11 17:13:15 1995 Andrew Cagney <cagney@highland.com.au>
28
29 * gen.c, ppc-instructions, psim.c: Fix code for generating
30 cracking instruction cache. Delete the code that cached just the
31 result from doing an instruction lookup - this ran slower than no
32 cache at all.
33
34 Fri Oct 13 09:58:43 1995 Michael Meissner <meissner@tiktok.cygnus.com>
35
36 * Makefile.in (gen.o): Include $(INLINE_CFLAGS).
37
38 * debug.h (ppc_trace): Rename from trace, to avoid a conflict with
39 TCL when gdb is linked with the simulator.
40 * debug.c (ppc_trace): Ditto.
41 * sim_calls.c (sim_open): Change trace -> ppc_trace.
42 * main.c (main): Ditto.
43
44 * cpu.c (cpu_add_commas): Remove extra static.
45
46 Thu Oct 12 11:35:53 1995 Michael Meissner <meissner@tiktok.cygnus.com>
47
48 * Makefile.in (psim.o): Now that inlines are turned on, make
49 psim.o depend on all sources.
50
51 * cpu.c (cpu_add_commas): New function to format a long with
52 commas.
53 (cpu_print_info): Use it to print number_of_insns.
54
55 * ppc-endian.c (SWAP_n): New macros to speed up byte swapping for
56 2, 4, and 8 bytes.
57 (ENDIAN_N): If both target and host byte orders are known, don't
58 bother testing CURRENT_{TARGET,HOST}_BYTE_ORDER.
59
60 * ppc-endian.h (target specific H2T_n/T2H_n macros): Remove #if 0
61 to allow target specific H2T_n/T2H_n macros to be used.
62 (htonl, ntohl): If compiled on a 486 by GCC and WITH_BSWAP is
63 non-zero, redefine the htonl/ntohl macros to use the BSWAP instead
64 of the 3 instruction sequence that runs on 386s.
65
66 * std-config.h (WITH_{HOST,TARGET}_BYTE_ORDER): Don't override if
67 specified on the compile line.
68 (WITH_BSWAP): If not defined, define as 0.
69
70 * Makefile.in (INLINE_CFLAGS): Add -DDEFAULT_INLINE=2 to add
71 default inline support. Pass INLINE_CFLAGS when compiling.
72
73 * devices.{h,c} (unimp_device_ioctl): Use STATIC_DEVICES, not
74 INLINE_DEVICES since GCC doesn't like inline functions that
75 accept variable arguments.
76 (stack_ioctl_callback): Make function just static because GCC
77 doesn't like inline functions that accept variable arguments.
78
79 * devices.h (STATIC_DEVICES): Define as empty if not defined.
80
81 * inline.c: Correct pathnames of included C files to match current
82 implementation.
83
84 * inline.h (STATIC_DEVICES): If DEVICES_INLINE is defined to be
85 non-zero, define STATIC_DEVICES to be static.
86
87 * std-config.h (INLINE): If GNU C and optimizing, define this as
88 __inline__.
89 (DEFAULT_INLINE): If not defined, define as 0.
90 (ENDIAN_INLINE): If not defined, define as DEFAULT_INLINE.
91 ({CORE,VM,CPU,EVENTS,REGISTERS,INTERRUPTS}_INLINE): Ditto.
92 ({SPREG,IDECODE}_INLINE): Ditto.
93
94 Wed Oct 11 17:13:15 1995 Andrew Cagney <cagney@kremvax>
95
96 * ppc-instructions: Initial cut of floating point suport added.
97 Of note include - use of host IEEE floating point instructions,
98 use of PowerPC manual pseudo code to handle the FPSCR. It is not
99 currently a pretty sight.
100
101 * memory_map.h, memory_map.c, memory_map_n.h, core.h, core.c:
102 merge into core.h, core.c, core_n.h. The type memory_map replaced
103 with core_map. This removes a level of pointer indirection when
104 translating an address.
105
106 * memory_map.h, memory_map.c, memory_map_n.h: delete.
107
108 * Makefile.in et.al (sorry): tweek to use new core, core_map and
109 core.h.
110
111 Wed Oct 11 12:10:26 1995 Andrew Cagney <cagney@kremvax>
112
113 * sim_calls.c, main.c: Add -g (trace_gdb) option, add tracing to
114 most of the other functions in sim_calls.c.
115
116 * basics.h (CONCAT3), memory_map.c, memory_map_n.h, Makefile.in:
117 Add macros to better cover up `generic' code. Makes it possible
118 to step through the generic code!
119
120 * vm.c, vm_n.h, Makefile.in: ditto
121
122 Tue Oct 10 15:42:59 1995 Andrew Cagney <cagney@kremvax>
123
124 * devices.h, devices.c, memory_map.h, memory_map.c: Changed
125 callback interface so that there is a read/write buffer but no
126 read/write_word. VEA default memory read/write handler sometimes
127 couldn't resolve an access and of those some were for a memory
128 fault and some were because gdb was making a bogus request.
129
130 * devices.h, devices.c, memory_map.h, memory_map.c, vm.h, vm.c:
131 eliminate transfer_mode (raw or cooked) parameter from read/write
132 buffer.
133
134 Fri Oct 6 20:23:56 1995 Andrew Cagney <cagney@kremvax>
135
136 * ppc-instructions (fmul, fmuls): correct instruction format - had
137 FRB instead of FRC.
138
139 Wed Oct 4 17:31:12 1995 Andrew Cagney <cagney@kremvax>
140
141 * psim.c, device_tree.h, device_tree.c, devices.c (printd_*,
142 scand_*): new functions to parse/print fields in device names
143 while hiding any machine dependency.
144
145 * devices.c, psim.c: Change the stack init code so that it is
146 handled by a device. Arguments passed across using a device ioctl
147 (hack).
148
149 * devices.h, devices.c: device ioctl callback changed to allow a
150 variable number of arguments. This gives greater flexability and
151 greater chance of bugs.
152
153 Tue Oct 3 22:01:56 1995 Andrew Cagney - aka Noid <cagney@kremvax>
154
155 * main.c (printf_filtered, error): Missing va_end() to close off
156 variable argument use.
157
158 * Makefile.in (tmp-gencode): comment out hack to get around some
159 versions of make not handling files being created as side-effects.
160
161 * gen.c (lf_open): Add -n (real_file_name) option. Specifies an
162 alternative file name to use in output files for things like #line
163 macros.
164
165 Makefile.in (tmp-gencode): Use gen -n so that debug info is
166 correct.
167
168 * Makefile.in (TARGETLIB): Use this instead of libsim.a in the
169 Makefile.
170
171 Sat Oct 7 22:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
172
173 * sim_calls.c (sim_set_callbacks): Define new function.
174
175 Fri Oct 6 17:23:10 1995 Michael Meissner <meissner@tiktok.cygnus.com>
176
177 * psim.c (psim_print_info): Print exit status or signal number.
178
179 Mon Oct 2 11:46:37 1995 Michael Meissner <meissner@tiktok.cygnus.com>
180
181 * cpu.c (struct _cpu): Add number_of_insns field to trace how many
182 instructions are executed.
183 (cpu_increment_number_of_insns): New function to increment the
184 number of instructions issued.
185 (cpu_get_number_of_insns): New function to return the number of
186 instructions issued.
187 (cpu_print_info): New function to print cpu related information.
188 At present, print the number of instructions executed.
189
190 * gen_idecode_c: Emit call to cpu_increment_number_of_insns within
191 idecode_issue.
192
193 * psim.c (psim_print_info): New function to iterate over each of
194 the CPU's calling cpu_print_info.
195
196 * psim.h,cpu.h: Add new declarations.
197
198 * sim_calls.c (sim_open): Add argument processing to add the same
199 switches main.c accepts for the standalone processor.
200 (sim_close): Call psim_print_info if -I.
201
202 * main.c (main): Add comment saying to update sim_calls.c when
203 adding switches. Add -I to call psim_print_info when done.
204 (usage): Update usage message.
205
206 Sun Oct 1 13:52:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
207
208 * main.c (printf_filtered): Correct to match new prototype.
209
210 Sat Sep 30 20:47:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
211
212 * sim_callbacks.h (printf_filtered): Correct prototype.
213
214 Thu Sep 21 16:26:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
215
216 * device_tree.c (OEA_MEMORY_SIZE): Define if not defined to
217 0x100000.
218 (clayton_memory_size): Define as OEA_MEMORY_SIZE.
219
220 * std-config.h (WITH_TRACE): Default to 1 now.
221
222 * psim.c (write_stack_arguments): Don't write any stack arguments
223 if OEA.
224
225 * main.c (main): Switch to using getopt. Make -p also set
226 trace_semantics. Make -a turn on all trace flags. Make -C turn
227 on console tracing.
228
229 * device_tree.c (create_option_device_node): Assume a program is
230 OEA if the start address is < 4096, not just == 0.
231
232 Wed Sep 20 13:36:06 1995 Ian Lance Taylor <ian@cygnus.com>
233
234 * Makefile.in (maintainer-clean): New synonym for realclean.
235
236 Sun Sep 10 10:23:56 1995 Michael Tiemann <tiemann@axon.cygnus.com>
237
238 * registers.c (register_description): Add gdb synonyms for cr
239 (cnd) and msr (ps).
240
241 Fri Sep 8 13:16:10 1995 Ian Lance Taylor <ian@cygnus.com>
242
243 * Makefile.in (install): Don't install in $(tooldir).
244
245 * configure.in: Call AC_CONFIG_HEADER. Don't try to use
246 bfd/hosts/*.h file or bfd/config/*.mh file. Call AC_PROG_CC and
247 AC_PROG_RANLIB. Substitute in values for CFLAGS, HDEFINES, AR,
248 and CC_FOR_BUILD. Call AC_CHECK_HEADERS for various header files.
249 Touch stamp.h if creating config.h.
250 * configure: Rebuild.
251 * config.in: New file, created by autoheader.
252 * Makefile.in (AR): Define as @AR@.
253 (CC): New variable, defined as @CC@.
254 (CFLAGS): Define as @CFLAGS@.
255 (CC_FOR_BUILD): New variable, defined as @CC_FOR_BUILD@.
256 (RANLIB): Define as @RANLIB@.
257 (HDEFINES, TDEFINES): New variables.
258 (@host_makefile_frag@): Remove.
259 (mostlyclean): Make the same as clean, not distclean.
260 (clean): Remove config.log.
261 (distclean): Remove config.h and stamp-h.
262 (Makefile): Don't depend upon @frags@. Just rebuild Makefile when
263 invoking config.status.
264 (config.h, stamp-h): New targets.
265 (gen, gen.o): Build with CC_FOR_BUILD, not CC.
266 (ppc-config.h): Rename from old config.h build.
267 * (basics.h,gen.c,ppc-endian.c,psim.c): Include ppc-config.h.
268
269 Fri Sep 8 09:51:03 1995 Michael Meissner <meissner@tiktok.cygnus.com>
270
271 * configure{,.in}: Don't include sysdep.h from bfd, since bfd no
272 longer provides it.
273 * basics.h (sysdep.h): Don't include it.
274 * Makefile.in (BASICS_H): Remove sysdep.h.
275
276 Wed Sep 6 13:25:42 1995 Andrew Cagney - aka Noid <cagney@kremvax>
277
278 * core.c (core_add_data): First growth of bss was being put at
279 wrong address (0) instead of &end.
280
281 * core.c (core_add_stack, core_add_data): Was not handling case
282 where bss/stack is grown across the current end-of-{bss,stack}.
283
284 Wed Sep 6 00:46:10 1995 Andrew Cagney - aka Noid <cagney@kremvax>
285
286 * system.c (system_call): Fix SYS_break - was aligning bss to a
287 page boundary instead of just an 8 byte one; On first call sbrk(0)
288 != sbrk(0).
289
290 Thu Aug 24 14:48:54 1995 Michael Meissner <meissner@tiktok.cygnus.com>
291
292 * Makefile.in (install): Fix install rule.
293
294 Tue Aug 22 09:31:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
295
296 * system.c (system_call): Add read support.
297
298 * main.c (main): -t sets trace_device_tree. Correct usage message
299 to current reality.
300
301 * device_tree.c (update_memory_node_for_section): Make tracing
302 output line up. If not code or readonly, assume that the section
303 is a data section and has read/write permissions. Add readonly
304 support.
305
306 * core.c (create_core_from_addresses): Print end address in traces
307 and make tracing output line up.
308
309 * Makefile.in: Rewrite from Makefile to work with the Cygnus
310 environment, and support compiling in a different directory than
311 the sources reside in.
312
313 * ppc-endian.h: Rename from endian.h so that it doesn't get
314 confused with /usr/include/sys/endian.h on Linux. Add Linux
315 endian support.
316
317 * ppc-endian.c: Rename to be consistant with ppc-endian.h.
318 Include ppc-endian.h, not endian.h.
319
320 * basics.h (sysdep.h): Include sysdep.h that configure makes.
321 Include ppc-endian.h, not endian.h.
322
323 * std-config.h: Rename from ppc-config. Put #ifndefs around most
324 configuration macros, so they can be overridden via CFLAGS. By
325 default, turn off tracing.
326
327 * configure.in: Clone from other simulator targets.
328 * configure: Generate via autoconf from configure.in.
329
330 Sat Aug 19 09:05:32 1995 Andrew Cagney - aka Noid <cagney@kremvax>
331
332 * ppc-instructions: fix srawi (was geting XER[CA] real wrong).
333
334 * interrupts.c (data_storage_interrupt): allow stack to grow by
335 upto one MB per increment.
336
337 * ppc-instructions: divw was computing rA / rA not rA / rB
338
339 * main.c (main): really stupid. Wasn't exiting with correct status
340
341 Fri Aug 18 00:38:01 1995 Andrew Cagney - aka Noid <cagney@kremvax>
342
343 * system.c (system_call): add system calls kill(2) and getpid(2).
344
345 * main.c (main): Check/return exit status when simulation
346 finishes.
347
348 Thu Aug 17 14:29:18 1995 Andrew Cagney <cagney@kremvax>
349
350 * device_tree.c (create_option_device_node): Alignment rules (at
351 least for the moment) now are for strict alignment only for LE OEA
352 mode. (Because of compiler problems).
353
354 * system.c (system_call) SYS_exit: Wasn't exiting with correct status.
355
356 Thu Aug 17 01:16:38 1995 Andrew Cagney - aka Noid <cagney@kremvax>
357
358 * vm.c (DEFINE_VM_DATA_MAP_WRITE_N): For miss aligned transfer
359 forgot to return.
360
361 * system.c (system_call): didn't page align break argument before
362 determining increment break increment.
363
364 * psim/ppc: Re-arange entire directory structure so that
365 everything lives in the one directory. While a pain for cleaning,
366 makes building across multiple architectures much simpler.
367
368 * devices.c, device_tree.c: Added code that provides a simple
369 illustration of how an interrupt control device could be
370 implemented.
371
372 * devices.c: Added code so that the dumb console device can read
373 (from stdin) as well as write to stdout.
374
This page took 0.039319 seconds and 5 git commands to generate.