From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5004 invoked by alias); 10 May 2005 15:41:06 -0000 Mailing-List: contact sid-cvs-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: sid-cvs-owner@sources.redhat.com Received: (qmail 4991 invoked by uid 448); 10 May 2005 15:41:05 -0000 Date: Tue, 10 May 2005 15:41:00 -0000 Message-ID: <20050510154105.4989.qmail@sourceware.org> From: brolley@sourceware.org To: sid-cvs@sources.redhat.com Subject: src/sid/component/cache ChangeLog Makefile.am ... X-SW-Source: 2005-q2/txt/msg00001.txt.bz2 List-Id: CVSROOT: /cvs/src Module name: src Changes by: brolley@sourceware.org 2005-05-10 15:41:05 Modified files: sid/component/cache: ChangeLog Makefile.am Makefile.in 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" attribute. (read_line): Access the data 4 or 8 bytes at a time, depending on data_width. (write_line): Ditto. (read_downstream, write_downstream): New methods of cache_component. * cache.h (read_downstream, write_downstream): New methods of cache_component. (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 report_status. (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 blocking_cache_component. (setup_flush_all_transaction, setup_flush_line_transaction) (setup_flush_set_transaction) (setup_flush_and_invalidate_set_transaction) (setup_flush_and_invalidate_line_transaction) (perform_flush_all_transaction, perform_flush_line_transaction) (perform_flush_set_transaction) (perform_flush_and_invalidate_set_transaction) (perform_flush_and_invalidate_line_transaction): New methods of blocking_cache_component. * 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 child->child_wait_for_resume. (handle_bus_error): Ditto. (DEFN_METHOD): SID_SIG_CHILD_BLOCKED is now ctl_child_blocked. 2005-05-10 Dave Brolley * Makefile.am (AM_XXXFLAGS): Set it to $(TOP_CXXFLAGS). (AM_MAKEFLAGS): Pass along TOP_CXXFLAGS. * Makefile.in: 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 declarations. (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 cache.read. (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 hw-blocking-cache/*kb*. (CacheCreate): Parse and construct the above. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/ChangeLog.diff?cvsroot=src&r1=1.28&r2=1.29 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/Makefile.am.diff?cvsroot=src&r1=1.4&r2=1.5 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/Makefile.in.diff?cvsroot=src&r1=1.6&r2=1.7 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/cache.cxx.diff?cvsroot=src&r1=1.19&r2=1.20 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/cache.h.diff?cvsroot=src&r1=1.10&r2=1.11 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/cacheutil.cxx.diff?cvsroot=src&r1=1.10&r2=1.11 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/cacheutil.h.diff?cvsroot=src&r1=1.7&r2=1.8 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/hw-cache.txt.diff?cvsroot=src&r1=1.11&r2=1.12 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/sid/component/cache/hw-cache.xml.diff?cvsroot=src&r1=1.9&r2=1.10