Commit graph

26 commits

Author SHA1 Message Date
J.T. Conklin
29e5738069 * exec.c (xfer_memory): Add attrib argument.
* infptrace.c (child_xfer_memory): Likewise.
* monitor.c (monitor_xfer_memory): Likewise.
* remote-adapt.c (adapt_xfer_inferior_memory): Likewise.
* remote-array.c (array_xfer_memory): Likewise.
* remote-bug.c (bug_xfer_memory): Likewise.
* remote-e7000.c (e7000_xfer_inferior_memory): Likewise.
* remote-eb.c (eb_xfer_inferior_memory): Likewise.
* remote-es.c (es1800_xfer_inferior_memory): Likewise.
* remote-mips.c (mips_xfer_memory): Likewise.
* remote-mm.c (mm_xfer_inferior_memory): Likewise.
* remote-nindy.c (nindy_xfer_inferior_memory): Likewise.
* remote-os9k.c (rombug_xfer_inferior_memory): Likewise.
* remote-rdi.c (arm_rdi_xfer_memory): Likewise.
* remote-rdp.c (remote_rdp_xfer_inferior_memory): Likewise.
* remote-sds.c (sds_xfer_memory): Likewise.
* remote-sim.c (gdbsim_xfer_inferior_memory): Likewise.
* remote-st.c (st2000_xfer_inferior_memory): Likewise.
* remote-udi.c (udi_xfer_inferior_memory): Likewise.
* remote-vx.c (vx_xfer_memory): Likewise.
* remote.c (remote_xfer_memory): Likewise.
* target.c (debug_to_xfer_memory, do_xfer_memory): Likewise.
* target.h (child_xfer_memory, do_xfer_memory, xfer_memory): Likewise.

* target.h (#include "memattr.h"): Added.
(target_ops.to_xfer_memory): Add attrib argument.

* wince.c (_initialize_inftarg): Removed call to set_dcache_state.
* dcache.h (set_dcache_state): Removed declaration.
* dcache.c (set_dcache_state): Removed definition

* dcache.c: Update module comment, as dcache is now enabled and
disabled with memory region attributes instead of by the global
variable "remotecache".  Add comment describing the interaction
between dcache and memory region attributes.
(dcache_xfer_memory): Add comment describing benefits of moving
cache writeback to a higher level.
(dcache_struct): Removed cache_has_stuff field.  This was used to
record whether the cache had been accessed in order to invalidate
it when it was disabled.  However, this is not needed because the
cache is write through and the code that enables, disables, and
deletes memory regions invalidate the cache.  Add comment which
suggests that we could be more selective and only invalidate those
cache lines containing data from those memory regions.
(dcache_invalidate): Updated.
(dcache_xfer_memory): Updated.

(dcache_alloc): Don't abort() if dcache_enabled_p is clear.
(dcache_xfer_memory): Removed code that called do_xfer_memory() to
perform a uncached transfer if dcache_enabled_p was clear.  This
function is now only called if caching is enabled for the memory
region.
(dcache_info): Always print cache info.

* target.c (do_xfer_memory): Add attrib argument.
(target_xfer_memory, target_xfer_memory_partial): Break transfer
into chunks defined by memory regions, pass region attributes to
do_xfer_memory().
* dcache.c (dcache_read_line, dcache_write_line): Likewise.

* Makefile.in (SFILES): Add memattr.c.
(COMMON_OBS): Add memattr.o.
(dcache.o): Add target.h to dependencies.
* memattr.c: New file.
* memattr.h: Likewise.
2001-01-23 22:48:56 +00:00
J.T. Conklin
4930751aae * TODO: Note abstraction layer violation where "ocd reset" command
must invalidate the dcache, and how this might be fixed.

* monitor.c (#include "dcache.h"): Removed.
(remote_dcache): Removed.
(monitor_open): Removed code that created local dcache.
(flush_monitor_dcache): Removed (unused function).
(monitor_resume): Removed call to dcache_invd().
(monitor_load): Likewise.
(monitor_xfer_memory): Changed to call monitor_write_memory(),
monitor_write_memory_block(), and monitor_read_memory() instead
of dcache_xfer_memory().
* monitor.h (flush_monitor_dcache): Removed (unused function).
* ocd.c (#include "dcache.h"): Removed.
(ocd_dcache): Removed.
(ocd_open): Removed code that created local dcache.
(ocd_resume): Removed call to dcache_invd().
(ocd_xfer_memory): Changed to call ocd_write_bytes() and
ocd_read_bytes() instead of dcache_xfer_memory().
(bdm_reset_command): Invalidate target dcache.
* remote-bug.c (bug_load): Remove call to dcache_invd().
(bug_resume): Likewise.
(bug_settings): Remove dcache, readfunc, and writefunc fields
from initializer.
(bug_xfer_memory): Changed to call bug_read_memory() and
bug_write_memory() instead of dcache_xfer_memory().
* remote-nindy.c (#include "dcache.h"): Removed.
(nindy_dcache): Removed.
(nindy_open): Removed code that created local dcache.
(nindy_resume): Removed call to dcache_invd().
(nindy_load): Likewise.
(nindy_xfer_inferior_memory): Changed to call ninMemPut() and
ninMemGet() instead of dcache_xfer_memory().
* remote-sds.c (#include "dcache.h"): Removed.
(sds_dcache): Removed.
(sds_open): Removed code that created local dcache.
(sds_resume): Removed call to dcache_invd().
(sds_xfer_memory): Changed to call sds_write_bytes() and
sds_read_bytes() instead of dcache_xfer_memory().
* remote-utils.c (gr_open): Removed code that created local dcache.
* remote-utils.h (#include "dcache.h"): Removed.
(struct gr_settings): Removed dcache, readfunc, and writefunc fields.
(gr_get_dcache, gr_set_dcache): Removed macro definitions.
* remote.c (#include "dcache.h"): Removed.
(remote_dcache): Removed.
(remote_open_1): Removed code that created local dcache.
(remote_async_open_1): Likewise.
(remote_resume): Removed call to dcache_invd().
(remote_async_resume): Likewise.
(remote_xfer_memory): Changed to call remote_write_bytes() and
remote_read_bytes() instead of dcache_xfer_memory().
* wince.c (#include "dcache.h"): Removed.
(remote_dcache): Removed.
(child_create_inferior): Removed code that created local dcache.
(child_xfer_memory): Changed to call remote_write_bytes() and
remote_read_bytes() instead of dcache_xfer_memory().
(child_resume): Removed call to dcache_invd().

* target.c (target_dcache): Added.
(target_load): Invalidate target_dcache.
(do_xfer_memory): New function.
(target_xfer_memory): Reimplement in terms of dcache_xfer_memory().
(target_xfer_memory_partial): Likewise.
(initialize_targets): Create target_dcache.
* target.h (#include "dcache.h"): Added.
(target_open): Invalidate target_dcache.
(target_resume): Likewise.
(do_xfer_memory): New declaration.

* dcache.c (dcache_init): Removed reading and writing arguments.
(dcache_struct): Removed read_memory and write_memory fields.
(dcache_write_line): Call do_xfer_memory.
(dcache_read_line): Likewise.
(dcache_xfer_memory): Likewise.
(dcache_invalidate): Renamed from dcache_invd.
(dcache_init): Updated.
(dcache_xfer_memory): Updated.
* dcache.h (memxferfunc): Removed definition.
2000-11-03 22:00:56 +00:00
Kevin Buettner
d93bce0603 Protoization. 2000-10-12 21:39:21 +00:00
J.T. Conklin
8edbea78dc * dcache.c (dcache_info): Output a cache line's state vector so it
lines up under the data vector.

* dcache.c (dcache_read_line): New function.
(dcache_peek_byte): Use it.
(dcache_alloc): Return NULL if write of reclaimed cache line fails.
(dcache_peek_byte, dcache_poke_byte): Return failure if
dcache_alloc() returns a NULL data block pointer.
(dcache_xfer_memory): Don't force writeback unless we were writing.

* monitor.c (monitor_expect): Change places where immediate_quit
is set to 1 or 0 to increments and decrements respectively.  This
allows such changes to nest properly.
* ocd.c (ocd_start_remote): Likewise.
* remote-adapt.c (expect): Likewise.
* remote-array.c (expect): Likewise.
* remote-eb.c (expect): Likewise.
* remote-e7000.c (e7000_start_remote): Likewise.
* remote-mips.c (mips_expect_timeout, mips_getstring): Likewise.
* remote-nrom.c (expect): Likewise.
* remote-os9k.c (expect): Likewise.
* remote-sds.c (sds_start_remote): Likewise.
* remote-st.c (expect): Likewise.
* remote-utils.c (sr_expect): Likewise.
* remote.c (remote_start_remote): Likewise.
* tracepoint.c (read_actions): Likewise.

* remote-mips.c (mips_getstring): Balance changes to immediate_quit.
2000-09-01 00:12:10 +00:00
J.T. Conklin
e99586d56a * MAINTAINERS: Add myself as dcache.c maintainer.
* remote-nindy.c (nindy_load): Invalidate dcache.

* dcache.c (dcache_invd): Renamed from dcache_flush.  The term
flush with respect to caches usually implies that data will be
written to memory.
(dcache_init, dcache_xfer_memory): Updated.
* monitor.c (flush_monitor_dcache, monitor_resume, monitor_load):
Updated.
* ocd.c (ocd_open, ocd_resume, bdm_reset_command): Updated.
* remote-bug.c (bug_load, bug_resume): Updated.
* remote-nindy.c (nindy_open, nindy_resume): Updated.
* remote-sds.c (sds_open, sds_resume): Updated.
* remote-utils.c (gr_open): Updated.
* remote.c (remote_open_1, remote_resume, remote_async_resume,
remote_cisco_open): Updated.
* wince.c (child_create_inferior, child_resume): Updated.

* monitor.c (monitor_open): Free dcache before creating a new one.
* dcache.c (dcache_free): New function.
* dcache.h (dcache_free): New prototype.
-------------------------------------------------------------------
2000-08-18 22:52:23 +00:00
J.T. Conklin
f1d7622b95 * monitor.c (monitor_open): If a dcache has already been created,
invalidate it rather than creating another.
* ocd.c (ocd_open): Likewise.
* remote-nindy.c (nindy_open): Likewise.
* remote-sds.c (sds_open): Likewise.
* remote-utils.c (gr_open): Likewise.
* remote.c (remote_open_1, remote_cisco_open): Likewise.

* dcache.c (dcache_alloc): Changed to take address of line as an
argument, and to invalidate cache line before returning.
(dcache_peek_byte): Updated.
(dcache_poke_byte): Updated.
-------------------------------------------------------------------
2000-08-10 18:54:27 +00:00
Kevin Buettner
fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Kevin Buettner
a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Andrew Cagney
03f2053f96 Replace ../include/wait.h with gdb_wait.h. 2000-02-09 08:52:47 +00:00
Stan Shebs
d4f3574e77 import gdb-1999-09-08 snapshot 1999-09-09 00:02:17 +00:00
Jason Molenda
c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Jason Molenda
9846de1bb5 import gdb-1999-07-07 pre reformat 1999-07-07 17:31:57 +00:00
Stan Shebs
7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs
c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs
071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Stan Shebs
a23dbfcb07 * remote-sds.c (sds_ops): Define only once.
(init_sds_ops, sds_command, _initialize_remote_sds): Declare.
	(init_sds_ops): Init only non-zero fields.
1999-01-21 03:08:02 +00:00
Fernando Nasser
ba4d67c2bf 1999-01-19 Fernando Nasser <fnasser@totem.to.cygnus.com>
* sol-thread.c abug-rom.c cpu32bug-rom.c dbug-rom.c m32r-rom.c
	mac-nat.c mon960-rom.c op50-rom.c ppc-bdm.c remote-adapt.c
	remote-array.c remote-bug.c remote-e7000.c remote-eb.c remote-es.c
	remote-est.c remote-hms.c remote-mm.c remote-nindy.c remote-nrom.c
	remote-os9k.c remote-rdp.c remote-sds.c remote-sim.c remote-st.c
	remote-udi.c rom68k-rom.c sh3-rom.c sparcl-tdep.c sparclet-rom.c
	v850ice.c win32-nat.c: cosmetic changes to conform to coding
	standards.
1999-01-19 20:45:31 +00:00
Andrew Cagney
bc8bd256d0 HPMERGE:
More wrong uses of gdb_stderr and stderr/stdout.
More upddates to calls of catch_errors() so that call matches new interface.
1999-01-19 02:17:00 +00:00
David Taylor
4ef1f46773 hp merge changes -- too numerous to mention here; see ChangeLog and
ChangeLog-gdbtk for details.
1998-12-28 23:06:13 +00:00
Andrew Cagney
1c3cd1b020 Clean up function return types. Functions not returning values,
functions unnecessarily returning values.
1998-12-03 05:34:25 +00:00
Said Ziouani
959941e717 * remote-sds.c (sds_start_remote): Fix printf call. 1998-06-17 21:21:55 +00:00
John Metzler
c719b71428 Thu May 21 13:14:25 1998 John Metzler <jmetzler@cygnus.com>
* gnu-nat.c (init_gnu_ops): Initialization of target ops by assignment.
	(_initialize_gnu_nat):      Call new init
	* mac-nat.c (init_child_ops):          Ditto
	(_initialize_mac_nat):                 Ditto
	* monitor.c (init_base_monitor_ops):   Ditto
	(_initialize_remote_monitors) :        Ditto
	* ppc-bdm.c (init_bdm_ppc_ops):        Ditto
	(_initialize_bdm_ppc):                 Ditto
	* remote-adapt.c ( init_adapt_ops):    Ditto
	(_initialize_remote_adapt):            Ditto
	* remote-array.c (init_array_ops) :    Ditto
	(_initialize_array):                   Ditto
	* remote-bug (init_bug_ops) :          Ditto
	(_initialize_remote_bug):              Ditto
	* remote-e7000.c (init_e7000_ops):     Ditto
	(_initialize_remote_e7000) :           Ditto
	* remote-eb.c (init_eb_ops) :          Ditto
	(_initialize_remote_eb) :              Ditto
	*remote-es.c (init_es1800_ops) :       Ditto
	(init_es1800_child_ops) :              Ditto
	(_initialize_es1800) ;                 Ditto
	*remote-hms.c (init_hms_ops):          Ditto
	(_initialize_remote_hms) :             Ditto
	* remote-mm.c (init_mm_ops):           Ditto
	(_initialize_remote_mm) :              Ditto
	* remote-nindy.c (init_nindy_ops):     Ditto
	(_initialize_nindy):                   Ditto
	* remote_nrom.c (init_nrom_ops) :      Ditto
	(_initialize_remote_nrom) :            Ditto
	*remote-os9k (init_rombug_ops) :       Ditto
	(_initialize_remote_os9k) :            Ditto
	*remote-rdi.c (init_rdi_ops) :         Ditto
	(_initialize_remote_rdi) :             Ditto
	* remote-rdp.c (init_remote_rdp_ops) : Ditto
	(_initialize_remote_rdp) :             Ditto
	* remote-sds.c (init_sds_ops) :        Ditto
	(_initialize_remote_sds) :             Ditto
	* remote-sim.c (init_gdbsim_ops) :     Ditto
	(_initialize_remote_sim) :             Ditto
	* remote-st.c (init_st2000_ops):       Ditto
	(_initialize_remote_st2000):           Ditto
	*remote-udi.c (init_udi_ops) :         Ditto
	(_initialize_remote_udi) :             Ditto
	* remote-vx.c (init_vx_ops) :          Ditto
	(init_vx_run_ops) :                    Ditto
	(_initialize_vx) :                     Ditto
	* remote.c (init_remote_ops):          Ditto
	(init_extended_remote_ops):            Ditto
	(_initialize_remote):                  Ditto
	* sparcl-tdep.c (init_sparclite_ops):  Ditto
	(_initialize_sparcl_tdep):             Ditto
	* v850ice.c (init_850ice_ops):         Ditto
	(_initialize_v850ice):                 Ditto
	*win32-nat.c: (init_child_ops):        Ditto
	(_initialize_inftarg):                 Ditto
1998-05-21 20:20:39 +00:00
Michael Meissner
9d59cbb13c Make decl of sds_load static 1997-10-16 19:06:25 +00:00
Stan Shebs
665ff287fb * remote-sds.c (sds_load): New function.
(sds_ops): Use it.
	(sds_open): Don't set inferior_pid yet.
	(sds_kill): Remove contents.
	(sds_create_inferior): Rewrite to work more like monitor
 	interfaces.
	(sds_restart): Remove, no longer used.
1997-09-16 23:01:29 +00:00
Stan Shebs
3d7cd51746 * remote-sds.c: Remove unused remnants of remote.c.
(tob64): Return the result length.
	(sds_interrupt): Send a stop message.
	(sds_wait): Add debug output for signal interpretation, flag
	that signal was due to a trap.
	(sds_fetch_registers): Fill the registers array correctly for
 	PowerPC.
	(sds_store_registers): Get the right values from registers array.
	(putmessage): Tweak length handling so checksum comes out right.
	(sds_insert_breakpoint, sds_remove_breakpoint): Do correctly.
1997-08-18 00:41:39 +00:00
Stan Shebs
2d46177ce1 * remote-sds.c: New file, interface to SDS-compatible monitors.
* Makefile.in (remote-sds.o): Add build rule.
	* config/powerpc/ppc-eabi.mt, config/powerpc/ppc-sim.mt
 	(TDEPFILES): Add remote-sds.o.
1997-08-14 02:41:15 +00:00