diff options
author | Brandon Potter <brandon.potter@amd.com> | 2016-11-09 14:27:40 -0600 |
---|---|---|
committer | Brandon Potter <brandon.potter@amd.com> | 2016-11-09 14:27:40 -0600 |
commit | 3886c4a8f2e1bfe17cbf7a5a76ba0fc978c6bb48 (patch) | |
tree | 5a1ce6cbf42009fc9199c7ecfb068890ca74dbd4 /src/arch/sparc/process.cc | |
parent | 7b6cf951e2f0fa70d6599f1e1d03f664b674a75e (diff) | |
download | gem5-3886c4a8f2e1bfe17cbf7a5a76ba0fc978c6bb48.tar.xz |
syscall_emul: [patch 5/22] remove LiveProcess class and use Process instead
The EIOProcess class was removed recently and it was the only other class
which derived from Process. Since every Process invocation is also a
LiveProcess invocation, it makes sense to simplify the organization by
combining the fields from LiveProcess into Process.
Diffstat (limited to 'src/arch/sparc/process.cc')
-rw-r--r-- | src/arch/sparc/process.cc | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/arch/sparc/process.cc b/src/arch/sparc/process.cc index 75c2529ef..87790e9c3 100644 --- a/src/arch/sparc/process.cc +++ b/src/arch/sparc/process.cc @@ -52,9 +52,9 @@ using namespace SparcISA; static const int FirstArgumentReg = 8; -SparcLiveProcess::SparcLiveProcess(LiveProcessParams * params, - ObjectFile *objFile, Addr _StackBias) - : LiveProcess(params, objFile), StackBias(_StackBias) +SparcProcess::SparcProcess(ProcessParams * params, ObjectFile *objFile, + Addr _StackBias) + : Process(params, objFile), StackBias(_StackBias) { // XXX all the below need to be updated for SPARC - Ali @@ -70,7 +70,7 @@ SparcLiveProcess::SparcLiveProcess(LiveProcessParams * params, } void -SparcLiveProcess::handleTrap(int trapNum, ThreadContext *tc) +SparcProcess::handleTrap(int trapNum, ThreadContext *tc) { PCState pc = tc->pcState(); switch (trapNum) { @@ -111,9 +111,9 @@ SparcLiveProcess::handleTrap(int trapNum, ThreadContext *tc) } void -SparcLiveProcess::initState() +SparcProcess::initState() { - LiveProcess::initState(); + Process::initState(); ThreadContext *tc = system->getThreadContext(contextIds[0]); // From the SPARC ABI @@ -160,9 +160,9 @@ SparcLiveProcess::initState() } void -Sparc32LiveProcess::initState() +Sparc32Process::initState() { - SparcLiveProcess::initState(); + SparcProcess::initState(); ThreadContext *tc = system->getThreadContext(contextIds[0]); // The process runs in user mode with 32 bit addresses @@ -175,9 +175,9 @@ Sparc32LiveProcess::initState() } void -Sparc64LiveProcess::initState() +Sparc64Process::initState() { - SparcLiveProcess::initState(); + SparcProcess::initState(); ThreadContext *tc = system->getThreadContext(contextIds[0]); // The process runs in user mode @@ -190,7 +190,7 @@ Sparc64LiveProcess::initState() template<class IntType> void -SparcLiveProcess::argsInit(int pageSize) +SparcProcess::argsInit(int pageSize) { int intSize = sizeof(IntType); @@ -419,9 +419,9 @@ SparcLiveProcess::argsInit(int pageSize) } void -Sparc64LiveProcess::argsInit(int intSize, int pageSize) +Sparc64Process::argsInit(int intSize, int pageSize) { - SparcLiveProcess::argsInit<uint64_t>(pageSize); + SparcProcess::argsInit<uint64_t>(pageSize); // Stuff the trap handlers into the process address space initVirtMem.writeBlob(fillStart, @@ -431,9 +431,9 @@ Sparc64LiveProcess::argsInit(int intSize, int pageSize) } void -Sparc32LiveProcess::argsInit(int intSize, int pageSize) +Sparc32Process::argsInit(int intSize, int pageSize) { - SparcLiveProcess::argsInit<uint32_t>(pageSize); + SparcProcess::argsInit<uint32_t>(pageSize); // Stuff the trap handlers into the process address space initVirtMem.writeBlob(fillStart, @@ -442,7 +442,7 @@ Sparc32LiveProcess::argsInit(int intSize, int pageSize) (uint8_t*)spillHandler32, sizeof(MachInst) * numSpillInsts); } -void Sparc32LiveProcess::flushWindows(ThreadContext *tc) +void Sparc32Process::flushWindows(ThreadContext *tc) { IntReg Cansave = tc->readIntReg(NumIntArchRegs + 3); IntReg Canrestore = tc->readIntReg(NumIntArchRegs + 4); @@ -477,7 +477,7 @@ void Sparc32LiveProcess::flushWindows(ThreadContext *tc) } void -Sparc64LiveProcess::flushWindows(ThreadContext *tc) +Sparc64Process::flushWindows(ThreadContext *tc) { IntReg Cansave = tc->readIntReg(NumIntArchRegs + 3); IntReg Canrestore = tc->readIntReg(NumIntArchRegs + 4); @@ -512,35 +512,35 @@ Sparc64LiveProcess::flushWindows(ThreadContext *tc) } IntReg -Sparc32LiveProcess::getSyscallArg(ThreadContext *tc, int &i) +Sparc32Process::getSyscallArg(ThreadContext *tc, int &i) { assert(i < 6); return bits(tc->readIntReg(FirstArgumentReg + i++), 31, 0); } void -Sparc32LiveProcess::setSyscallArg(ThreadContext *tc, int i, IntReg val) +Sparc32Process::setSyscallArg(ThreadContext *tc, int i, IntReg val) { assert(i < 6); tc->setIntReg(FirstArgumentReg + i, bits(val, 31, 0)); } IntReg -Sparc64LiveProcess::getSyscallArg(ThreadContext *tc, int &i) +Sparc64Process::getSyscallArg(ThreadContext *tc, int &i) { assert(i < 6); return tc->readIntReg(FirstArgumentReg + i++); } void -Sparc64LiveProcess::setSyscallArg(ThreadContext *tc, int i, IntReg val) +Sparc64Process::setSyscallArg(ThreadContext *tc, int i, IntReg val) { assert(i < 6); tc->setIntReg(FirstArgumentReg + i, val); } void -SparcLiveProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret) +SparcProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret) { // check for error condition. SPARC syscall convention is to // indicate success/failure in reg the carry bit of the ccr |