diff options
Diffstat (limited to 'arch/alpha/process.hh')
-rw-r--r-- | arch/alpha/process.hh | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/arch/alpha/process.hh b/arch/alpha/process.hh index 6d6585175..d97b36e2d 100644 --- a/arch/alpha/process.hh +++ b/arch/alpha/process.hh @@ -31,19 +31,34 @@ #include <string> #include <vector> +#include "sim/process.hh" -class LiveProcess; class ObjectFile; class System; -namespace AlphaISA + +class AlphaLiveProcess : public LiveProcess { + protected: + AlphaLiveProcess(const std::string &nm, ObjectFile *objFile, + System *_system, int stdin_fd, int stdout_fd, int stderr_fd, + std::vector<std::string> &argv, + std::vector<std::string> &envp); + + void startup(); + + public: + // this function is used to create the LiveProcess object, since + // we can't tell which subclass of LiveProcess to use until we + // open and look at the object file. + static AlphaLiveProcess *create(const std::string &nm, + System *_system, + int stdin_fd, int stdout_fd, int stderr_fd, + std::string executable, + std::vector<std::string> &argv, + std::vector<std::string> &envp); -LiveProcess * -createProcess(const std::string &nm, ObjectFile * objFile, System * system, - int stdin_fd, int stdout_fd, int stderr_fd, - std::vector<std::string> &argv, std::vector<std::string> &envp); +}; -} // namespace AlphaISA #endif // __ALPHA_PROCESS_HH__ |