diff options
Diffstat (limited to 'src/cpu/testers')
-rw-r--r-- | src/cpu/testers/traffic_gen/generators.cc | 11 | ||||
-rw-r--r-- | src/cpu/testers/traffic_gen/generators.hh | 6 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/cpu/testers/traffic_gen/generators.cc b/src/cpu/testers/traffic_gen/generators.cc index 8a03e21d0..9d0c7e02c 100644 --- a/src/cpu/testers/traffic_gen/generators.cc +++ b/src/cpu/testers/traffic_gen/generators.cc @@ -205,13 +205,19 @@ RandomGen::nextPacketTick(bool elastic, Tick delay) const TraceGen::InputStream::InputStream(const std::string& filename) : trace(filename) { + init(); +} + +void +TraceGen::InputStream::init() +{ // Create a protobuf message for the header and read it from the stream Message::PacketHeader header_msg; if (!trace.read(header_msg)) { - panic("Failed to read packet header from %s\n", filename); + panic("Failed to read packet header from trace\n"); if (header_msg.tick_freq() != SimClock::Frequency) { - panic("Trace %s was recorded with a different tick frequency %d\n", + panic("Trace was recorded with a different tick frequency %d\n", header_msg.tick_freq()); } } @@ -221,6 +227,7 @@ void TraceGen::InputStream::reset() { trace.reset(); + init(); } bool diff --git a/src/cpu/testers/traffic_gen/generators.hh b/src/cpu/testers/traffic_gen/generators.hh index dd3706a8f..fe5c5995c 100644 --- a/src/cpu/testers/traffic_gen/generators.hh +++ b/src/cpu/testers/traffic_gen/generators.hh @@ -380,6 +380,12 @@ class TraceGen : public BaseGen void reset(); /** + * Check the trace header to make sure that it is of the right + * format. + */ + void init(); + + /** * Attempt to read a trace element from the stream, * and also notify the caller if the end of the file * was reached. |