X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Farch%2Fmips%2Fprocess.hh;h=a607bd285732c9f1c07fee0751ae045b24f08042;hb=697e55995626f24658ce443287cd1ba90c2f68eb;hp=b0ef20399022b2313c4511b82006d1183200d371;hpb=b36796914af8bfc6729cc8a519e57572460e43e8;p=gem5.git diff --git a/src/arch/mips/process.hh b/src/arch/mips/process.hh index b0ef20399..a607bd285 100644 --- a/src/arch/mips/process.hh +++ b/src/arch/mips/process.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2004 The Regents of The University of Michigan + * Copyright (c) 2006 The Regents of The University of Michigan * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,7 +27,6 @@ * * Authors: Gabe Black * Ali Saidi - * Korey Sewell */ #ifndef __MIPS_PROCESS_HH__ @@ -35,22 +34,28 @@ #include #include + +#include "mem/page_table.hh" #include "sim/process.hh" -class LiveProcess; class ObjectFile; -class System; -class MipsLiveProcess : public LiveProcess +class MipsProcess : public Process { protected: - MipsLiveProcess(const std::string &nm, ObjectFile *objFile, - System *_system, int stdin_fd, int stdout_fd, int stderr_fd, - std::vector &argv, - std::vector &envp); + MipsProcess(ProcessParams * params, ObjectFile *objFile); - void startup(); -}; + void initState(); + template + void argsInit(int pageSize); + + public: + RegVal getSyscallArg(ThreadContext *tc, int &i); + /// Explicitly import the otherwise hidden getSyscallArg + using Process::getSyscallArg; + void setSyscallArg(ThreadContext *tc, int i, RegVal val); + void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value); +}; #endif // __MIPS_PROCESS_HH__