darling-gdb/sim/ppc/ChangeLog
1996-06-03 20:26:09 +00:00

365 lines
13 KiB
Plaintext

Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* device_table.c (update_for_binary_section): Abort if we find an
.interp section, which indicates the need for shared libraries to
be loaded.
* emul_unix.c (do_unix_{time,gettimeofday,getrusage}): Add support
for time, gettimeofday, and getrusage system calls.
({solaris,linux}_descriptors): Add new system calls.
(do_get{,e}{uid,gid}): Use gid_t/uid_t types.
(do_get{,p}pid): Use pic_t types.
* configure.in (AC_TYPE_{GETGROUPS,SIGNAL}): Define.
(AC_TYPE_{MODE,OFF,PID,SIZE,UID}_T): Define.
* config{.in,ure}: Regenerate.
Sun Jun 2 11:21:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* emul_unix.{h,c}: New files to provide Solaris and Linux system
call emulations.
* Makefile.in (LIB_{SRC,OBJ}): Add emul_unix.{c,o}.
(os_emul.o): Depend on emul_unix.h.
(emul_unix.o): New dependency.
* configure.in (--enable-sim-alignment): Add 0|default to mean set
alignment to 0, which means use appropriate alignment for mode.
(AC_CHECK_FUNCS): Add new functions needed by emul_unix.c.
(AC_CHECK_HEADERS): Add new include files needed by emul_unix.c.
* config.in: Regenerate.
* configure: Regenerate.
* emul_generic.c (emul_write2_status): New function to return
results in r3 and r4 for Solaris system calls.
(emul_do_system_call): If the system call is not support, but
there is a string for the system call name, print out the string
instead of the system call number.
* emul_generic.h (emul_write2_status): Declare it.
* emul_netbsd.c: Use /* */ around comment on #endif.
* os_emul.c: Include emul_unix.h.
(os_emulations): Add emulations for Solaris, and Linux.
* psim.c (psim_usage): Add message about solaris, linux
emulations.
Fri May 24 10:08:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* configure.in (AC_STRUCT_ST_{BLKSIZE,BLOCKS,RDEV}): Use these
macros to determine whether or not the appropriate st_<xxx> fields
exist in the stat structure.
(AC_CHECK_FUNCS): Check for all unix system calls used, except for
the real basic ones like open, read, write, etc.
* config{.in,ure}: Regenerate.
* emul_netbsd.c: Add support for missing system calls, and/or
missing stat fields.
(MAXPATHLEN): Undefine if including unistd.h, since sys/param.h
might define it.
* hw_pal.c (WITH_STDIO): Redefine if O_NDELAY, F_GETFL, or F_SETFL
are not defined.
(scan_hw_pal): Do not cause syntax error if O_NDELAY, F_GETFL, or
F_SETFL not defined.
Tue May 21 17:24:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* emul_netbsd.c (write_stat): Don't convert st_blocks unless the
host is netbsd.
Thu May 16 10:56:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* configure.in (AC_CHECK_HEADERS): Add sys/ioctl.h.
* config{.in,ure}: Regenerate.
* emul_netbsd.c: If HAVE_SYS_IOCTL_H is not defined, don't include
sys/ioctl.h.
Tue May 7 17:28:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* hw_pal.c (hw_pal_instance_read_callback): Remove unused
variable.
* misc.c ({,target_}a2i): Rewrite to not use strtoul.
* Makefile.in ({spreg,misc}.o): Add dependency on .c file.
({i,d}gen): Don't link in liberity. Use BUILD_LIBS instead of
LIBS.
Mon May 6 11:31:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* hw_pal.c (hw_pal_instance_read_callback): If using stdio, use
fgets to read line. If not using stdio, do a simple blocking read
of len bytes.
Fri May 3 15:07:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* Makefile.in: Correctly build simulator for build machine != host
machine.
Tue Apr 30 18:46:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* configure.in (--enable-hostendian): Rework so the default uses
the AC_C_BIGENDIAN results. Only run AC_C_BIGENDIAN if not cross
compiling.
* configure: Regenerate.
* sim-endian.h: Add more tests for host endian to support more
platforms in a cross compilation environment.
Wed Apr 17 14:38:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* hw_pal.c ({scan,write}_hw_pal): If WITH_STDIO == DO_USE_STDIO,
use stdio, instead of unpended read/printf_filtered.
(hw_pal_instance_write_callback): If WITH_STDIO == DO_USE_STDIO,
flush stdout after writing the characters.
* options.c (print_options): Print out WITH_STDIO.
* Makefile.in (STDIO_CFLAGS): Pass on result of @sim_stdio@
configuration variable.
(CONFIG_CFLAGS): Include STDIO_CFLAGS.
(hw.{c,h}): Allow for source dir != build dir, and for HW_SRC
files to contain directory pieces.
* std-config.h (DO{,NT}_USE_STDIO): New flags for whether we
should use stdio for console input.
(WITH_STDIO): If not defined, define as DONT_USE_STDIO.
* configure.in (--enable-sim-stdio): Add new switch to control
whether stdio is used for console I/O.
* configure: Regenerate.
* interrupts.c (external_interrupt): Declare it to be
INLINE_INTERRUPTS, not INLINE_CPU.
Mon Apr 15 23:30:56 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* events.c (insert_event_entry): Allow events to be scheduled
*NOW* (at delta time 0). Add assertions to clarify behavour of
event queue.
* events.c (update_time_from_event): New function. Calculates the
number of ticks from the next event. Use this.
Sun Apr 14 21:39:45 1996 Andrew Cagney <cagney@highland.com.au>
* emul_netbsd.c (do_break): Return 0 if success (instead of
adjusted break).
* device_table.c (vm_ioctl_callback): Don't return adjusted break
(isn't needed).
Sun Apr 14 21:32:41 1996 Andrew Cagney <cagney@highland.com.au>
* device_table.h: Change type of the device ioctl so that it
returns an int (status).
* device.h (device_ioctl): Ditto.
* device.c (device_ioctl): Ditto.
* device_table.c (stack_ioctl_callback): Return 0 status.
(vm_ioctl_callback): Ditto
Thu Apr 4 20:58:05 1996 Andrew Cagney <cagney@highland.com.au>
* interrupts.h (interrupts): New structure contains state of
pending interrupts.
* cpu.c (cpu_interrupts): New function. Pending interrupt status
in the cpu and grant access to it. Add interrupts to cpu
structure.
Fri Mar 29 22:09:25 1996 Andrew Cagney <cagney@highland.com.au>
* device.c (device_tree_add_parsed): Check that the creation of a
device instance worked before using it.
* psim.c (psim_halt): Remove cia argument from psim_halt. This
function does not save the CIA so do not pass it in.
Fri Mar 29 21:30:56 1996 Andrew Cagney <cagney@highland.com.au>
* hw_pal.c (hw_pal): Merge the halt and icu and console devices
found in device_table.c into a single hack pal.
* device_table.c (halt, icu, console): Delete.
* Makefile.in (hw_pal.o): New dependency.
* emul_generic.c (emul_add_tree_hardware): Re-arange device tree
so that it uses the pal instead of the icu/halt/console devices.
Wire the pal's interrupt ports up to the cpu nodes.
Fri Mar 29 20:17:17 1996 Andrew Cagney <cagney@highland.com.au>
* hw_iobus.c (hw_iobus_attach_address_callback): Move from
device_table.c to here.
* Makefile.in (hw_iobus.o): New dependency.
Mon Mar 25 22:07:13 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* configure: Regenerate with autoconf 2.9.
Thu Mar 21 00:14:26 1996 Andrew Cagney <cagney@highland.com.au>
* device_table.h: Always include string headers.
Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
* basics.h: Move the event queue's definition to here so that it
can be refered to globally with out importing all of events.h.
* psim.h, psim.c (psim_event_queue): New function. Grant access
to the simulation event queue. Will make this the single point of
access (there is after all only one event queue in the
simulation).
* cpu.c (cpu_create): Use psim_event_queue to obtain the event
queue instead of it being passed in. No longer allow access to
the cpu's copy of the event queue.
Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
* events.h, events.c (event_handler): Remove event_queue from
arguments passed to an event handler. That argument is redundant
- the `data' should refer to a data structure that contains the
event queue if queing is needed.
* cpu.c (cpu_decrement_event): adjust
* events.c (event_queue_process): adjust
Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
* device.h, device.c (device_system): New, returns a handle for
the system given the device.
* device.c (device_address_init): Store a pointer back to the
system in each devices node.
* device_table.h: Don't pass `system' into each device when it is
being initialized, this is now available using device_system(me).
* device.c (device_address_init, device_data_init): Adjust.
* hw_cpu.c, hw_nvram.c, hw_memory.c, hw_eeprom.c, device_table.c:
Adjust.
Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
* interrupts.c (decrementer_interrupt, external_interrupt):
Remember that an interrupt wasn't delivered so that it can be
tried again later.
* interrupts.c (check_masked_interrupt): New function. (re)
checks for the posibility that a recent change to the MSR may have
made it possible to deliver an interrupt that was previously
masked be the EE bit.
* ppc-instructions (mtmsr, mfmsr, rfi): Check for posibility of
a pending interrupt being delivered using check_masked_interrupt().
* cpu.c (cpu_decrement_event): Just call decrementer_interrupt()
leaving it to that module to handle both interrupt synchronization
and masking.
* cpu.c (struct _cpu): remove variables that were going to record
pending decrementer and external interrupts.
Sun Mar 17 22:40:57 1996 Andrew Cagney <cagney@highland.com.au>
* hw_cpu.c, hw_cpu.h: New files. Implement a device that sits
between the interrupt controller and the simulators internal
processor model. Maps device interrupts onto the processor
interrupt function calls.
Mon Mar 4 06:06:54 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* hw_nvram.c: NVRAM device that includes a real-time clock that is
updated each second.
Mon Mar 4 04:18:50 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* device.h (attach_type): Remove attach_default type address
spaces. Will replace with levels of callback memory.
* corefile.h, corefile.c (new_core_mapping), corefile.c
(core_map_attach): Replace default attach with a layerd callback
approach.
Sun Mar 3 03:58:46 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* device.c (split_property_specifier): ensure that only a single
property is found.
(split_value): New function, parses the value part of a device
spec.
* device.c (device_tree_add_parsed): Use the interrupt conversion
functions to determine the interrupt port numbers.
* device_table.h: Add table that maps between an interrupts
symbolic name and its port number.
* device.h, device.c (device_interrupt_decode,
device_interrupt_encode): new functions use the recently added
interrupt port name/number tables to perform conversion.
Sun Mar 3 03:23:59 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* device.h, device.c (device_set_array_property,
device_set_boolean_property, device_set_ihandle_property,
device_set_integer_property, device_set_string_property): New
functions - allow the value of a given property to be changed.
* device.h, device.c: Re-order declaration and definition of
property functions.
Sun Mar 3 03:10:22 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* device.c (device_tree_print_device, device_tree_add_parsed):
Remove references to phandle properties.
Tue Feb 27 23:59:35 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
* device_table.h: Revamp device init callbacks so that they are a
sub structure.
* device.c (device_init_data, device_init_address): If an init
callback is NULL assume it should do nothing.
* device_table.c (ignore_device_init, unimp_device_init): delete
as redundant.
* device_table.c, hw_memory.c: adjust.
* (io): ditto.
* (dma): ditto.
* (device_instance): ditto.
* (ioctl): ditto.
* (address nee config_address): ditto.
* (interrupt): ditto.
Mon Feb 26 22:47:15 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
* Makefile.in (hw.h, hw.c): New targets. Create from the list of
hw_*.c files. hw.h declares a device descriptor table for each hw
device while hw.c lists those tables in a form suitable for the
construction of a top leveltable in device_table.c.
* Makefile.in (device_table.o): now depends on hw.c a generated
table of hw.
* device_table.c (device_table): Re-arange the table of devices so
that two levels are possible. Make use of hw.c.
* device_table.h: ditto.
* device.c (device_template_create_device): Handle new two level
device lookup table.
* device.c (device_usage): ditto.
Mon Feb 26 22:24:00 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
* device_table.c: Delete the memory device (moved to hw_memory.c).
* hw_memory.c: New file. Just an OpenBoot memory device.