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