OSDN Git Service

2006-05-11 Dave Brolley <brolley@redhat.com>
authorbrolley <brolley>
Thu, 11 May 2006 19:29:51 +0000 (19:29 +0000)
committerbrolley <brolley>
Thu, 11 May 2006 19:29:51 +0000 (19:29 +0000)
        * sidcpuutil.h (cg_profile): Now virtual.
        (cg_profile_jump): Now virtual.
        (dynamic_config): New vritual override.

sid/include/ChangeLog
sid/include/sidcpuutil.h

index 0a0d05f..e6ce19c 100644 (file)
@@ -1,3 +1,9 @@
+2006-05-11  Dave Brolley  <brolley@redhat.com>
+
+       * sidcpuutil.h (cg_profile): Now virtual.
+       (cg_profile_jump): Now virtual.
+       (dynamic_config): New vritual override.
+
 2006-03-27  Frank Ch. Eigler  <fche@elastic.org>
 
        * sidcpuutil.h (basic_cpu::{read,write}_watchpoint_memory): Remove
index ed0b1ea..028c9ca 100644 (file)
@@ -1,6 +1,6 @@
 // sidcpuutil.h - Elements common to CPU models.  -*- C++ -*-
 
-// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat.
+// 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.
 
@@ -354,7 +354,7 @@ namespace sidutil
       {
        this->step_cycles_pin.drive (n);
       }
-    void cg_profile (sid::host_int_4 caller, sid::host_int_4 callee)
+    virtual void cg_profile (sid::host_int_4 caller, sid::host_int_4 callee)
     {
       last_caller = caller;
       last_callee = callee;
@@ -373,7 +373,7 @@ namespace sidutil
                             << "  ";
        }
     }
-    void cg_profile_jump (sid::host_int_4 caller, sid::host_int_4 callee)
+    virtual void cg_profile_jump (sid::host_int_4 caller, sid::host_int_4 callee)
     {
       last_caller = caller;
       last_callee = callee;
@@ -647,6 +647,18 @@ namespace sidutil
          }
       }
 
+    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: