96 lines
3.0 KiB
C++
96 lines
3.0 KiB
C++
|
|
/*
|
|
Copyright (C) 1999-2005 by Mark D. Hill and David A. Wood for the
|
|
Wisconsin Multifacet Project. Contact: gems@cs.wisc.edu
|
|
http://www.cs.wisc.edu/gems/
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
This file is part of the Ruby Multiprocessor Memory System Simulator,
|
|
a component of the Multifacet GEMS (General Execution-driven
|
|
Multiprocessor Simulator) software toolset originally developed at
|
|
the University of Wisconsin-Madison.
|
|
|
|
Ruby was originally developed primarily by Milo Martin and Daniel
|
|
Sorin with contributions from Ross Dickson, Carl Mauer, and Manoj
|
|
Plakal.
|
|
|
|
Substantial further development of Multifacet GEMS at the
|
|
University of Wisconsin was performed by Alaa Alameldeen, Brad
|
|
Beckmann, Ross Dickson, Pacia Harper, Milo Martin, Michael Marty,
|
|
Carl Mauer, Kevin Moore, Manoj Plakal, Daniel Sorin, Min Xu, and
|
|
Luke Yen.
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
If your use of this software contributes to a published paper, we
|
|
request that you (1) cite our summary paper that appears on our
|
|
website (http://www.cs.wisc.edu/gems/) and (2) e-mail a citation
|
|
for your published paper to gems@cs.wisc.edu.
|
|
|
|
If you redistribute derivatives of this software, we request that
|
|
you notify us and either (1) ask people to register with us at our
|
|
website (http://www.cs.wisc.edu/gems/) or (2) collect registration
|
|
information and periodically send it to us.
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
Multifacet GEMS is free software; you can redistribute it and/or
|
|
modify it under the terms of version 2 of the GNU General Public
|
|
License as published by the Free Software Foundation.
|
|
|
|
Multifacet GEMS is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with the Multifacet GEMS; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
02111-1307, USA
|
|
|
|
The GNU General Public License is contained in the file LICENSE.
|
|
|
|
### END HEADER ###
|
|
*/
|
|
|
|
/*
|
|
* $Id$
|
|
*
|
|
* Description:
|
|
*
|
|
*/
|
|
|
|
#ifndef SPECIFIEDGENERATOR_H
|
|
#define SPECIFIEDGENERATOR_H
|
|
|
|
#include "mem/ruby/common/Global.hh"
|
|
#include "mem/ruby/tester/Tester_Globals.hh"
|
|
#include "mem/ruby/common/Consumer.hh"
|
|
#include "mem/ruby/system/NodeID.hh"
|
|
#include "mem/ruby/common/Address.hh"
|
|
|
|
class SpecifiedGenerator : public Consumer {
|
|
public:
|
|
// Constructors
|
|
SpecifiedGenerator();
|
|
|
|
// Destructor
|
|
virtual ~SpecifiedGenerator() = 0;
|
|
|
|
// Public Methods
|
|
virtual void wakeup() = 0;
|
|
virtual void performCallback(NodeID proc, Address address) = 0;
|
|
|
|
virtual void print(ostream& out) const = 0;
|
|
protected:
|
|
// accessible by subclasses
|
|
|
|
private:
|
|
// inaccessible by subclasses
|
|
|
|
};
|
|
|
|
#endif //SPECIFIEDGENERATOR_H
|
|
|