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/printk.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/printk.cc')
-rw-r--r-- | src/kern/linux/printk.cc | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/kern/linux/printk.cc b/src/kern/linux/printk.cc index 0e9fd6620..866353e31 100644 --- a/src/kern/linux/printk.cc +++ b/src/kern/linux/printk.cc @@ -32,22 +32,18 @@ #include <sys/types.h> #include <algorithm> -#include "base/trace.hh" #include "arch/arguments.hh" +#include "base/trace.hh" +#include "kern/linux/printk.hh" using namespace std; void -Printk(TheISA::Arguments args) +Printk(stringstream &out, TheISA::Arguments args) { - std::ostream &out = Trace::output(); char *p = (char *)args++; - ios::fmtflags saved_flags = out.flags(); - char old_fill = out.fill(); - int old_precision = out.precision(); - while (*p) { switch (*p) { case '%': { @@ -258,8 +254,5 @@ Printk(TheISA::Arguments args) } } - out.flags(saved_flags); - out.fill(old_fill); - out.precision(old_precision); } |