summaryrefslogtreecommitdiff
path: root/src/kern/linux/events.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2007-05-01 18:14:16 -0400
committerAli Saidi <saidi@eecs.umich.edu>2007-05-01 18:14:16 -0400
commit3f2b039c98e57cdcd22376552d77603e6233c371 (patch)
tree602cdc359534f9d23c47e125970ca2b52a0efa08 /src/kern/linux/events.cc
parent39743d35a3dbe5b46e5051ade5394518cef8de9e (diff)
downloadgem5-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.cc11
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);
}