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