ARM: Don't reset CPUs that are going to be switched in.
authorAli Saidi <Ali.Saidi@ARM.com>
Fri, 9 Mar 2012 14:59:26 +0000 (09:59 -0500)
committerAli Saidi <Ali.Saidi@ARM.com>
Fri, 9 Mar 2012 14:59:26 +0000 (09:59 -0500)
src/arch/arm/utility.cc

index 0a1cefce736446c7f02f1d5d8e81c220cf468dc3..07932e67671350dfbf7199fcbfad6d061d91899d 100644 (file)
 #include "arch/arm/utility.hh"
 #include "arch/arm/vtophys.hh"
 #include "config/use_checker.hh"
+#include "cpu/base.hh"
 #include "cpu/thread_context.hh"
 #include "mem/fs_translating_port_proxy.hh"
+#include "params/BaseCPU.hh"
 #include "sim/full_system.hh"
 
 namespace ArmISA {
@@ -56,7 +58,9 @@ initCPU(ThreadContext *tc, int cpuId)
     // Reset CP15?? What does that mean -- ali
     
     // FPEXC.EN = 0
-    
+    if (tc->getCpuPtr()->params()->defer_registration)
+       return;
+
     static Fault reset = new Reset;
     reset->invoke(tc);
 }