diff options
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/main.cc | 1 | ||||
-rw-r--r-- | src/sim/process.cc | 16 | ||||
-rw-r--r-- | src/sim/syscall_emul.hh | 16 |
3 files changed, 25 insertions, 8 deletions
diff --git a/src/sim/main.cc b/src/sim/main.cc index e7fb4039e..0341b7d5f 100644 --- a/src/sim/main.cc +++ b/src/sim/main.cc @@ -29,6 +29,7 @@ */ #include <Python.h> +#include <signal.h> #include <iostream> #include <string> diff --git a/src/sim/process.cc b/src/sim/process.cc index b3ce182e5..130c81b01 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -60,6 +60,8 @@ #include "arch/sparc/solaris/process.hh" #elif THE_ISA == MIPS_ISA #include "arch/mips/linux/process.hh" +#elif THE_ISA == X86_ISA +//XXX There are no x86 processes yet #else #error "THE_ISA not set" #endif @@ -486,6 +488,20 @@ LiveProcess::create(const std::string &nm, System *system, int stdin_fd, default: fatal("Unknown/unsupported operating system."); } +#elif THE_ISA == X86_ISA + if (objFile->getArch() != ObjectFile::X86) + fatal("Object file architecture does not match compiled ISA (SPARC)."); + panic("There are no implemented x86 processes!\n"); + switch (objFile->getOpSys()) { + /*case ObjectFile::Linux: + process = new X86LinuxProcess(nm, objFile, system, + stdin_fd, stdout_fd, stderr_fd, + argv, envp, cwd, + _uid, _euid, _gid, + _egid, _pid, _ppid);*/ + default: + fatal("Unknown/unsupported operating system."); + } #elif THE_ISA == MIPS_ISA if (objFile->getArch() != ObjectFile::Mips) fatal("Object file architecture does not match compiled ISA (MIPS)."); diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index 5ca2f6be5..94ae8e3e6 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -452,14 +452,14 @@ ioctlFunc(SyscallDesc *desc, int callnum, LiveProcess *process, } switch (req) { - case OS::TIOCISATTY: - case OS::TIOCGETP: - case OS::TIOCSETP: - case OS::TIOCSETN: - case OS::TIOCSETC: - case OS::TIOCGETC: - case OS::TIOCGETS: - case OS::TIOCGETA: + case OS::TIOCISATTY_: + case OS::TIOCGETP_: + case OS::TIOCSETP_: + case OS::TIOCSETN_: + case OS::TIOCSETC_: + case OS::TIOCGETC_: + case OS::TIOCGETS_: + case OS::TIOCGETA_: return -ENOTTY; default: |