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