mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-07-03 11:29:21 +00:00
Refactor panic handler and assertion failed display functions
This commit is contained in:
@ -39,10 +39,11 @@
|
||||
#include "../../kernel.h"
|
||||
|
||||
extern const char *x86ExceptionMnemonics[];
|
||||
extern void DisplayCrashScreen(CPU::ExceptionFrame *Frame);
|
||||
extern bool UserModeExceptionHandler(CPU::ExceptionFrame *Frame);
|
||||
extern void DisplayCrashScreen(CPU::ExceptionFrame *);
|
||||
extern bool UserModeExceptionHandler(CPU::ExceptionFrame *);
|
||||
extern void DisplayStackSmashing();
|
||||
extern void DisplayBufferOverflow();
|
||||
extern void DisplayAssertionFailed(const char *, int, const char *);
|
||||
|
||||
Video::Font *CrashFont = nullptr;
|
||||
void *FbBeforePanic = nullptr;
|
||||
@ -350,3 +351,10 @@ nsa __noreturn void HandleBufferOverflow()
|
||||
DisplayBufferOverflow();
|
||||
CPU::Stop();
|
||||
}
|
||||
|
||||
EXTERNC nsa __noreturn void HandleAssertionFailed(const char *File, int Line,
|
||||
const char *Expression)
|
||||
{
|
||||
DisplayAssertionFailed(File, Line, Expression);
|
||||
CPU::Stop();
|
||||
}
|
||||
|
@ -742,8 +742,7 @@ nsa void DisplayBufferOverflow()
|
||||
/* TODO: Add additional info */
|
||||
}
|
||||
|
||||
EXTERNC nsa __noreturn void DisplayAssertionFailed(const char *File, int Line,
|
||||
const char *Expression)
|
||||
nsa void DisplayAssertionFailed(const char *File, int Line, const char *Expression)
|
||||
{
|
||||
InitFont();
|
||||
Display->ClearBuffer();
|
||||
@ -768,7 +767,8 @@ EXTERNC nsa __noreturn void DisplayAssertionFailed(const char *File, int Line,
|
||||
ExPrint(" Please create a new issue on \e00AAFFhttps://github.com/Fennix-Project/Fennix\eFAFAFA for further assistance.\n");
|
||||
|
||||
Display->UpdateBuffer();
|
||||
CPU::Stop();
|
||||
|
||||
/* TODO: Add additional info */
|
||||
}
|
||||
|
||||
nsa void ArrowInput(uint8_t key)
|
||||
|
Reference in New Issue
Block a user