summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2009-11-18 13:55:57 -0800
committerBrad Beckmann <Brad.Beckmann@amd.com>2009-11-18 13:55:57 -0800
commit17e14efa7e7358f02f2664e10e4001faf6b7811e (patch)
tree050d1236f71814bb26437b3ba700ded611412d80
parentb7cc66af311923610d612463d401447fb814f258 (diff)
downloadgem5-17e14efa7e7358f02f2664e10e4001faf6b7811e.tar.xz
ruby: Ruby 64-bit address output fixes.
-rw-r--r--src/mem/ruby/libruby.cc6
-rw-r--r--src/mem/ruby/libruby.hh2
-rw-r--r--src/mem/ruby/system/Sequencer.cc8
-rw-r--r--src/mem/ruby/system/Sequencer.hh2
4 files changed, 16 insertions, 2 deletions
diff --git a/src/mem/ruby/libruby.cc b/src/mem/ruby/libruby.cc
index e4e302eba..b9a72d071 100644
--- a/src/mem/ruby/libruby.cc
+++ b/src/mem/ruby/libruby.cc
@@ -66,6 +66,12 @@ ostream& operator<<(ostream& out, const RubyRequestType& obj)
return out;
}
+ostream& operator<<(std::ostream& out, const RubyRequest& obj)
+{
+ out << hex << "0x" << obj.paddr << flush;
+ return out;
+}
+
vector<string> tokenizeString(string str, string delims)
{
vector<string> tokens;
diff --git a/src/mem/ruby/libruby.hh b/src/mem/ruby/libruby.hh
index a73ff5cf4..29aac232a 100644
--- a/src/mem/ruby/libruby.hh
+++ b/src/mem/ruby/libruby.hh
@@ -39,6 +39,8 @@ struct RubyRequest {
{}
};
+std::ostream& operator<<(std::ostream& out, const RubyRequest& obj);
+
/**
* Initialize the system. cfg_file is a Ruby-lang configuration script
*/
diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc
index 780c1128e..c693e0f37 100644
--- a/src/mem/ruby/system/Sequencer.cc
+++ b/src/mem/ruby/system/Sequencer.cc
@@ -44,6 +44,10 @@
//Sequencer::Sequencer(int core_id, MessageBuffer* mandatory_q)
#define LLSC_FAIL -2
+ostream& operator<<(std::ostream& out, const SequencerRequest& obj) {
+ out << obj.ruby_request << flush;
+ return out;
+}
Sequencer::Sequencer(const string & name)
:RubyPort(name)
@@ -106,7 +110,7 @@ void Sequencer::wakeup() {
SequencerRequest* request = m_readRequestTable.lookup(keys[i]);
if (current_time - request->issue_time >= m_deadlock_threshold) {
WARN_MSG("Possible Deadlock detected");
- WARN_EXPR(request);
+ WARN_EXPR(request->ruby_request);
WARN_EXPR(m_version);
WARN_EXPR(keys.size());
WARN_EXPR(current_time);
@@ -121,7 +125,7 @@ void Sequencer::wakeup() {
SequencerRequest* request = m_writeRequestTable.lookup(keys[i]);
if (current_time - request->issue_time >= m_deadlock_threshold) {
WARN_MSG("Possible Deadlock detected");
- WARN_EXPR(request);
+ WARN_EXPR(request->ruby_request);
WARN_EXPR(m_version);
WARN_EXPR(current_time);
WARN_EXPR(request->issue_time);
diff --git a/src/mem/ruby/system/Sequencer.hh b/src/mem/ruby/system/Sequencer.hh
index 2b1f023c5..cf12c2a0b 100644
--- a/src/mem/ruby/system/Sequencer.hh
+++ b/src/mem/ruby/system/Sequencer.hh
@@ -63,6 +63,8 @@ struct SequencerRequest {
{}
};
+std::ostream& operator<<(std::ostream& out, const SequencerRequest& obj);
+
class Sequencer : public Consumer, public RubyPort {
public:
// Constructors