This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH]: memory region attributes


On Tue, Jan 23, 2001 at 12:11:01PM -0800, J.T. Conklin wrote:
>Since these changes have been on the table for a few months with no
>objections, I'm going to use my newfound status to commit them.
>
>This shouldn't cause any problems or undue overhead when no memory
>regions are defined.  In the past, I've run this through the test-
>suite with no regressions.
>
>Within a week or so, I'll be proposing a remote protocol/remote.c
>change to support the memory access width attribute.

J.T.,
FYI, you didn't seem to have changed child_xfer_memory in win32-nat.c
with this patch.  Was that just an oversight?

I'm only mentioning it because I thought there might be other affected
targets.

cgf

>2001-01-23  J.T. Conklin  <jtc@redback.com>
>
>	* 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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]