diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-05-15 17:37:03 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-05-15 17:37:03 -0400 |
commit | a6266a99e26a23d3a2f52e05f3742984629c3786 (patch) | |
tree | 5e47a70f51b2d5489d715d6a6c2ac61521c79074 /arch/sparc/process.cc | |
parent | c7b26d015a9731395ed7c9bbbed31fc83b26c5b6 (diff) | |
download | gem5-a6266a99e26a23d3a2f52e05f3742984629c3786.tar.xz |
Add support for sparc/solaris syscall emulation. Not tested yet because I can't get a static sparc 64 binary
arch/sparc/SConscript:
arch/sparc/process.cc:
base/loader/elf_object.cc:
Add support for sparc/solaris syscall emulation.
--HG--
extra : convert_revision : e22df8476e5c6ae14db1cab1d94d01c0578ea06c
Diffstat (limited to 'arch/sparc/process.cc')
-rw-r--r-- | arch/sparc/process.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/sparc/process.cc b/arch/sparc/process.cc index 7f2b0d40a..250c1bec4 100644 --- a/arch/sparc/process.cc +++ b/arch/sparc/process.cc @@ -29,6 +29,7 @@ #include "arch/sparc/isa_traits.hh" #include "arch/sparc/process.hh" #include "arch/sparc/linux/process.hh" +#include "arch/sparc/solaris/process.hh" #include "base/loader/object_file.hh" #include "base/misc.hh" #include "cpu/exec_context.hh" @@ -54,7 +55,8 @@ SparcLiveProcess::create(const std::string &nm, System *system, int stdin_fd, if (objFile->getArch() != ObjectFile::SPARC) - fatal("Object file with arch %x does not match architecture %x.", objFile->getArch(), ObjectFile::SPARC); + fatal("Object file with arch %x does not match architecture %x.", + objFile->getArch(), ObjectFile::SPARC); switch (objFile->getOpSys()) { case ObjectFile::Linux: process = new SparcLinuxProcess(nm, objFile, system, @@ -62,7 +64,12 @@ SparcLiveProcess::create(const std::string &nm, System *system, int stdin_fd, argv, envp); break; + case ObjectFile::Solaris: + process = new SparcSolarisProcess(nm, objFile, system, + stdin_fd, stdout_fd, stderr_fd, + argv, envp); + break; default: fatal("Unknown/unsupported operating system."); } |