1 Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3 * device_table.c (update_for_binary_section): Abort if we find an
4 .interp section, which indicates the need for shared libraries to
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.
13 * configure.in (AC_TYPE_{GETGROUPS,SIGNAL}): Define.
14 (AC_TYPE_{MODE,OFF,PID,SIZE,UID}_T): Define.
15 * config{.in,ure}: Regenerate.
17 Sun Jun 2 11:21:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
19 * emul_unix.{h,c}: New files to provide Solaris and Linux system
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.
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.
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.
39 * emul_generic.h (emul_write2_status): Declare it.
41 * emul_netbsd.c: Use /* */ around comment on #endif.
43 * os_emul.c: Include emul_unix.h.
44 (os_emulations): Add emulations for Solaris, and Linux.
46 * psim.c (psim_usage): Add message about solaris, linux
49 Fri May 24 10:08:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
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.
58 * emul_netbsd.c: Add support for missing system calls, and/or
60 (MAXPATHLEN): Undefine if including unistd.h, since sys/param.h
63 * hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL
65 (scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or
68 Tue May 21 17:24:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
70 * emul_netbsd.c (write_stat): Don't convert st_blocks unless the
73 Thu May 16 10:56:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
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
80 Tue May 7 17:28:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
82 * hw_pal.c (hw_pal_instance_read_callback): Remove unused
85 * misc.c ({,target_}a2i): Rewrite to not use strtoul.
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
91 Mon May 6 11:31:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
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
97 Fri May 3 15:07:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
99 * Makefile.in: Correctly build simulator for build machine != host
102 Tue Apr 30 18:46:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
104 * configure.in (--enable-hostendian): Rework so the default uses
105 the AC_C_BIGENDIAN results. Only run AC_C_BIGENDIAN if not cross
107 * configure: Regenerate.
109 * sim-endian.h: Add more tests for host endian to support more
110 platforms in a cross compilation environment.
112 Wed Apr 17 14:38:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
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.
119 * options.c (print_options): Print out WITH_STDIO.
121 * Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@
122 configuration variable.
123 (CONFIG_CFLAGS): Include STDIO_CFLAGS.
124 (hw.{c,h}): Allow for source dir != build dir, and for HW_SRC
125 files to contain directory pieces.
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.
131 * configure.in (--enable-sim-stdio): Add new switch to control
132 whether stdio is used for console I/O.
133 * configure: Regenerate.
135 * interrupts.c (external_interrupt): Declare it to be
136 INLINE_INTERRUPTS, not INLINE_CPU.
138 Mon Apr 15 23:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
140 * events.c (insert_event_entry): Allow events to be scheduled
141 *NOW* (at delta time 0). Add assertions to clarify behavour of
144 * events.c (update_time_from_event): New function. Calculates the
145 number of ticks from the next event. Use this.
147 Sun Apr 14 21:39:45 1996 Andrew Cagney <cagney@highland.com.au>
149 * emul_netbsd.c (do_break): Return 0 if success (instead of
152 * device_table.c (vm_ioctl_callback): Don't return adjusted break
155 Sun Apr 14 21:32:41 1996 Andrew Cagney <cagney@highland.com.au>
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.
162 * device_table.c (stack_ioctl_callback): Return 0 status.
163 (vm_ioctl_callback): Ditto
165 Thu Apr 4 20:58:05 1996 Andrew Cagney <cagney@highland.com.au>
167 * interrupts.h (interrupts): New structure contains state of
170 * cpu.c (cpu_interrupts): New function. Pending interrupt status
171 in the cpu and grant access to it. Add interrupts to cpu
174 Fri Mar 29 22:09:25 1996 Andrew Cagney <cagney@highland.com.au>
176 * device.c (device_tree_add_parsed): Check that the creation of a
177 device instance worked before using it.
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.
182 Fri Mar 29 21:30:56 1996 Andrew Cagney <cagney@highland.com.au>
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.
187 * device_table.c (halt, icu, console): Delete.
189 * Makefile.in (hw_pal.o): New dependency.
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.
195 Fri Mar 29 20:17:17 1996 Andrew Cagney <cagney@highland.com.au>
197 * hw_iobus.c (hw_iobus_attach_address_callback): Move from
198 device_table.c to here.
200 * Makefile.in (hw_iobus.o): New dependency.
202 Mon Mar 25 22:07:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
204 * configure: Regenerate with autoconf 2.9.
206 Thu Mar 21 00:14:26 1996 Andrew Cagney <cagney@highland.com.au>
208 * device_table.h: Always include string headers.
210 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
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.
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
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.
224 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
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.
231 * cpu.c (cpu_decrement_event): adjust
233 * events.c (event_queue_process): adjust
235 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
237 * device.h, device.c (device_system): New, returns a handle for
238 the system given the device.
240 * device.c (device_address_init): Store a pointer back to the
241 system in each devices node.
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).
246 * device.c (device_address_init, device_data_init): Adjust.
248 * hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c:
251 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
253 * interrupts.c (decrementer_interrupt, external_interrupt):
254 Remember that an interrupt wasn't delivered so that it can be
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.
262 * ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of
263 a pending interrupt being delivered using check_masked_interrupt().
265 * cpu.c (cpu_decrement_event): Just call decrementer_interrupt()
266 leaving it to that module to handle both interrupt synchronization
269 * cpu.c (struct _cpu): remove variables that were going to record
270 pending decrementer and external interrupts.
272 Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
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.
279 Mon Mar 4 06:06:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
281 * hw_nvram.c: NVRAM device that includes a real-time clock that is
284 Mon Mar 4 04:18:50 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
286 * device.h (attach_type): Remove attach_default type address
287 spaces. Will replace with levels of callback memory.
289 * corefile.h, corefile.c (new_core_mapping), corefile.c
290 (core_map_attach): Replace default attach with a layerd callback
293 Sun Mar 3 03:58:46 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
295 * device.c (split_property_specifier): ensure that only a single
297 (split_value): New function, parses the value part of a device
300 * device.c (device_tree_add_parsed): Use the interrupt conversion
301 functions to determine the interrupt port numbers.
303 * device_table.h: Add table that maps between an interrupts
304 symbolic name and its port number.
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.
310 Sun Mar 3 03:23:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
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.
317 * device.h, device.c: Re-order declaration and definition of
320 Sun Mar 3 03:10:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
322 * device.c (device_tree_print_device, device_tree_add_parsed):
323 Remove references to phandle properties.
325 Tue Feb 27 23:59:35 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
327 * device_table.h: Revamp device init callbacks so that they are a
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
333 * device_table.c, hw_memory.c: adjust.
337 * (device_instance): ditto.
339 * (address nee config_address): ditto.
340 * (interrupt): ditto.
342 Mon Feb 26 22:47:15 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
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.
349 * Makefile.in (device_table.o): now depends on hw.c a generated
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.
356 * device.c (device_template_create_device): Handle new two level
358 * device.c (device_usage): ditto.
360 Mon Feb 26 22:24:00 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
362 * device_table.c: Delete the memory device (moved to hw_memory.c).
364 * hw_memory.c: New file. Just an OpenBoot memory device.