summaryrefslogtreecommitdiff
path: root/src/arch/sparc/utility.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/sparc/utility.cc')
-rw-r--r--src/arch/sparc/utility.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/arch/sparc/utility.cc b/src/arch/sparc/utility.cc
index 5b05eaf71..245f455e4 100644
--- a/src/arch/sparc/utility.cc
+++ b/src/arch/sparc/utility.cc
@@ -257,9 +257,12 @@ skipFunction(ThreadContext *tc)
void
initCPU(ThreadContext *tc, int cpuId)
{
- static Fault por = std::make_shared<PowerOnReset>();
- if (cpuId == 0)
- por->invoke(tc);
+ // Other CPUs will get activated by IPIs.
+ if (cpuId != 0)
+ return;
+
+ PowerOnReset().invoke(tc);
+ tc->activate();
}
} // namespace SPARC_ISA