Deleted Added
sdiff udiff text old ( 6510:336a194c8500 ) new ( 6763:5a879a3513dc )
full compact
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 30 unchanged lines hidden (view full) ---

39#include "mem/protocol/Protocol.hh"
40#include "mem/gems_common/Map.hh"
41#include "mem/ruby/buffers/MessageBuffer.hh"
42#include "mem/ruby/slicc_interface/AbstractController.hh"
43
44//Sequencer::Sequencer(int core_id, MessageBuffer* mandatory_q)
45
46#define LLSC_FAIL -2
47
48Sequencer::Sequencer(const string & name)
49 :RubyPort(name)
50{
51}
52
53void Sequencer::init(const vector<string> & argv)
54{

--- 46 unchanged lines hidden (view full) ---

101 // Check across all outstanding requests
102 int total_outstanding = 0;
103
104 Vector<Address> keys = m_readRequestTable.keys();
105 for (int i=0; i<keys.size(); i++) {
106 SequencerRequest* request = m_readRequestTable.lookup(keys[i]);
107 if (current_time - request->issue_time >= m_deadlock_threshold) {
108 WARN_MSG("Possible Deadlock detected");
109 WARN_EXPR(request);
110 WARN_EXPR(m_version);
111 WARN_EXPR(keys.size());
112 WARN_EXPR(current_time);
113 WARN_EXPR(request->issue_time);
114 WARN_EXPR(current_time - request->issue_time);
115 ERROR_MSG("Aborting");
116 }
117 }
118
119 keys = m_writeRequestTable.keys();
120 for (int i=0; i<keys.size(); i++) {
121 SequencerRequest* request = m_writeRequestTable.lookup(keys[i]);
122 if (current_time - request->issue_time >= m_deadlock_threshold) {
123 WARN_MSG("Possible Deadlock detected");
124 WARN_EXPR(request);
125 WARN_EXPR(m_version);
126 WARN_EXPR(current_time);
127 WARN_EXPR(request->issue_time);
128 WARN_EXPR(current_time - request->issue_time);
129 WARN_EXPR(keys.size());
130 ERROR_MSG("Aborting");
131 }
132 }

--- 398 unchanged lines hidden ---