public inbox for
help / color / mirror / Atom feed
Subject: src/sid/component/cache ChangeLog  ...
Date: Tue, 10 May 2005 15:41:00 -0000	[thread overview]
Message-ID: <> (raw)

CVSROOT:	/cvs/src
Module name:	src
Changes by:	2005-05-10 15:41:05

Modified files:
	sid/component/cache: ChangeLog cache.cxx 
	                     cache.h cacheutil.cxx cacheutil.h 
	                     hw-cache.txt hw-cache.xml 

Log message:
	2005-05-10  Dave Brolley  <>
	* hw-cache.xml: Input to flush-set, invalidate-set and
	* hw-cache.txt: Regenerated.
	flush-and-invalidate-set is now an address.
	* cacheutil.h (addr_to_tag): New method of cache.
	* cacheutil.cxx (addr_to_tag): New method of cache.
	* cache.cxx (cache_component::flush_set): Input argument is now an address.
	(cache_component::flush_and_invalidate_set): Likewise.
	(blocking_cache_component::flush_set): Likewise.
	(blocking_cache_component::flush_and_invalidate_set): Likewise.
	2005-05-10  Dave Brolley  <>
	* cache.cxx (cache_component): Initialize data_width. Add "data-width"
	(read_line): Access the data 4 or 8 bytes at a time, depending on
	(write_line): Ditto.
	(read_downstream, write_downstream): New methods of cache_component.
	* cache.h (read_downstream, write_downstream): New methods of
	(data_width): New member of cache_component.
	2005-05-10  Dave Brolley  <>
	* cache.cxx (cache_component): Add "operation-status" pin.
	(cache_component::flush_all_lines): Accumulate latency and call
	(cache_component::flush_line): Ditto.
	(cache_component::flush_set): Ditto.
	(cache_component::flush_and_invalidate_set): Ditto.
	(cache_component::invalidate_all_lines): Call report_status.
	(cache_component::invalidate_line): Ditto.
	(cache_component::flush_and_invalidate_line): Ditto.
	(cache_component::invalidate_set): Ditto.
	(cache_component::prefetch_line): Ditto.
	(cache_component::lock_line): Ditto.
	(cache_component::unlock_line): Ditto.
	(blocking_cache_component::flush_all_lines): Call report_status if
	child is blocked.
	(blocking_cache_component::flush_line): Ditto.
	(blocking_cache_component::flush_set): Ditto.
	(blocking_cache_component::flush_and_invalidate_set): Ditto.
	(blocking_cache_component::flush_and_invalidate_line): Ditto.
	(blocking_cache_component::prefetch_line): Ditto.
	* cache.h (report_status): New method of cache_component.
	(operation_status_pin): New output pin.
	2005-05-10  Dave Brolley  <>
	* cache.h (flush_all_lines, flush_line, flush_set)
	(flush_and_invalidate_set, flush_and_invalidate_line)
	(prefetch_line): Now virtual. Also, new methods of
	(setup_flush_all_transaction, setup_flush_line_transaction)
	(perform_flush_all_transaction, perform_flush_line_transaction)
	(perform_flush_and_invalidate_line_transaction): New methods of
	* cache.cxx (blocking_cache_component::write): Remove log message. Don't
	need return code from continue_child_thread_and_wait.
	blocking_cache_component::read): Ditto.
	(flush_all_lines, flush_line, flush_set)
	(flush_and_invalidate_set, flush_and_invalidate_line)
	(prefetch_line): New methods of blocking_cache_component.
	2005-05-10  Dave Brolley  <>
	* cache.cxx (cache_component): Initialize total_latency_p. Add
	"total-latency?" attribute.
	(read_line): Return the total latency of all accesses if total_latency_p
	is set.
	(write_line): Ditto.
	(handle_bus_error): Copy the status, s, to transaction_status.
	(blocking_cache_component::read): Always return transaction_status.
	(blocking_cache_component::write): Ditto.
	* cache.h (total_latency_p): New member of cache_component.
	2005-05-10  Dave Brolley  <>
	* cache.h (cache_component::lock_downstream): New virtual method.
	(cache_component::unlock_downstream): New virutal method.
	(blocking_cache_component::lock_downstream): New virtual override.
	(blocking_cache_component::unlock_downstream): New virtual override.
	* cache.cxx (read_line): Return the maximum latency from the reads
	performed if refill latency is not requested. Call lock_downstream
	before the first read. Call unlock_downstream before the final read.
	(write_line): Ditto.
	(blocking_cache_component): Add downstream-lock pin.
	2005-05-10  Dave Brolley  <>
	* cache.cxx (blocking_cache_child_thread_root): Don't call
	(handle_bus_error): Ditto.
	(DEFN_METHOD): SID_SIG_CHILD_BLOCKED is now ctl_child_blocked.
	2005-05-10  Dave Brolley  <>
	* (AM_XXXFLAGS): Set it to $(TOP_CXXFLAGS).
	* Regenerated.
	2005-05-10  Dave Brolley  <>
	* mep-cache.cxx (mep_cache): Inherit from blocking_cache_component.
	* mep-cache.h (mep_cache): Inherit from blocking_cache_component.
	* cache.h (sidblockingutil.h): #include it.
	(namespace sid): Add "using" clause. Remove sid:: qualifier from
	(cache_component): Inhereit virtually from
	fixed_attribute_map_component and fixed_pin_map_component.
	(cache_component::write): Variants now virtual.
	(cache_component::read): Ditto.
	(cache_component::handle_read_error): New virtual method.
	(cache_component::handle_write_error): New virtual method.
	(cache_bus::write_any): Call cache.write.
	(cache_bus::read_any): Call
	(blocking_cache_component): New class.
	* cache.cxx (cache_component::write_any): Call handle_write_error to
	handle bus errors.
	(cache_component::write_line): Ditto.
	(cache_component::read_any): Call handle_read_error as above.
	(cache_component::read_line): Ditto.
	(blocking_cache_child_thread_root): New function.
	(blocking_cache_component): New constructor.
	(handle_bus_error): New method.
	(blocking_cache_component:write): New methods.
	(blocking_cache_component::read): New methods.
	(CacheListTypes): Add hw-blocking-cache-basic and
	hw-blocking-cache-buffer-8, hw-blocking-cache-direct* and
	(CacheCreate): Parse and construct the above.


             reply	other threads:[~2005-05-10 15:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-10 15:41 brolley [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-05-17 14:28 bje
2001-08-04  4:04 bje
2001-07-16 18:24 bje

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).