More changes for GO32 canadian cross builds
[binutils-gdb.git] / sim / ppc / ChangeLog
1 Fri May 24 10:08:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2
3 * configure.in (AC_STRUCT_ST_{BLKSIZE,BLOCKS,RDEV}): Use these
4 macros to determine whether or not the appropriate st_<xxx> fields
5 exist in the stat structure.
6 (AC_CHECK_FUNCS): Check for all unix system calls used, except for
7 the real basic ones like open, read, write, etc.
8 * config{.in,ure}: Regenerate.
9
10 * emul_netbsd.c: Add support for missing system calls, and/or
11 missing stat fields.
12
13 * hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL
14 are not defined.
15 (scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or
16 F_SETFL not defined.
17
18 Tue May 21 17:24:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
19
20 * emul_netbsd.c (write_stat): Don't convert st_blocks unless the
21 host is netbsd.
22
23 Thu May 16 10:56:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
24
25 * configure.in (AC_CHECK_HEADERS): Add sys/ioctl.h.
26 * config{.in,ure}: Regenerate.
27 * emul_netbsd.c: If HAVE_SYS_IOCTL_H is not defined, don't include
28 sys/ioctl.h.
29
30 Tue May 7 17:28:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
31
32 * hw_pal.c (hw_pal_instance_read_callback): Remove unused
33 variable.
34
35 * misc.c ({,target_}a2i): Rewrite to not use strtoul.
36
37 * Makefile.in ({spreg,misc}.o): Add dependency on .c file.
38 ({i,d}gen): Don't link in liberity. Use BUILD_LIBS instead of
39 LIBS.
40
41 Mon May 6 11:31:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
42
43 * hw_pal.c (hw_pal_instance_read_callback): If using stdio, use
44 fgets to read line. If not using stdio, do a simple blocking read
45 of len bytes.
46
47 Fri May 3 15:07:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
48
49 * Makefile.in: Correctly build simulator for build machine != host
50 machine.
51
52 Tue Apr 30 18:46:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
53
54 * configure.in (--enable-hostendian): Rework so the default uses
55 the AC_C_BIGENDIAN results. Only run AC_C_BIGENDIAN if not cross
56 compiling.
57 * configure: Regenerate.
58
59 * sim-endian.h: Add more tests for host endian to support more
60 platforms in a cross compilation environment.
61
62 Wed Apr 17 14:38:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
63
64 * hw_pal.c ({scan,write}_hw_pal): If WITH_STDIO == DO_USE_STDIO,
65 use stdio, instead of unpended read/printf_filtered.
66 (hw_pal_instance_write_callback): If WITH_STDIO == DO_USE_STDIO,
67 flush stdout after writing the characters.
68
69 * options.c (print_options): Print out WITH_STDIO.
70
71 * Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@
72 configuration variable.
73 (CONFIG_CFLAGS): Include STDIO_CFLAGS.
74 (hw.{c,h}): Allow for source dir != build dir, and for HW_SRC
75 files to contain directory pieces.
76
77 * std-config.h (DO{,NT}_USE_STDIO): New flags for whether we
78 should use stdio for console input.
79 (WITH_STDIO): If not defined, define as DONT_USE_STDIO.
80
81 * configure.in (--enable-sim-stdio): Add new switch to control
82 whether stdio is used for console I/O.
83 * configure: Regenerate.
84
85 * interrupts.c (external_interrupt): Declare it to be
86 INLINE_INTERRUPTS, not INLINE_CPU.
87
88 Mon Apr 15 23:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
89
90 * events.c (insert_event_entry): Allow events to be scheduled
91 *NOW* (at delta time 0). Add assertions to clarify behavour of
92 event queue.
93
94 * events.c (update_time_from_event): New function. Calculates the
95 number of ticks from the next event. Use this.
96
97 Sun Apr 14 21:39:45 1996 Andrew Cagney <cagney@highland.com.au>
98
99 * emul_netbsd.c (do_break): Return 0 if success (instead of
100 adjusted break).
101
102 * device_table.c (vm_ioctl_callback): Don't return adjusted break
103 (isn't needed).
104
105 Sun Apr 14 21:32:41 1996 Andrew Cagney <cagney@highland.com.au>
106
107 * device_table.h: Change type of the device ioctl so that it
108 returns an int (status).
109 * device.h (device_ioctl): Ditto.
110 * device.c (device_ioctl): Ditto.
111
112 * device_table.c (stack_ioctl_callback): Return 0 status.
113 (vm_ioctl_callback): Ditto
114
115 Thu Apr 4 20:58:05 1996 Andrew Cagney <cagney@highland.com.au>
116
117 * interrupts.h (interrupts): New structure contains state of
118 pending interrupts.
119
120 * cpu.c (cpu_interrupts): New function. Pending interrupt status
121 in the cpu and grant access to it. Add interrupts to cpu
122 structure.
123
124 Fri Mar 29 22:09:25 1996 Andrew Cagney <cagney@highland.com.au>
125
126 * device.c (device_tree_add_parsed): Check that the creation of a
127 device instance worked before using it.
128
129 * psim.c (psim_halt): Remove cia argument from psim_halt. This
130 function does not save the CIA so do not pass it in.
131
132 Fri Mar 29 21:30:56 1996 Andrew Cagney <cagney@highland.com.au>
133
134 * hw_pal.c (hw_pal): Merge the halt and icu and console devices
135 found in device_table.c into a single hack pal.
136
137 * device_table.c (halt, icu, console): Delete.
138
139 * Makefile.in (hw_pal.o): New dependency.
140
141 * emul_generic.c (emul_add_tree_hardware): Re-arange device tree
142 so that it uses the pal instead of the icu/halt/console devices.
143 Wire the pal's interrupt ports up to the cpu nodes.
144
145 Fri Mar 29 20:17:17 1996 Andrew Cagney <cagney@highland.com.au>
146
147 * hw_iobus.c (hw_iobus_attach_address_callback): Move from
148 device_table.c to here.
149
150 * Makefile.in (hw_iobus.o): New dependency.
151
152 Mon Mar 25 22:07:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
153
154 * configure: Regenerate with autoconf 2.9.
155
156 Thu Mar 21 00:14:26 1996 Andrew Cagney <cagney@highland.com.au>
157
158 * device_table.h: Always include string headers.
159
160 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
161
162 * basics.h: Move the event queue's definition to here so that it
163 can be refered to globally with out importing all of events.h.
164
165 * psim.h, psim.c (psim_event_queue): New function. Grant access
166 to the simulation event queue. Will make this the single point of
167 access (there is after all only one event queue in the
168 simulation).
169
170 * cpu.c (cpu_create): Use psim_event_queue to obtain the event
171 queue instead of it being passed in. No longer allow access to
172 the cpu's copy of the event queue.
173
174 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
175
176 * events.h, events.c (event_handler): Remove event_queue from
177 arguments passed to an event handler. That argument is redundant
178 - the `data' should refer to a data structure that contains the
179 event queue if queing is needed.
180
181 * cpu.c (cpu_decrement_event): adjust
182
183 * events.c (event_queue_process): adjust
184
185 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
186
187 * device.h, device.c (device_system): New, returns a handle for
188 the system given the device.
189
190 * device.c (device_address_init): Store a pointer back to the
191 system in each devices node.
192
193 * device_table.h: Don't pass `system' into each device when it is
194 being initialized, this is now available using device_system(me).
195
196 * device.c (device_address_init, device_data_init): Adjust.
197
198 * hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c:
199 Adjust.
200
201 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
202
203 * interrupts.c (decrementer_interrupt, external_interrupt):
204 Remember that an interrupt wasn't delivered so that it can be
205 tried again later.
206
207 * interrupts.c (check_masked_interrupt): New function. (re)
208 checks for the posibility that a recent change to the MSR may have
209 made it possible to deliver an interrupt that was previously
210 masked be the EE bit.
211
212 * ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of
213 a pending interrupt being delivered using check_masked_interrupt().
214
215 * cpu.c (cpu_decrement_event): Just call decrementer_interrupt()
216 leaving it to that module to handle both interrupt synchronization
217 and masking.
218
219 * cpu.c (struct _cpu): remove variables that were going to record
220 pending decrementer and external interrupts.
221
222 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
223
224 * hw_cpu.c, hw_cpu.h: New files. Implement a device that sits
225 between the interrupt controller and the simulators internal
226 processor model. Maps device interrupts onto the processor
227 interrupt function calls.
228
229 Mon Mar 4 06:06:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
230
231 * hw_nvram.c: NVRAM device that includes a real-time clock that is
232 updated each second.
233
234 Mon Mar 4 04:18:50 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
235
236 * device.h (attach_type): Remove attach_default type address
237 spaces. Will replace with levels of callback memory.
238
239 * corefile.h, corefile.c (new_core_mapping), corefile.c
240 (core_map_attach): Replace default attach with a layerd callback
241 approach.
242
243 Sun Mar 3 03:58:46 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
244
245 * device.c (split_property_specifier): ensure that only a single
246 property is found.
247 (split_value): New function, parses the value part of a device
248 spec.
249
250 * device.c (device_tree_add_parsed): Use the interrupt conversion
251 functions to determine the interrupt port numbers.
252
253 * device_table.h: Add table that maps between an interrupts
254 symbolic name and its port number.
255
256 * device.h, device.c (device_interrupt_decode,
257 device_interrupt_encode): new functions use the recently added
258 interrupt port name/number tables to perform conversion.
259
260 Sun Mar 3 03:23:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
261
262 * device.h, device.c (device_set_array_property,
263 device_set_boolean_property, device_set_ihandle_property,
264 device_set_integer_property, device_set_string_property): New
265 functions - allow the value of a given property to be changed.
266
267 * device.h, device.c: Re-order declaration and definition of
268 property functions.
269
270 Sun Mar 3 03:10:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
271
272 * device.c (device_tree_print_device, device_tree_add_parsed):
273 Remove references to phandle properties.
274
275 Tue Feb 27 23:59:35 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
276
277 * device_table.h: Revamp device init callbacks so that they are a
278 sub structure.
279 * device.c (device_init_data, device_init_address): If an init
280 callback is NULL assume it should do nothing.
281 * device_table.c (ignore_device_init, unimp_device_init): delete
282 as redundant.
283 * device_table.c, hw_memory.c: adjust.
284
285 * (io): ditto.
286 * (dma): ditto.
287 * (device_instance): ditto.
288 * (ioctl): ditto.
289 * (address nee config_address): ditto.
290 * (interrupt): ditto.
291
292 Mon Feb 26 22:47:15 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
293
294 * Makefile.in (hw.h, hw.c): New targets. Create from the list of
295 hw_*.c files. hw.h declares a device descriptor table for each hw
296 device while hw.c lists those tables in a form suitable for the
297 construction of a top leveltable in device_table.c.
298
299 * Makefile.in (device_table.o): now depends on hw.c a generated
300 table of hw.
301
302 * device_table.c (device_table): Re-arange the table of devices so
303 that two levels are possible. Make use of hw.c.
304 * device_table.h: ditto.
305
306 * device.c (device_template_create_device): Handle new two level
307 device lookup table.
308 * device.c (device_usage): ditto.
309
310 Mon Feb 26 22:24:00 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
311
312 * device_table.c: Delete the memory device (moved to hw_memory.c).
313
314 * hw_memory.c: New file. Just an OpenBoot memory device.