#include "NodeID.hh"
#include "CacheRequestType.hh"
-class System;
+class RubySystem;
class SubBlock;
class Address;
class MachineID;
#include "Global.hh"
EventQueue* g_eventQueue_ptr = NULL;
-System* g_system_ptr = NULL;
+RubySystem* g_system_ptr = NULL;
Debug* g_debug_ptr = NULL;
class EventQueue;
extern EventQueue* g_eventQueue_ptr;
-class System;
-extern System* g_system_ptr;
+class RubySystem;
+extern RubySystem* g_system_ptr;
class Debug;
extern Debug* g_debug_ptr;
cout << "Creating system..." << endl;
cout << " Processors: " << RubyConfig::numberOfProcessors() << endl;
- g_system_ptr = new System;
+ g_system_ptr = new RubySystem;
cout << "Creating system done" << endl;
// if opal is loaded, its static interface object (inst) will be non-null,
} // XACT_MEMORY
if (!short_stats) {
- out << "Request vs. System State Profile" << endl;
+ out << "Request vs. RubySystem State Profile" << endl;
out << "--------------------------------" << endl;
out << endl;
TransactionInterfaceManager* getTransactionInterfaceManager(int index) const { return m_L1Cache_xact_mgr_vec[index]; };
void setTransactionInterfaceManager(TransactionInterfaceManager* manager, int index) { m_L1Cache_xact_mgr_vec[index] = manager; }
- // used when CHECK_COHERENCE is enabled. See System::checkGlobalCoherence()
+ // used when CHECK_COHERENCE is enabled. See RubySystem::checkGlobalCoherence()
virtual bool isBlockExclusive(const Address& addr) const { return false; }
virtual bool isBlockShared(const Address& addr) const { return false; }
*/
/*
- * System.C
+ * RubySystem.C
*
- * Description: See System.h
+ * Description: See RubySystem.h
*
* $Id$
*
//#include "XactVisualizer.hh"
#include "M5Driver.hh"
-System::System()
+RubySystem::RubySystem()
{
DEBUG_MSG(SYSTEM_COMP, MedPrio,"initializing");
}
-System::~System()
+RubySystem::~RubySystem()
{
for (int i = 0; i < m_chip_vector.size(); i++) {
delete m_chip_vector[i];
*/
}
-void System::printConfig(ostream& out) const
+void RubySystem::printConfig(ostream& out) const
{
- out << "\n================ Begin System Configuration Print ================\n\n";
+ out << "\n================ Begin RubySystem Configuration Print ================\n\n";
RubyConfig::printConfiguration(out);
out << endl;
getChip(0)->printConfig(out);
m_network_ptr->printConfig(out);
m_driver_ptr->printConfig(out);
m_profiler_ptr->printConfig(out);
- out << "\n================ End System Configuration Print ================\n\n";
+ out << "\n================ End RubySystem Configuration Print ================\n\n";
}
-void System::printStats(ostream& out)
+void RubySystem::printStats(ostream& out)
{
const time_t T = time(NULL);
tm *localTime = localtime(&T);
Chip::printStats(out);
}
-void System::clearStats() const
+void RubySystem::clearStats() const
{
m_profiler_ptr->clearStats();
m_network_ptr->clearStats();
}
}
-void System::recordCacheContents(CacheRecorder& tr) const
+void RubySystem::recordCacheContents(CacheRecorder& tr) const
{
for (int i = 0; i < m_chip_vector.size(); i++) {
for (int m_version = 0; m_version < RubyConfig::numberOfProcsPerChip(); m_version++) {
// in setState. The SLICC spec must also define methods "isBlockShared"
// and "isBlockExclusive" that are specific to that protocol
//
-void System::checkGlobalCoherenceInvariant(const Address& addr ) {
+void RubySystem::checkGlobalCoherenceInvariant(const Address& addr ) {
NodeID exclusive = -1;
bool sharedDetected = false;
*/
/*
- * System.h
+ * RubySystem.h
*
* Description: Contains all of the various parts of the system we are
* simulating. Performs allocation, deallocation, and setup of all
class XactVisualizer;
class TransactionInterfaceManager;
-class System {
+class RubySystem {
public:
// Constructors
- System();
+ RubySystem();
// Destructor
- ~System();
+ ~RubySystem();
// Public Methods
int getNumProcessors() { return RubyConfig::numberOfProcessors(); }
// Private Methods
// Private copy constructor and assignment operator
- System(const System& obj);
- System& operator=(const System& obj);
+ RubySystem(const RubySystem& obj);
+ RubySystem& operator=(const RubySystem& obj);
// Data Members (m_ prefix)
Network* m_network_ptr;
};
// Output operator declaration
-ostream& operator<<(ostream& out, const System& obj);
+ostream& operator<<(ostream& out, const RubySystem& obj);
// ******************* Definitions *******************
// Output operator definition
inline
-ostream& operator<<(ostream& out, const System& obj)
+ostream& operator<<(ostream& out, const RubySystem& obj)
{
// obj.print(out);
out << flush;
#include "SubBlock.hh"
#include "Chip.hh"
-DeterministicDriver::DeterministicDriver(System* sys_ptr)
+DeterministicDriver::DeterministicDriver(RubySystem* sys_ptr)
{
if (g_SIMICS) {
ERROR_MSG("g_SIMICS should not be defined.");
#include "Histogram.hh"
#include "CacheRequestType.hh"
-class System;
+class RubySystem;
class SpecifiedGenerator;
class DeterministicDriver : public Driver, public Consumer {
public:
// Constructors
- DeterministicDriver(System* sys_ptr);
+ DeterministicDriver(RubySystem* sys_ptr);
// Destructor
~DeterministicDriver();
#include "SubBlock.hh"
#include "Chip.hh"
-SyntheticDriver::SyntheticDriver(System* sys_ptr)
+SyntheticDriver::SyntheticDriver(RubySystem* sys_ptr)
{
cout << "SyntheticDriver::SyntheticDriver" << endl;
if (g_SIMICS) {
#include "Histogram.hh"
#include "CacheRequestType.hh"
-class System;
+class RubySystem;
class RequestGenerator;
class SyntheticDriver : public Driver, public Consumer {
public:
// Constructors
- SyntheticDriver(System* sys_ptr);
+ SyntheticDriver(RubySystem* sys_ptr);
// Destructor
~SyntheticDriver();
#include "Check.hh"
#include "Chip.hh"
-Tester::Tester(System* sys_ptr)
+Tester::Tester(RubySystem* sys_ptr)
{
if (g_SIMICS) {
ERROR_MSG("g_SIMICS should not be defined.");
#include "CheckTable.hh"
#include "CacheRequestType.hh"
-class System;
+class RubySystem;
class Tester : public Driver, public Consumer {
public:
// Constructors
- Tester(System* sys_ptr);
+ Tester(RubySystem* sys_ptr);
// Destructor
~Tester();