public inbox for sid@sourceware.org
 help / color / mirror / Atom feed
* [patch][commit] Dynamic Configuration Part 2
@ 2006-05-11 20:12 Dave Brolley
  0 siblings, 0 replies; only message in thread
From: Dave Brolley @ 2006-05-11 20:12 UTC (permalink / raw)
  To: sid

[-- Attachment #1: Type: text/plain, Size: 412 bytes --]

Hi,

I've committed this patch which is a couple fo tweaks to the dynamic 
configuration and profiling interfaces. basic_cpu::cg_profile and 
basic_cpu::cg_profile_jump are now virtual to allow for hooks by 
inheriting classes. basic_cpu::dynamic_config has been added in order to 
force --insn-count=1 when --trace-counter is on. This is needed in order 
that total_insn_count is updated after each insn.

Dave

[-- Attachment #2: sid-dynamic-config2.ChangeLog --]
[-- Type: text/plain, Size: 166 bytes --]

2006-05-11  Dave Brolley  <brolley@redhat.com>

	* sidcpuutil.h (cg_profile): Now virtual.
	(cg_profile_jump): Now virtual.
	(dynamic_config): New vritual override.


[-- Attachment #3: sid-dynamic-config2.patch.txt --]
[-- Type: text/plain, Size: 2395 bytes --]

Index: sid/include/sidcpuutil.h
===================================================================
RCS file: /cvs/src/src/sid/include/sidcpuutil.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -c -p -r1.34 -r1.35
*** sid/include/sidcpuutil.h	27 Mar 2006 20:30:06 -0000	1.34
--- sid/include/sidcpuutil.h	11 May 2006 19:29:51 -0000	1.35
***************
*** 1,6 ****
  // sidcpuutil.h - Elements common to CPU models.  -*- C++ -*-
  
! // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat.
  // This file is part of SID and is licensed under the GPL.
  // See the file COPYING.SID for conditions for redistribution.
  
--- 1,6 ----
  // sidcpuutil.h - Elements common to CPU models.  -*- C++ -*-
  
! // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Red Hat.
  // This file is part of SID and is licensed under the GPL.
  // See the file COPYING.SID for conditions for redistribution.
  
*************** namespace sidutil
*** 354,360 ****
        {
  	this->step_cycles_pin.drive (n);
        }
!     void cg_profile (sid::host_int_4 caller, sid::host_int_4 callee)
      {
        last_caller = caller;
        last_callee = callee;
--- 354,360 ----
        {
  	this->step_cycles_pin.drive (n);
        }
!     virtual void cg_profile (sid::host_int_4 caller, sid::host_int_4 callee)
      {
        last_caller = caller;
        last_callee = callee;
*************** namespace sidutil
*** 373,379 ****
  	                     << "  ";
  	}
      }
!     void cg_profile_jump (sid::host_int_4 caller, sid::host_int_4 callee)
      {
        last_caller = caller;
        last_callee = callee;
--- 373,379 ----
  	                     << "  ";
  	}
      }
!     virtual void cg_profile_jump (sid::host_int_4 caller, sid::host_int_4 callee)
      {
        last_caller = caller;
        last_callee = callee;
*************** namespace sidutil
*** 647,652 ****
--- 647,664 ----
  	  }
        }
  
+     virtual component::status dynamic_config(const string& spec)
+       {
+ 	// Call up to the base class
+ 	component::status s = configurable_component::dynamic_config (spec);
+ 
+ 	// Check whether insn-count must be forced to 1
+ 	if (trace_counter_p)
+ 	  configure ("insn-count=1");
+ 
+ 	return s;
+       }
+ 
      // state save/restore: Override these in derived classes, but
      // include a call up to this base implementation.
    protected:

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-05-11 20:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-11 20:12 [patch][commit] Dynamic Configuration Part 2 Dave Brolley

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).