Sequencer.hh (6846:60e0df8086f0) | Sequencer.hh (6859:5de565c4b7bd) |
---|---|
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 --- 74 unchanged lines hidden (view full) --- 83 void readCallback(const Address& address, DataBlock& data); 84 85 // called by Tester or Simics 86 int64_t makeRequest(const RubyRequest & request); 87 int isReady(const RubyRequest& request); 88 bool empty() const; 89 90 void print(ostream& out) const; | 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 --- 74 unchanged lines hidden (view full) --- 83 void readCallback(const Address& address, DataBlock& data); 84 85 // called by Tester or Simics 86 int64_t makeRequest(const RubyRequest & request); 87 int isReady(const RubyRequest& request); 88 bool empty() const; 89 90 void print(ostream& out) const; |
91 void printStats(ostream & out) const; |
|
91 void checkCoherence(const Address& address); 92 93 // bool getRubyMemoryValue(const Address& addr, char* value, unsigned int size_in_bytes); 94 // bool setRubyMemoryValue(const Address& addr, char *value, unsigned int size_in_bytes); 95 96 void removeRequest(SequencerRequest* request); 97private: 98 // Private Methods --- 23 unchanged lines hidden (view full) --- 122 123 Map<Address, SequencerRequest*> m_writeRequestTable; 124 Map<Address, SequencerRequest*> m_readRequestTable; 125 // Global outstanding request count, across all request tables 126 int m_outstanding_count; 127 bool m_deadlock_check_scheduled; 128 int m_atomic_reads; 129 int m_atomic_writes; | 92 void checkCoherence(const Address& address); 93 94 // bool getRubyMemoryValue(const Address& addr, char* value, unsigned int size_in_bytes); 95 // bool setRubyMemoryValue(const Address& addr, char *value, unsigned int size_in_bytes); 96 97 void removeRequest(SequencerRequest* request); 98private: 99 // Private Methods --- 23 unchanged lines hidden (view full) --- 123 124 Map<Address, SequencerRequest*> m_writeRequestTable; 125 Map<Address, SequencerRequest*> m_readRequestTable; 126 // Global outstanding request count, across all request tables 127 int m_outstanding_count; 128 bool m_deadlock_check_scheduled; 129 int m_atomic_reads; 130 int m_atomic_writes; |
131 132 int m_store_waiting_on_load_cycles; 133 int m_store_waiting_on_store_cycles; 134 int m_load_waiting_on_store_cycles; 135 int m_load_waiting_on_load_cycles; |
|
130}; 131 132// Output operator declaration 133ostream& operator<<(ostream& out, const Sequencer& obj); 134 135// ******************* Definitions ******************* 136 137// Output operator definition 138extern inline 139ostream& operator<<(ostream& out, const Sequencer& obj) 140{ 141 obj.print(out); 142 out << flush; 143 return out; 144} 145 146#endif //SEQUENCER_H 147 | 136}; 137 138// Output operator declaration 139ostream& operator<<(ostream& out, const Sequencer& obj); 140 141// ******************* Definitions ******************* 142 143// Output operator definition 144extern inline 145ostream& operator<<(ostream& out, const Sequencer& obj) 146{ 147 obj.print(out); 148 out << flush; 149 return out; 150} 151 152#endif //SEQUENCER_H 153 |