]>
Commit | Line | Data |
---|---|---|
5b18a1a0 MM |
1 | Mon Jun 3 15:02:04 1996 Michael Meissner <[email protected]> |
2 | ||
3 | * emul_unix.c (do_unix_{time,gettimeofday,getrusage}): Add support | |
4 | for time, gettimeofday, and getrusage system calls. | |
5 | ({solaris,linux}_descriptors): Add new system calls. | |
6 | (do_get{,e}{uid,gid}): Use gid_t/uid_t types. | |
7 | (do_get{,p}pid): Use pic_t types. | |
8 | ||
9 | * configure.in (AC_TYPE_{GETGROUPS,SIGNAL}): Define. | |
10 | (AC_TYPE_{MODE,OFF,PID,SIZE,UID}_T): Define. | |
11 | * config{.in,ure}: Regenerate. | |
12 | ||
88f1eac4 MM |
13 | Sun Jun 2 11:21:17 1996 Michael Meissner <[email protected]> |
14 | ||
15 | * emul_unix.{h,c}: New files to provide Solaris and Linux system | |
16 | call emulations. | |
17 | ||
18 | * Makefile.in (LIB_{SRC,OBJ}): Add emul_unix.{c,o}. | |
19 | (os_emul.o): Depend on emul_unix.h. | |
20 | (emul_unix.o): New dependency. | |
21 | ||
22 | * configure.in (--enable-sim-alignment): Add 0|default to mean set | |
23 | alignment to 0, which means use appropriate alignment for mode. | |
24 | (AC_CHECK_FUNCS): Add new functions needed by emul_unix.c. | |
25 | (AC_CHECK_HEADERS): Add new include files needed by emul_unix.c. | |
26 | * config.in: Regenerate. | |
27 | * configure: Regenerate. | |
28 | ||
29 | * emul_generic.c (emul_write2_status): New function to return | |
30 | results in r3 and r4 for Solaris system calls. | |
31 | (emul_do_system_call): If the system call is not support, but | |
32 | there is a string for the system call name, print out the string | |
33 | instead of the system call number. | |
34 | ||
35 | * emul_generic.h (emul_write2_status): Declare it. | |
36 | ||
37 | * emul_netbsd.c: Use /* */ around comment on #endif. | |
38 | ||
39 | * os_emul.c: Include emul_unix.h. | |
40 | (os_emulations): Add emulations for Solaris, and Linux. | |
41 | ||
42 | * psim.c (psim_usage): Add message about solaris, linux | |
43 | emulations. | |
44 | ||
f64dbcdd MM |
45 | Fri May 24 10:08:10 1996 Michael Meissner <[email protected]> |
46 | ||
0c18e3f0 MM |
47 | * configure.in (AC_STRUCT_ST_{BLKSIZE,BLOCKS,RDEV}): Use these |
48 | macros to determine whether or not the appropriate st_<xxx> fields | |
49 | exist in the stat structure. | |
50 | (AC_CHECK_FUNCS): Check for all unix system calls used, except for | |
51 | the real basic ones like open, read, write, etc. | |
52 | * config{.in,ure}: Regenerate. | |
53 | ||
54 | * emul_netbsd.c: Add support for missing system calls, and/or | |
55 | missing stat fields. | |
119b85f6 MM |
56 | (MAXPATHLEN): Undefine if including unistd.h, since sys/param.h |
57 | might define it. | |
0c18e3f0 | 58 | |
f64dbcdd MM |
59 | * hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL |
60 | are not defined. | |
61 | (scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or | |
62 | F_SETFL not defined. | |
63 | ||
64 | Tue May 21 17:24:45 1996 Michael Meissner <[email protected]> | |
65 | ||
66 | * emul_netbsd.c (write_stat): Don't convert st_blocks unless the | |
67 | host is netbsd. | |
68 | ||
d61eb812 MM |
69 | Thu May 16 10:56:45 1996 Michael Meissner <[email protected]> |
70 | ||
71 | * configure.in (AC_CHECK_HEADERS): Add sys/ioctl.h. | |
72 | * config{.in,ure}: Regenerate. | |
73 | * emul_netbsd.c: If HAVE_SYS_IOCTL_H is not defined, don't include | |
74 | sys/ioctl.h. | |
75 | ||
048668d3 MM |
76 | Tue May 7 17:28:12 1996 Michael Meissner <[email protected]> |
77 | ||
78 | * hw_pal.c (hw_pal_instance_read_callback): Remove unused | |
79 | variable. | |
80 | ||
81 | * misc.c ({,target_}a2i): Rewrite to not use strtoul. | |
82 | ||
83 | * Makefile.in ({spreg,misc}.o): Add dependency on .c file. | |
84 | ({i,d}gen): Don't link in liberity. Use BUILD_LIBS instead of | |
85 | LIBS. | |
86 | ||
1ed0c0e7 MM |
87 | Mon May 6 11:31:43 1996 Michael Meissner <[email protected]> |
88 | ||
89 | * hw_pal.c (hw_pal_instance_read_callback): If using stdio, use | |
90 | fgets to read line. If not using stdio, do a simple blocking read | |
91 | of len bytes. | |
92 | ||
08dc78ad MM |
93 | Fri May 3 15:07:42 1996 Michael Meissner <[email protected]> |
94 | ||
95 | * Makefile.in: Correctly build simulator for build machine != host | |
96 | machine. | |
97 | ||
a72d2509 | 98 | Tue Apr 30 18:46:05 1996 Michael Meissner <[email protected]> |
997f0ee9 | 99 | |
a72d2509 MM |
100 | * configure.in (--enable-hostendian): Rework so the default uses |
101 | the AC_C_BIGENDIAN results. Only run AC_C_BIGENDIAN if not cross | |
102 | compiling. | |
103 | * configure: Regenerate. | |
104 | ||
105 | * sim-endian.h: Add more tests for host endian to support more | |
106 | platforms in a cross compilation environment. | |
64646bd3 | 107 | |
a72d2509 | 108 | Wed Apr 17 14:38:06 1996 Michael Meissner <[email protected]> |
64646bd3 | 109 | |
a72d2509 MM |
110 | * hw_pal.c ({scan,write}_hw_pal): If WITH_STDIO == DO_USE_STDIO, |
111 | use stdio, instead of unpended read/printf_filtered. | |
112 | (hw_pal_instance_write_callback): If WITH_STDIO == DO_USE_STDIO, | |
113 | flush stdout after writing the characters. | |
d6103e8e | 114 | |
6740925b MM |
115 | * options.c (print_options): Print out WITH_STDIO. |
116 | ||
d6103e8e MM |
117 | * Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@ |
118 | configuration variable. | |
119 | (CONFIG_CFLAGS): Include STDIO_CFLAGS. | |
a72d2509 MM |
120 | (hw.{c,h}): Allow for source dir != build dir, and for HW_SRC |
121 | files to contain directory pieces. | |
d6103e8e MM |
122 | |
123 | * std-config.h (DO{,NT}_USE_STDIO): New flags for whether we | |
124 | should use stdio for console input. | |
125 | (WITH_STDIO): If not defined, define as DONT_USE_STDIO. | |
126 | ||
127 | * configure.in (--enable-sim-stdio): Add new switch to control | |
128 | whether stdio is used for console I/O. | |
129 | * configure: Regenerate. | |
130 | ||
a72d2509 MM |
131 | * interrupts.c (external_interrupt): Declare it to be |
132 | INLINE_INTERRUPTS, not INLINE_CPU. | |
1dc7c0ed | 133 | |
a72d2509 | 134 | Mon Apr 15 23:30:56 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 135 | |
a72d2509 MM |
136 | * events.c (insert_event_entry): Allow events to be scheduled |
137 | *NOW* (at delta time 0). Add assertions to clarify behavour of | |
138 | event queue. | |
1dc7c0ed | 139 | |
a72d2509 MM |
140 | * events.c (update_time_from_event): New function. Calculates the |
141 | number of ticks from the next event. Use this. | |
1dc7c0ed | 142 | |
a72d2509 | 143 | Sun Apr 14 21:39:45 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 144 | |
a72d2509 MM |
145 | * emul_netbsd.c (do_break): Return 0 if success (instead of |
146 | adjusted break). | |
1dc7c0ed | 147 | |
a72d2509 MM |
148 | * device_table.c (vm_ioctl_callback): Don't return adjusted break |
149 | (isn't needed). | |
1dc7c0ed | 150 | |
a72d2509 | 151 | Sun Apr 14 21:32:41 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 152 | |
a72d2509 MM |
153 | * device_table.h: Change type of the device ioctl so that it |
154 | returns an int (status). | |
155 | * device.h (device_ioctl): Ditto. | |
156 | * device.c (device_ioctl): Ditto. | |
1dc7c0ed | 157 | |
a72d2509 MM |
158 | * device_table.c (stack_ioctl_callback): Return 0 status. |
159 | (vm_ioctl_callback): Ditto | |
1dc7c0ed | 160 | |
a72d2509 | 161 | Thu Apr 4 20:58:05 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 162 | |
a72d2509 MM |
163 | * interrupts.h (interrupts): New structure contains state of |
164 | pending interrupts. | |
1dc7c0ed | 165 | |
a72d2509 MM |
166 | * cpu.c (cpu_interrupts): New function. Pending interrupt status |
167 | in the cpu and grant access to it. Add interrupts to cpu | |
168 | structure. | |
1dc7c0ed | 169 | |
a72d2509 | 170 | Fri Mar 29 22:09:25 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 171 | |
a72d2509 MM |
172 | * device.c (device_tree_add_parsed): Check that the creation of a |
173 | device instance worked before using it. | |
1dc7c0ed | 174 | |
a72d2509 MM |
175 | * psim.c (psim_halt): Remove cia argument from psim_halt. This |
176 | function does not save the CIA so do not pass it in. | |
1dc7c0ed | 177 | |
a72d2509 | 178 | Fri Mar 29 21:30:56 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 179 | |
a72d2509 MM |
180 | * hw_pal.c (hw_pal): Merge the halt and icu and console devices |
181 | found in device_table.c into a single hack pal. | |
1dc7c0ed | 182 | |
a72d2509 | 183 | * device_table.c (halt, icu, console): Delete. |
1dc7c0ed | 184 | |
a72d2509 | 185 | * Makefile.in (hw_pal.o): New dependency. |
1dc7c0ed | 186 | |
a72d2509 MM |
187 | * emul_generic.c (emul_add_tree_hardware): Re-arange device tree |
188 | so that it uses the pal instead of the icu/halt/console devices. | |
189 | Wire the pal's interrupt ports up to the cpu nodes. | |
1dc7c0ed | 190 | |
a72d2509 | 191 | Fri Mar 29 20:17:17 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 192 | |
a72d2509 MM |
193 | * hw_iobus.c (hw_iobus_attach_address_callback): Move from |
194 | device_table.c to here. | |
1dc7c0ed | 195 | |
a72d2509 | 196 | * Makefile.in (hw_iobus.o): New dependency. |
1dc7c0ed | 197 | |
a72d2509 | 198 | Mon Mar 25 22:07:13 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 199 | |
a72d2509 | 200 | * configure: Regenerate with autoconf 2.9. |
1dc7c0ed | 201 | |
a72d2509 | 202 | Thu Mar 21 00:14:26 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 203 | |
a72d2509 | 204 | * device_table.h: Always include string headers. |
1dc7c0ed | 205 | |
a72d2509 | 206 | Sun Mar 17 22:40:57 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 207 | |
a72d2509 MM |
208 | * basics.h: Move the event queue's definition to here so that it |
209 | can be refered to globally with out importing all of events.h. | |
1dc7c0ed | 210 | |
a72d2509 MM |
211 | * psim.h, psim.c (psim_event_queue): New function. Grant access |
212 | to the simulation event queue. Will make this the single point of | |
213 | access (there is after all only one event queue in the | |
214 | simulation). | |
1dc7c0ed | 215 | |
a72d2509 MM |
216 | * cpu.c (cpu_create): Use psim_event_queue to obtain the event |
217 | queue instead of it being passed in. No longer allow access to | |
218 | the cpu's copy of the event queue. | |
1dc7c0ed | 219 | |
a72d2509 | 220 | Sun Mar 17 22:40:57 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 221 | |
a72d2509 MM |
222 | * events.h, events.c (event_handler): Remove event_queue from |
223 | arguments passed to an event handler. That argument is redundant | |
224 | - the `data' should refer to a data structure that contains the | |
225 | event queue if queing is needed. | |
1dc7c0ed | 226 | |
a72d2509 | 227 | * cpu.c (cpu_decrement_event): adjust |
1dc7c0ed | 228 | |
a72d2509 | 229 | * events.c (event_queue_process): adjust |
1dc7c0ed | 230 | |
a72d2509 | 231 | Sun Mar 17 22:40:57 1996 Andrew Cagney <[email protected]> |
1dc7c0ed | 232 | |
a72d2509 MM |
233 | * device.h, device.c (device_system): New, returns a handle for |
234 | the system given the device. | |
1dc7c0ed | 235 | |
a72d2509 MM |
236 | * device.c (device_address_init): Store a pointer back to the |
237 | system in each devices node. | |
1dc7c0ed | 238 | |
a72d2509 MM |
239 | * device_table.h: Don't pass `system' into each device when it is |
240 | being initialized, this is now available using device_system(me). | |
1dc7c0ed | 241 | |
a72d2509 | 242 | * device.c (device_address_init, device_data_init): Adjust. |
4f965b81 | 243 | |
a72d2509 MM |
244 | * hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c: |
245 | Adjust. | |
4f965b81 | 246 | |
a72d2509 | 247 | Sun Mar 17 22:40:57 1996 Andrew Cagney <[email protected]> |
4f965b81 | 248 | |
a72d2509 MM |
249 | * interrupts.c (decrementer_interrupt, external_interrupt): |
250 | Remember that an interrupt wasn't delivered so that it can be | |
251 | tried again later. | |
4f965b81 | 252 | |
a72d2509 MM |
253 | * interrupts.c (check_masked_interrupt): New function. (re) |
254 | checks for the posibility that a recent change to the MSR may have | |
255 | made it possible to deliver an interrupt that was previously | |
256 | masked be the EE bit. | |
4f965b81 | 257 | |
a72d2509 MM |
258 | * ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of |
259 | a pending interrupt being delivered using check_masked_interrupt(). | |
4f965b81 | 260 | |
a72d2509 MM |
261 | * cpu.c (cpu_decrement_event): Just call decrementer_interrupt() |
262 | leaving it to that module to handle both interrupt synchronization | |
263 | and masking. | |
4f965b81 | 264 | |
a72d2509 MM |
265 | * cpu.c (struct _cpu): remove variables that were going to record |
266 | pending decrementer and external interrupts. | |
cb7a6892 | 267 | |
a72d2509 | 268 | Sun Mar 17 22:40:57 1996 Andrew Cagney <[email protected]> |
cb7a6892 | 269 | |
a72d2509 MM |
270 | * hw_cpu.c, hw_cpu.h: New files. Implement a device that sits |
271 | between the interrupt controller and the simulators internal | |
272 | processor model. Maps device interrupts onto the processor | |
273 | interrupt function calls. | |
cb7a6892 | 274 | |
a72d2509 | 275 | Mon Mar 4 06:06:54 1996 Andrew Cagney <[email protected]> |
cb7a6892 | 276 | |
a72d2509 MM |
277 | * hw_nvram.c: NVRAM device that includes a real-time clock that is |
278 | updated each second. | |
cb7a6892 | 279 | |
a72d2509 | 280 | Mon Mar 4 04:18:50 1996 Andrew Cagney <[email protected]> |
cb7a6892 | 281 | |
a72d2509 MM |
282 | * device.h (attach_type): Remove attach_default type address |
283 | spaces. Will replace with levels of callback memory. | |
cb7a6892 | 284 | |
a72d2509 MM |
285 | * corefile.h, corefile.c (new_core_mapping), corefile.c |
286 | (core_map_attach): Replace default attach with a layerd callback | |
287 | approach. | |
cb7a6892 | 288 | |
a72d2509 | 289 | Sun Mar 3 03:58:46 1996 Andrew Cagney <[email protected]> |
cb7a6892 | 290 | |
a72d2509 MM |
291 | * device.c (split_property_specifier): ensure that only a single |
292 | property is found. | |
293 | (split_value): New function, parses the value part of a device | |
294 | spec. | |
cb7a6892 | 295 | |
a72d2509 MM |
296 | * device.c (device_tree_add_parsed): Use the interrupt conversion |
297 | functions to determine the interrupt port numbers. | |
cb7a6892 | 298 | |
a72d2509 MM |
299 | * device_table.h: Add table that maps between an interrupts |
300 | symbolic name and its port number. | |
cb7a6892 | 301 | |
a72d2509 MM |
302 | * device.h, device.c (device_interrupt_decode, |
303 | device_interrupt_encode): new functions use the recently added | |
304 | interrupt port name/number tables to perform conversion. | |
cb7a6892 | 305 | |
a72d2509 | 306 | Sun Mar 3 03:23:59 1996 Andrew Cagney <[email protected]> |
cb7a6892 | 307 | |
a72d2509 MM |
308 | * device.h, device.c (device_set_array_property, |
309 | device_set_boolean_property, device_set_ihandle_property, | |
310 | device_set_integer_property, device_set_string_property): New | |
311 | functions - allow the value of a given property to be changed. | |
cb7a6892 | 312 | |
a72d2509 MM |
313 | * device.h, device.c: Re-order declaration and definition of |
314 | property functions. | |
cb7a6892 | 315 | |
a72d2509 | 316 | Sun Mar 3 03:10:22 1996 Andrew Cagney <[email protected]> |
cb7a6892 | 317 | |
a72d2509 MM |
318 | * device.c (device_tree_print_device, device_tree_add_parsed): |
319 | Remove references to phandle properties. | |
cb7a6892 | 320 | |
a72d2509 | 321 | Tue Feb 27 23:59:35 1996 Andrew Cagney - aka Noid <[email protected]> |
cb7a6892 | 322 | |
a72d2509 MM |
323 | * device_table.h: Revamp device init callbacks so that they are a |
324 | sub structure. | |
325 | * device.c (device_init_data, device_init_address): If an init | |
326 | callback is NULL assume it should do nothing. | |
327 | * device_table.c (ignore_device_init, unimp_device_init): delete | |
328 | as redundant. | |
329 | * device_table.c, hw_memory.c: adjust. | |
cb7a6892 | 330 | |
a72d2509 MM |
331 | * (io): ditto. |
332 | * (dma): ditto. | |
333 | * (device_instance): ditto. | |
334 | * (ioctl): ditto. | |
335 | * (address nee config_address): ditto. | |
336 | * (interrupt): ditto. | |
cb7a6892 | 337 | |
a72d2509 | 338 | Mon Feb 26 22:47:15 1996 Andrew Cagney - aka Noid <[email protected]> |
cb7a6892 | 339 | |
a72d2509 MM |
340 | * Makefile.in (hw.h, hw.c): New targets. Create from the list of |
341 | hw_*.c files. hw.h declares a device descriptor table for each hw | |
342 | device while hw.c lists those tables in a form suitable for the | |
343 | construction of a top leveltable in device_table.c. | |
cb7a6892 | 344 | |
a72d2509 MM |
345 | * Makefile.in (device_table.o): now depends on hw.c a generated |
346 | table of hw. | |
cb7a6892 | 347 | |
a72d2509 MM |
348 | * device_table.c (device_table): Re-arange the table of devices so |
349 | that two levels are possible. Make use of hw.c. | |
350 | * device_table.h: ditto. | |
cb7a6892 | 351 | |
a72d2509 MM |
352 | * device.c (device_template_create_device): Handle new two level |
353 | device lookup table. | |
354 | * device.c (device_usage): ditto. | |
cb7a6892 | 355 | |
a72d2509 | 356 | Mon Feb 26 22:24:00 1996 Andrew Cagney - aka Noid <[email protected]> |
cb7a6892 | 357 | |
a72d2509 | 358 | * device_table.c: Delete the memory device (moved to hw_memory.c). |
cb7a6892 | 359 | |
a72d2509 | 360 | * hw_memory.c: New file. Just an OpenBoot memory device. |