My Project
Loading...
Searching...
No Matches
handlers.c File Reference

Go to the source code of this file.

Macros

#define PRINT_ALL_REGS_AND_HALT(ctxptr, intfrptr)

Functions

void lapic_eoi (void)
void MiLapicInterrupt (bool schedulerEnabled, PTRAP_FRAME trap)
void MiInterprocessorInterrupt (void)
void MiPageFault (IN PTRAP_FRAME trap)
NORETURN void MiDoubleFault (IN PTRAP_FRAME trap)
void MiDivideByZero (PTRAP_FRAME trap)
void MiDebugTrap (PTRAP_FRAME trap)
NORETURN void MiNonMaskableInterrupt (PTRAP_FRAME trap)
void MiBreakpoint (PTRAP_FRAME trap)
void MiOverflow (PTRAP_FRAME trap)
void MiBoundsCheck (PTRAP_FRAME trap)
void MiInvalidOpcode (PTRAP_FRAME trap)
void MiNoCoprocessor (PTRAP_FRAME trap)
void MiCoprocessorSegmentOverrun (PTRAP_FRAME trap)
void MiInvalidTss (IN PTRAP_FRAME trap)
void MiSegmentSelectorNotPresent (PTRAP_FRAME trap)
void MiStackSegmentOverrun (PTRAP_FRAME trap)
void MiGeneralProtectionFault (PTRAP_FRAME trap)
void MiFloatingPointError (PTRAP_FRAME trap)
void MiAlignmentCheck (PTRAP_FRAME trap)
void MiMachineCheck (PTRAP_FRAME trap)

Variables

uint32_t cursor_x
uint32_t cursor_y
GOP_PARAMS gop_local

Macro Definition Documentation

◆ PRINT_ALL_REGS_AND_HALT

#define PRINT_ALL_REGS_AND_HALT ( ctxptr,
intfrptr )
Value:
do { \
gop_printf(COLOR_RED, \
"RAX=%p RBX=%p RCX=%p RDX=%p\n" \
"RSI=%p RDI=%p RBP=%p RSP=%p\n" \
"R8 =%p R9 =%p R10=%p R11=%p\n" \
"R12=%p R13=%p R14=%p R15=%p\n" \
"RIP=%p RFLAGS=%p\n", \
(ctxptr)->rax, (ctxptr)->rbx, (ctxptr)->rcx, (ctxptr)->rdx, \
(ctxptr)->rsi, (ctxptr)->rdi, (ctxptr)->rbp, (intfrptr)->rsp, \
(ctxptr)->r8, (ctxptr)->r9, (ctxptr)->r10, (ctxptr)->r11, \
(ctxptr)->r12, (ctxptr)->r13, (ctxptr)->r14, (ctxptr)->r15, \
(intfrptr)->rip, (intfrptr)->rflags); \
__hlt(); \
} while (0)
#define COLOR_RED
Colors definitions for easier access.
Definition mg.h:29

Definition at line 13 of file handlers.c.

Function Documentation

◆ lapic_eoi()

void lapic_eoi ( void )
extern

Definition at line 136 of file apic.c.

◆ MiAlignmentCheck()

void MiAlignmentCheck ( PTRAP_FRAME trap)

Definition at line 468 of file handlers.c.

◆ MiBoundsCheck()

void MiBoundsCheck ( PTRAP_FRAME trap)

Definition at line 420 of file handlers.c.

◆ MiBreakpoint()

void MiBreakpoint ( PTRAP_FRAME trap)

Definition at line 392 of file handlers.c.

◆ MiCoprocessorSegmentOverrun()

void MiCoprocessorSegmentOverrun ( PTRAP_FRAME trap)

Definition at line 434 of file handlers.c.

◆ MiDebugTrap()

void MiDebugTrap ( PTRAP_FRAME trap)

Definition at line 298 of file handlers.c.

◆ MiDivideByZero()

void MiDivideByZero ( PTRAP_FRAME trap)

Definition at line 258 of file handlers.c.

◆ MiDoubleFault()

NORETURN void MiDoubleFault ( IN PTRAP_FRAME trap)

Definition at line 226 of file handlers.c.

◆ MiFloatingPointError()

void MiFloatingPointError ( PTRAP_FRAME trap)

Definition at line 462 of file handlers.c.

◆ MiGeneralProtectionFault()

void MiGeneralProtectionFault ( PTRAP_FRAME trap)

Definition at line 457 of file handlers.c.

◆ MiInterprocessorInterrupt()

void MiInterprocessorInterrupt ( void )

Definition at line 70 of file handlers.c.

◆ MiInvalidOpcode()

void MiInvalidOpcode ( PTRAP_FRAME trap)

Definition at line 425 of file handlers.c.

◆ MiInvalidTss()

void MiInvalidTss ( IN PTRAP_FRAME trap)

Definition at line 439 of file handlers.c.

◆ MiLapicInterrupt()

void MiLapicInterrupt ( bool schedulerEnabled,
PTRAP_FRAME trap )

Definition at line 65 of file handlers.c.

◆ MiMachineCheck()

void MiMachineCheck ( PTRAP_FRAME trap)

Definition at line 478 of file handlers.c.

◆ MiNoCoprocessor()

void MiNoCoprocessor ( PTRAP_FRAME trap)

Definition at line 429 of file handlers.c.

◆ MiNonMaskableInterrupt()

NORETURN void MiNonMaskableInterrupt ( PTRAP_FRAME trap)

Definition at line 362 of file handlers.c.

◆ MiOverflow()

void MiOverflow ( PTRAP_FRAME trap)

Definition at line 416 of file handlers.c.

◆ MiPageFault()

void MiPageFault ( IN PTRAP_FRAME trap)

Definition at line 155 of file handlers.c.

◆ MiSegmentSelectorNotPresent()

void MiSegmentSelectorNotPresent ( PTRAP_FRAME trap)

Definition at line 445 of file handlers.c.

◆ MiStackSegmentOverrun()

void MiStackSegmentOverrun ( PTRAP_FRAME trap)

Definition at line 451 of file handlers.c.

Variable Documentation

◆ cursor_x

uint32_t cursor_x
extern

Definition at line 39 of file gop.c.

◆ cursor_y

uint32_t cursor_y
extern

Definition at line 39 of file gop.c.

◆ gop_local

GOP_PARAMS gop_local
extern

Definition at line 26 of file kernel.c.