From a6266a99e26a23d3a2f52e05f3742984629c3786 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Mon, 15 May 2006 17:37:03 -0400 Subject: 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 --- arch/sparc/process.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'arch/sparc/process.cc') 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."); } -- cgit v1.2.3