Kernel/x86_64 - Fix compilation error
[tpg/acess2.git] / KernelLand / Kernel / arch / x86_64 / errors.c
index e7812c3..0681d5e 100644 (file)
@@ -13,6 +13,7 @@
 extern int     MM_PageFault(tVAddr Addr, Uint ErrorCode, tRegs *Regs);
 extern void    Error_Backtrace(Uint IP, Uint BP);
 extern void    Proc_EnableSSE(void);
+extern void    Threads_Dump(void);
 extern void    Proc_RestoreSSE(Uint32 Data);
 
 // === PROTOTYPES ===
@@ -98,6 +99,9 @@ void Error_Handler(tRegs *Regs)
                        *(Uint8*)(Regs->RIP+2), *(Uint8*)(Regs->RIP+3)
                        );
                break;
+       case 2: // NMI
+               Threads_Dump();
+               break;
        }
        
        __asm__ __volatile__ ("cli");
@@ -105,6 +109,13 @@ void Error_Handler(tRegs *Regs)
                __asm__ __volatile__ ("hlt");
 }
 
+void Proc_PrintBacktrace(void)
+{
+       Uint64  *rbp;
+       __asm__ __volatile__ ("mov %%rbp, %0" : "=r" (rbp));
+       Error_Backtrace( rbp[1], rbp[0] );
+}
+
 /**
  * \fn void Error_Backtrace(Uint eip, Uint ebp)
  * \brief Unrolls the stack to trace execution

UCC git Repository :: git.ucc.asn.au