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