old-cross-binutils/sim/ppc/ChangeLog
1996-06-05 16:02:54 +00:00

846 lines
32 KiB
Text

Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* psim.c (psim_options): Correct type of dummy arguments being
passed to a device_ioctl call.
* hw_init.c (hw_data_init_data_callback): Adjust printf arguments.
(write_stack_arguments): Ditto.
* hw_trace.c: Instance callback entry no longer a table.
Wed Jun 5 01:39:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* emul_unix.c (do_unix_umask): Cast printf argument.
(convert_to_linux_termios): Use LINUX_VSWTC not LINUX_VSWCH
Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* hw_init.c (update_for_binary_section): Abort if we find an
.interp section, which indicates the need for shared libraries to
be loaded.
Mon Jun 3 15:02:04 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* 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.
Mon Jun 3 23:19:57 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* emul_netbsd.c (emul_netbsd_create): Use the more specific names
`ppc-elf' and `ppc-xcoff' for the stack-type.
* emul_unix.c (emul_unix_create): Ditto.
* emul_bugapi.c (emul_bugapi_create): Ditto.
* hw_init.c: Reconize the new names.
* emul_unix.c (do_unix_break): Adjust so that the updated ioctl
call is used (no system parameter).
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.
Thu May 30 00:00:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* hw_iobus.c: Tidy up notes so that they can be auto-extracted.
* README: Correct PSIM's title
Wed May 29 23:50:26 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* basics.h: New global type object_disposition, used to indicate
the status of objects when things are restarted.
Fri May 17 17:28:52 1996 Andrew Cagney <cagney@benjimen.highland.com.au>
* device_table.h: Change the interrupt descriptor structure so
that it includes an additional member - an upper bound on the
interrupts by that name.
* device.c (device_interrupt_decode): Allow a range of interrupt
ports (eg rst0 .. rst6) if the port descriptors bound is non zero.
* device.c (device_tree_print_device): Include a list of valid
interrupt ports when listing supported devices.
* device.h, device.c (device_child_interrupt_*): Delete. Not used.
* emul_generic.c (emul_add_tree_hardware): Modify the creation of
the interrupt net so that it uses int0 .. intN.
Tue May 14 23:03:53 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* device.h, device.c (device_ioctl): Drop the system argument.
Devices can not obtain this using the device_system() call.
* device_table.h: Adjust accordingly.
* hw_*.c: Adjust accordingly.
* emul_netbsd.c (do_break): Adjust call to vm device accordingly.
* psim.c (psim_options): Use a device_ioctl call to force the
hw_trace device to update the trace options.
* hw_trace.c: Replace the init function with an ioctl call. Adjust
doc accordingly.
* psim.c (psim_init): Re-order initialization so that the
os-emulation is initialized after the device tree. Without this,
os-emul's are not able to create instances or access properties
that contain an instance handle.
* device.h, device.c (device_add_*_property): Make these functions
internal to device.c. The user has access to the more generic
device_tree_add_parsed function. Differentiate between the initial
and current value for each property.
* (clean_device_properties): New function that deletes any
properties created after the start of a simulation and restores
the initial value of any others (ignoring ihandles).
* (init_device_properties): (Re)Initialize any properties that
contain ihandles. create
* (device_tree_init): Include calls to clean the device tree's
properties and then initialize them. Document this in the device.h
file.
Mon May 6 17:36:15 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* interrupts.c (decrementer_interrupt): Always pend a decrementer
interrupt even if it is not yet possible to deliver it.
Wed May 1 12:26:51 1996 Andrew Cagney <cagney@benjimen>
* mon.h, mon.c (mon_get_number_of_insns): Make this externally
visable adjusting the arguments so that the interface is correct.
(mon_print_info): Adjust calls.
* registers.h, registers.c (register_description): Add phony
cycle, insn and stall registers.
* psim.c (psim_read_register): Return nr of instructions for given
processor.
Tue Apr 30 22:09:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* hw_htab.c: New file. Extract contents from disk_table.c.
Contains a device that, during initialization will create a
PowerPC htab in memory.
* hw_register.c: New file. Extract contents from disk_table.c.
Contains a device that, during initialization, will parse its
property list and use that to initialize various processor
registers (not target specific).
* hw_vm.c: New file. Extract contents from disk_table.c. Contains
a device that handles accesses to invalid virtual memory addresses
(in user mode).
* hw_init.c: New file. Extract contents from disk_table.c. Misc
devices that can initialize memory from a file.
* hw_trace.c: New file. Extract contents from disk_table.c.
Configure trace options from property values.
* Makefile.in (hw_htab.o, hw_register.o, hw_vm.o, hw_init.o,
hw_trace.c): Add new device files.
* device_table.c: Remove above code, now in separate independant
files.
Fri Apr 26 00:00:07 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* hw_disk.c: New file. Disk and CDROM device.
* Makefile.in (hw_disk.o): Add device hw_disk.c.
* pk_disklabel.c: New file. Implement the miss-named disk-label
package.
* Makefile.in (pk.h): Create the file pk.h that contains a list of all
the packages.
* Makefile.in (hw.h, hw.c): Add dependancy on Makefile so that
they are re-created when the makefile is updated.
* emul_generic.c (emul_add_tree_hardware): Add a disk device
(below the iobus) to the device tree. Include an ihandle of
the disk as /chosen/disk.
* emul_bugapi.c (emul_bugapi_create): Don't initialize the input,
output and (new) disk handles yet.
* (emul_bugapi_init): Initialize the input, output (and just added)
disk ihandles here.
* (emul_bugapi_do_diskio): New. Performs disk i/o (well at least
what I think the behavour is).
* emul_bugapi.c (emul_bugapi_instruction_call): Add hook to disk
i/o bug call. For RETURN call, exit using gpr[3]'s status even
though this isn't part of the spec - makes it possible for machine
code to signal the aporting of a simulation run.
* emul_chirp.c (chirp_emul_call_method): Add support for the
claim/release methods.
* (chirp_emul_exit): Add an optional exit status argument to
the exit method. Makes it possible for chirp emul simulations
to abort upon an error.
* device.h, device.c (device_instance_claim,
device_instance_release): New methods for claiming and releasing
memory.
* hw_memory.c: add claim and release memory methods.
* hw_*: Use the claim memory method when allocating physical
memory.
Thu Apr 18 23:38:10 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* hw_nvram.c (hw_nvram_update_clock): Use the current not previous
time when updating the clock.
* hw_nvram.c: Tidy up documentation
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
Sat Apr 13 00:00:24 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* emul_netbsd.c (do_read): Correctly set the return value.
(do_getpid): Ditto.
(do_getuid): Ditto.
(do_geteuid): Ditto.
(do_dup): Ditto.
(do_getegid): Ditto.
(do_getgid): Ditto.
(do_sigprocmask): Ditto.
(do_umask): Ditto.
(do_dup2): Ditto.
(do_gettimeofday): Ditto.
(do_getrusage): Ditto.
(do_fstat): Ditto.
(do_stat): Ditto.
(do_lseek): Ditto.
(do___sysctl): Ditto.
Fri Apr 12 20:56:47 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* device_table.c (vm_ioctl_callback): Don't access the processor
registers directly, instead leave it to the caller to handle this.
* emul_netbsd.c (do_break): Which calls vm_ioctl_callback to
perform a break. Pass in the new break value and set the
registers according to the result.
* emul_generic.c (emul_write_status): Change so that r3 contains
either status or errno and failure is indicated by SO.
Thu Apr 4 23:03:38 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* emul_bugapi.c (emul_bugapi_create): More strict check of OEA
address.
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.
Fri Mar 29 12:17:58 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* emul_bugapi.c (_os_emul_data): Add fields for output, input.
(emul_bugapi_create): Create input, output from /chosen/stdin and
/chosen/stdout.
(emul_bugapi_do_{read,write}): Switch to use device_instance
interface.
(emul_bugapi_instruction_call): Change calls to
emul_bugapi_do_{read,write} to pass device instance argument.
Tue Mar 26 14:57:58 1996 Michael Meissner <meissner@tiktok.cygnus.com>
* igen.c (idecode_switch_end): Fix 2/26 change so that an extra
default is not written out if a default was already written.
* psim.c (psim_{read,write}_register): Use sizeof unsigned_8 to
size cooked_buf, not sizeof natural_word, since floating point
registers are 8 bytes.
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.
Thu Mar 21 00:06:09 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* main.c (error): Be careful to not try to print out statistics
when the simulation was never created.
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.
Wed Feb 28 00:43:07 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
* Makefile.in (corefile.o): missing dependency on device_table.h
etc.
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 21:11:20 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
* igen.c (idecode_switch_end): Output a default entry when the
switch statement is perfect. Firstly stops GCC complaining about
an incomplete switch and secondly it will be eliminated by a good
compiler any way.
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.
Wed Jan 17 21:47:34 1996 Andrew Cagney <cagney@highland.com.au>
* device.c (device_init_address): New. Split initialization into
two stages, address and address spaces
* device.c (device_init_data): New. ... and data or other work.
With out this, devices try to modify memory before it as been
attached.
* device.c (device_tree_init): Update to perform staged
initialization.
* device.c (device_init): Delete.
Wed Jan 17 21:43:09 1996 Andrew Cagney <cagney@highland.com.au>
* device_table.c (data_*): Rewrite to make heaver use of property
nodes. Allow initialization by different data types.
* device_table.c (htab_* pte_*): Rewrite to use properties.
* emul_chirp.c (emul_chirp_create): Use
* emul_bugapi.c (emul_bugapi_create): Ditto
* emul_netbsd.c (emul_netbsd_create): Ditto
Wed Jan 17 21:24:50 1996 Andrew Cagney <cagney@highland.com.au>
* emul_generic.c (emul_add_tree_options): Annotate existing tree
with options that haven't yet been specified.
* emul_generic.c (emul_add_tree_hardware): Annotate existing tree
with demo devices and properties.
* emul_chirp.c (emul_chirp_create): Update to use new
device_tree_add_parsed call and additional information now
included in the device tree. Use emul_add_tree* functions to add
any missing details.
* emul_bugapi.c (emul_bugapi_create): Ditto
* emul_netbsd.c (emul_netbsd_create): Ditto
Wed Jan 17 21:18:27 1996 Andrew Cagney <cagney@highland.com.au>
* device.c (device_instance_create): New. Create/delete and
operate on instances of a device.
* device.c (device_instance_delete): Ditto
* device.c (device_instance_read): Ditto
* device.c (device_instance_write): Ditto
* device.c (device_instance_seek): Ditto
* device.c (device_instance_data): Ditto
* device.c (device_instance_name): Ditto
* device.c (device_instance_path): Ditto
* emul_chirp.c (chirp_emul_open): Implement using device_instance.
* emul_chirp.c (chirp_emul_close): Ditto
* emul_chirp.c (chirp_emul_read): Ditto
* emul_chirp.c (chirp_emul_write): Ditto
* emul_chirp.c (chirp_emul_seek): Ditto
* emul_chirp.c (chirp_read_t2h_args): Read arguments from device.
Being careful to convert all from target to host byte order.
* emul_chirp.c (chirp_write_h2t_args): Converse.
Wed Jan 17 20:07:15 1996 Andrew Cagney <cagney@highland.com.au>
* device.c (device_tree_add_parsed): New. Rewrite code to add
devices to the device tree so that a single printf style function
is used.
* device.c (device_tree_add_*): Delete. Replaced by above.
* device.c (split_device_specifier): Functions to manipulate a
device specifier (path) breaking it into its components
* device.c (split_property_specifier): Ditto
* device.c (split_device_name): Ditto
* device.c (split_find_device): Ditto
* device.c (scan_*): Delete
* device.c (device_tree_find_device): Rewrite to use above.
* device.c (device_add_property): Ditto
Wed Jan 17 19:51:56 1996 Andrew Cagney <cagney@highland.com.au>
* psim.c(psim_options): Parse the psim options, installing their
value in the device tree. Options are now first entered into a
device tree and then extracted out again when needed. This allows
greater flexability in configuration.
* psim.c (psim_tree): Returns a basic device tree ready for
parsing by psim_options.
* psim.c (psim_usage): New. Give usage to varing levels of detail
according to the verbosity. In turn output device and trace
usage.
* main.c (main): Update to use new system
* sim_calls.c (sim_open, sim_do_command): Ditto
* psim.c (psim_options): Add `r' option - ram size.
* psim.c (psim_options): Add `o' option - openboot tree entry.
* psim.c (psim_options): Add `h'/`H' options - more help.
* debug.c (trace_usage): Add more detailed help.
* device.c (device_usage): New. Output help including a list of
the devices currently available in the device table.
* device_table.c: Add usage operator to each device.
* corefile.c (core_create, core_device_create): Adjust so that the
core device is created earlier for psim_tree(). Core can later be
created from it.
* psim.c (psim_create): Update to handle above way of creating
things. Extract all information from the device tree.
* device_tree.c (trace_*): New device node, its properties are
used to set the value of the trace options. Init this device (in
psim_options) when ever the options are updated.
Wed Jan 17 19:46:07 1996 Andrew Cagney <cagney@highland.com.au>
* debug.h: Add trace_print_info, trace_print_device_tree and
trace_dump_device_tree. The first is a replacement for the
variable `print_info' found in main.c and sim_calls.c. The latter
two enable the dumping of the entire device tree.
* debug.c: Add to trace_description table.
* main.c (main): Use above trace instead of local variable
* sim_calls.c (sim_close): Ditto
* device.c (device_tree_print_device): New. Prints the device
tree in a format that is consistent with what can be parsed by the
device tree load from file code.
* psim.c (psim_create): Dump device tree if enabled. If nump
selected, exit psim immediatly.
Wed Jan 17 19:36:52 1996 Andrew Cagney <cagney@highland.com.au>
* corefile-n.h (core_map_read_N): When mapping from an address to
a device, do not subtract the devices base. The device its self
can do this. Brings the behavour into line with OpenBoot.
* corefile-n.h (core_map_write_N): Ditto
* corefile.c (core_map_read_buffer): Ditto
* corefile.c (core_map_write_buffer): Ditto
* device_table.c (console_io_read_buffer_callback): Adjust to
handle biased address.
* device_table.c (console_io_write_buffer_callback): Ditto
Wed Jan 17 18:36:09 1996 Andrew Cagney <cagney@highland.com.au>
* device.c (attach_device_interrupt_edge): New. Interrupt model
did not allow interrupts to be wired up as a general net (edges).
Re-implement so that interrupt events can be passed to multiple
controllers and interrupt controllers can further propogate
interrupt events.
* device.c (attach_device_interrupt_edge) : New, Ditto
* device.c (detach_device_interrupt_edge) : New, Ditto
* device.c (clean_device_interrupt_edges) : New, Ditto
* device.c (device_interrupt_event) : New, Ditto
* device.c (device_interrupt_attach) : New, Ditto
* device.c (device_interrupt_detach) : New, Ditto
* device.c (device_child_interrupt_attach) : New, Ditto
* device.c (device_child_interrupt_detach) : New, Ditto
* device.c (device_attach_interrupt) : Delete old
* device.c (device_detach_interrupt) : Delete old
* device.c (device_interrupt) : Delete old
* device.c (device_interrupt_ack) : Delete old
* device_table.c (unimp_*) : Update to match
* device_table.c (icu_io_write_buffer_callback) : Update to use
interface.
* device_table.c (icu_interrupt_event_callback) : Ditto
Wed Jan 17 18:18:40 1996 Andrew Cagney <cagney@highland.com.au>
* device.c (external_to_device) : New function that provides a
standard mapping between a devices internal representation (a
pointer) and its external (or what is passed to a client)
representation (a phandle). Implement using the cap object
attached to the root node.
* device.c (device_to_external) : Ditto
* device.c (external_to_device_instance) : Ditto but for ihandle
and device instance.
* device.c (device_instance_to_external) : Ditto
* Makefile (device.o): Add dependency on cap.
* emul_chirp.c (struct _emul_chirp_data) : Elimate use of cap. Code
needing to translate between internal and external representations
changed to use the external_to_device et.al. device operations.
* emul_chirp.c (chirp_emul_*) : Ditto
* Makefile (emul_chirp.o): Remove dependency on cap
Sat Jan 6 10:13:26 1996 Andrew Cagney - aka Noid <cagney@highland.com.au>
* emul_chirp.c (map_over_chirp_note): Tighten up (and fix) checks
on OpenBoot note section.
Fri Jan 5 20:28:53 1996 Andrew Cagney <cagney@hignland.com.au>
* emul_generic.c (emul_write_buffer): Use vm faulting byte
read/write calls for buffer transfers. This will cause a fault to
occure if the transfer fails. CHRP catches the fault while the
others suffer the consequences.
(emul_read_buffer): Ditto.
(emul_write_word): Ditto.
(emul_read_word): Ditto.
(emul_read_string): Ditto.
Fri Jan 5 18:55:34 1996 Andrew Cagney <cagney@highland.com.au>
* emul_chirp.c (emul_chirp_create, emul_chirp_instruction_call),
emul_generic (emul_blr_instruction): Use a real blr instruction to
return from a client service call.
* emul_chirp.c (services): Add all OpenBoot services to table.
* emul_generic.h, emul_bugapi.c (emul_bugapi_create), emul_chirp.c
(emul_chirp_create) : Use names instead of numbers for
instructions being stored in memory.
Fri Jan 5 18:52:28 1996 Andrew Cagney <cagney@highland.com.au>
* Makefile.in (maintainer-clean): Remove .log, core and *.core
(From NetBSD) files.
Wed May 29 22:57:40 1996 Andrew Cagney <cagney@kremvax.highland.com.au>
* ChangeLog.00, ChangeLog: ChangeLog from gdb-4.16 becomes
ChangeLog.00