[haiku-commits] r37020 - haiku/trunk/src/system/kernel/arch/ppc

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 5 Jun 2010 20:34:37 +0200 (CEST)

Author: bonefish
Date: 2010-06-05 20:34:37 +0200 (Sat, 05 Jun 2010)
New Revision: 37020
Changeset: http://dev.haiku-os.org/changeset/37020/haiku

Modified:
   haiku/trunk/src/system/kernel/arch/ppc/arch_int.cpp
Log:
Patch by Andreas Faerber: Added support for
cpu_ent::fault_handler[_stack_pointer].


Modified: haiku/trunk/src/system/kernel/arch/ppc/arch_int.cpp
===================================================================
--- haiku/trunk/src/system/kernel/arch/ppc/arch_int.cpp 2010-06-05 18:32:44 UTC 
(rev 37019)
+++ haiku/trunk/src/system/kernel/arch/ppc/arch_int.cpp 2010-06-05 18:34:37 UTC 
(rev 37020)
@@ -124,7 +124,14 @@
                        bool kernelDebugger = debug_debugger_running();
 
                        if (kernelDebugger) {
-                               // if this thread has a fault handler, we're 
allowed to be here
+                               // if this CPU or this thread has a fault 
handler,
+                               // we're allowed to be here
+                               cpu_ent* cpu = &gCPU[smp_get_current_cpu()];
+                               if (cpu->fault_handler != 0) {
+                                       iframe->srr0 = cpu->fault_handler;
+                                       iframe->r1 = 
cpu->fault_handler_stack_pointer;
+                                       break;
+                               }
                                struct thread *thread = 
thread_get_current_thread();
                                if (thread && thread->fault_handler != 0) {
                                        iframe->srr0 = thread->fault_handler;


Other related posts:

  • » [haiku-commits] r37020 - haiku/trunk/src/system/kernel/arch/ppc - ingo_weinhold