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