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