diff options
author | Andreas Sandberg <andreas@sandberg.pp.se> | 2015-11-27 14:41:59 +0000 |
---|---|---|
committer | Andreas Sandberg <andreas@sandberg.pp.se> | 2015-11-27 14:41:59 +0000 |
commit | 5383e1ada49b59daf4ff8703076923d4ccb6207d (patch) | |
tree | 3a3dd8f95be7cf5546a5c2d1e4e58107ae2c03a0 /src/dev/terminal.hh | |
parent | fed0ea55c476d9843e3f07e4f879254d34d99279 (diff) | |
download | gem5-5383e1ada49b59daf4ff8703076923d4ccb6207d.tar.xz |
base: Add support for changing output directories
This changeset adds support for changing the simulator output
directory. This can be useful when the simulation goes through several
stages (e.g., a warming phase, a simulation phase, and a verification
phase) since it allows the output from each stage to be located in a
different directory. Relocation is done by calling core.setOutputDir()
from Python or simout.setOutputDirectory() from C++.
This change affects several parts of the design of the gem5's output
subsystem. First, files returned by an OutputDirectory instance (e.g.,
simout) are of the type OutputStream instead of a std::ostream. This
allows us to do some more book keeping and control re-opening of files
when the output directory is changed. Second, new subdirectories are
OutputDirectory instances, which should be used to create files in
that sub-directory.
Signed-off-by: Andreas Sandberg <andreas@sandberg.pp.se>
[sascha.bischoff@arm.com: Rebased patches onto a newer gem5 version]
Signed-off-by: Sascha Bischoff <sascha.bischoff@arm.com>
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/dev/terminal.hh')
-rw-r--r-- | src/dev/terminal.hh | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dev/terminal.hh b/src/dev/terminal.hh index 82246b2c1..41c2a9e26 100644 --- a/src/dev/terminal.hh +++ b/src/dev/terminal.hh @@ -46,6 +46,7 @@ #include "params/Terminal.hh" #include "sim/sim_object.hh" +class OutputStream; class TerminalListener; class Terminal : public SimObject @@ -111,7 +112,7 @@ class Terminal : public SimObject protected: CircleBuf<char> txbuf; CircleBuf<char> rxbuf; - std::ostream *outfile; + OutputStream *outfile; #if TRACING_ON == 1 CircleBuf<char> linebuf; #endif |