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