summaryrefslogtreecommitdiff
path: root/src/arch/alpha/process.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/alpha/process.cc')
-rw-r--r--src/arch/alpha/process.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/arch/alpha/process.cc b/src/arch/alpha/process.cc
index 9d75d5fa1..1c83f64b2 100644
--- a/src/arch/alpha/process.cc
+++ b/src/arch/alpha/process.cc
@@ -175,21 +175,22 @@ AlphaLiveProcess::argsInit(int intSize, int pageSize)
void
AlphaLiveProcess::startup()
{
- if (checkpointRestored)
+ ThreadContext *tc = system->getThreadContext(contextIds[0]);
+ tc->setMiscRegNoEffect(IPR_DTB_ASN, M5_pid << 57);
+
+ if (checkpointRestored) {
return;
+ }
Process::startup();
argsInit(MachineBytes, VMPageSize);
- ThreadContext *tc = system->getThreadContext(contextIds[0]);
tc->setIntReg(GlobalPointerReg, objFile->globalPointer());
//Operate in user mode
tc->setMiscRegNoEffect(IPR_ICM, 0x18);
//No super page mapping
tc->setMiscRegNoEffect(IPR_MCSR, 0);
- //Set this to 0 for now, but it should be unique for each process
- tc->setMiscRegNoEffect(IPR_DTB_ASN, M5_pid << 57);
}
AlphaISA::IntReg