diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2007-05-01 18:14:16 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2007-05-01 18:14:16 -0400 |
commit | 3f2b039c98e57cdcd22376552d77603e6233c371 (patch) | |
tree | 602cdc359534f9d23c47e125970ca2b52a0efa08 /src/kern/linux/events.cc | |
parent | 39743d35a3dbe5b46e5051ade5394518cef8de9e (diff) | |
download | gem5-3f2b039c98e57cdcd22376552d77603e6233c371.tar.xz |
change the way dprintf works so the cache accesses required to fulfill the dprintf aren't show in between the Cycle: name:
printing and the actual formatted string being printed
--HG--
extra : convert_revision : 8876ba938ba971f854bab490c9af10db039a2e83
Diffstat (limited to 'src/kern/linux/events.cc')
-rw-r--r-- | src/kern/linux/events.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/kern/linux/events.cc b/src/kern/linux/events.cc index 4a3fd9f47..42fa63a27 100644 --- a/src/kern/linux/events.cc +++ b/src/kern/linux/events.cc @@ -37,6 +37,7 @@ #include "kern/system_events.hh" #include "sim/system.hh" +#include <sstream> namespace Linux { @@ -44,13 +45,11 @@ void DebugPrintkEvent::process(ThreadContext *tc) { if (DTRACE(DebugPrintf)) { - if (!raw) { - StringWrap name(tc->getSystemPtr()->name() + ".dprintk"); - DPRINTFN(""); - } - + std::stringstream ss; TheISA::Arguments args(tc); - Printk(args); + Printk(ss, args); + StringWrap name(tc->getSystemPtr()->name() + ".dprintk"); + DPRINTFN("%s", ss.str()); } SkipFuncEvent::process(tc); } |