extern void Threads_Fault(int Num);
// === PROTOTYPES ===
+void __stack_chk_fail(void);
+void ErrorHandler(tRegs *Regs);
void Error_Backtrace(Uint eip, Uint ebp);
+void StartupPrint(char *Str);
// === GLOBALS ===
const char *csaERROR_NAMES[] = {
};
// === CODE ===
+/**
+ * \brief Keeps GCC happy
+ */
void __stack_chk_fail(void)
{
Panic("FATAL ERROR: Stack Check Failed\n");
/**
* \fn void ErrorHandler(tRegs *Regs)
* \brief General Error Handler
+ * \param Regs Register state at error
*/
void ErrorHandler(tRegs *Regs)
{
/**
* \fn void Error_Backtrace(Uint eip, Uint ebp)
* \brief Unrolls the stack to trace execution
+ * \param eip Current Instruction Pointer
+ * \param ebp Current Base Pointer (Stack Frame)
*/
void Error_Backtrace(Uint eip, Uint ebp)
{
/**
* \fn void StartupPrint(char *Str)
+ * \brief Str String to print
+ * \note WHY IS THIS HERE?!?!
*/
void StartupPrint(char *Str)
{
Str ++;
}
- while(i < 80) buf[line*80 + i++] = 0x0720;
+ // Clear the rest of the line
+ while(i < 80)
+ buf[line*80 + i++] = 0x0720;
line ++;
if(line == 25)