diff options
Diffstat (limited to 'src/arch/alpha')
-rw-r--r-- | src/arch/alpha/interrupts.hh | 3 | ||||
-rw-r--r-- | src/arch/alpha/linux/process.cc | 3 | ||||
-rw-r--r-- | src/arch/alpha/linux/process.hh | 1 | ||||
-rw-r--r-- | src/arch/alpha/process.cc | 3 | ||||
-rw-r--r-- | src/arch/alpha/process.hh | 1 | ||||
-rw-r--r-- | src/arch/alpha/tru64/process.cc | 3 | ||||
-rw-r--r-- | src/arch/alpha/tru64/process.hh | 1 |
7 files changed, 10 insertions, 5 deletions
diff --git a/src/arch/alpha/interrupts.hh b/src/arch/alpha/interrupts.hh index a86fb2d7b..388ccacde 100644 --- a/src/arch/alpha/interrupts.hh +++ b/src/arch/alpha/interrupts.hh @@ -138,9 +138,8 @@ namespace AlphaISA } if (ipl && ipl > tc->readMiscReg(IPR_IPLR)) { -// assert(!newInfoSet); newIpl = ipl; - newSummary = newSummary; + newSummary = summary; newInfoSet = true; DPRINTF(Flow, "Interrupt! IPLR=%d ipl=%d summary=%x\n", tc->readMiscReg(IPR_IPLR), ipl, summary); diff --git a/src/arch/alpha/linux/process.cc b/src/arch/alpha/linux/process.cc index 56342dbc5..f7d946e2e 100644 --- a/src/arch/alpha/linux/process.cc +++ b/src/arch/alpha/linux/process.cc @@ -576,6 +576,7 @@ AlphaLinuxProcess::AlphaLinuxProcess(const std::string &name, int stderr_fd, std::vector<std::string> &argv, std::vector<std::string> &envp, + const std::string &cwd, uint64_t _uid, uint64_t _euid, uint64_t _gid, @@ -583,7 +584,7 @@ AlphaLinuxProcess::AlphaLinuxProcess(const std::string &name, uint64_t _pid, uint64_t _ppid) : AlphaLiveProcess(name, objFile, system, stdin_fd, stdout_fd, - stderr_fd, argv, envp, _uid, _euid, _gid, _egid, _pid, _ppid), + stderr_fd, argv, envp, cwd, _uid, _euid, _gid, _egid, _pid, _ppid), Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc)) { //init_regs->intRegFile[0] = 0; diff --git a/src/arch/alpha/linux/process.hh b/src/arch/alpha/linux/process.hh index b23904844..2076f6339 100644 --- a/src/arch/alpha/linux/process.hh +++ b/src/arch/alpha/linux/process.hh @@ -46,6 +46,7 @@ class AlphaLinuxProcess : public AlphaLiveProcess int stdin_fd, int stdout_fd, int stderr_fd, std::vector<std::string> &argv, std::vector<std::string> &envp, + const std::string &cwd, uint64_t _uid, uint64_t _euid, uint64_t _gid, uint64_t _egid, uint64_t _pid, uint64_t _ppid); diff --git a/src/arch/alpha/process.cc b/src/arch/alpha/process.cc index 9e360e80f..85619e493 100644 --- a/src/arch/alpha/process.cc +++ b/src/arch/alpha/process.cc @@ -43,10 +43,11 @@ using namespace std; AlphaLiveProcess::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, + const std::string &cwd, uint64_t _uid, uint64_t _euid, uint64_t _gid, uint64_t _egid, uint64_t _pid, uint64_t _ppid) : LiveProcess(nm, objFile, _system, stdin_fd, stdout_fd, stderr_fd, - argv, envp, _uid, _euid, _gid, _egid, _pid, _ppid) + argv, envp, cwd, _uid, _euid, _gid, _egid, _pid, _ppid) { brk_point = objFile->dataBase() + objFile->dataSize() + objFile->bssSize(); brk_point = roundUp(brk_point, VMPageSize); diff --git a/src/arch/alpha/process.hh b/src/arch/alpha/process.hh index c4aeb1885..8eede502a 100644 --- a/src/arch/alpha/process.hh +++ b/src/arch/alpha/process.hh @@ -47,6 +47,7 @@ class AlphaLiveProcess : public LiveProcess System *_system, int stdin_fd, int stdout_fd, int stderr_fd, std::vector<std::string> &argv, std::vector<std::string> &envp, + const std::string &cwd, uint64_t _uid, uint64_t _euid, uint64_t _gid, uint64_t _egid, uint64_t _pid, uint64_t _ppid); diff --git a/src/arch/alpha/tru64/process.cc b/src/arch/alpha/tru64/process.cc index 55b8ebf8b..a1f02b16c 100644 --- a/src/arch/alpha/tru64/process.cc +++ b/src/arch/alpha/tru64/process.cc @@ -581,11 +581,12 @@ AlphaTru64Process::AlphaTru64Process(const std::string &name, int stderr_fd, std::vector<std::string> &argv, std::vector<std::string> &envp, + const std::string &cwd, uint64_t _uid, uint64_t _euid, uint64_t _gid, uint64_t _egid, uint64_t _pid, uint64_t _ppid) : AlphaLiveProcess(name, objFile, system, stdin_fd, stdout_fd, - stderr_fd, argv, envp, _uid, _euid, _gid, _egid, _pid, _ppid), + stderr_fd, argv, envp, cwd, _uid, _euid, _gid, _egid, _pid, _ppid), Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc)), Num_Mach_Syscall_Descs(sizeof(machSyscallDescs) / sizeof(SyscallDesc)) { diff --git a/src/arch/alpha/tru64/process.hh b/src/arch/alpha/tru64/process.hh index 23429dad3..f5643c0b9 100644 --- a/src/arch/alpha/tru64/process.hh +++ b/src/arch/alpha/tru64/process.hh @@ -45,6 +45,7 @@ class AlphaTru64Process : public AlphaLiveProcess int stdin_fd, int stdout_fd, int stderr_fd, std::vector<std::string> &argv, std::vector<std::string> &envp, + const std::string &cwd, uint64_t _uid, uint64_t _euid, uint64_t _gid, uint64_t _egid, uint64_t _pid, uint64_t _ppid); |