miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
Loading...
Searching...
No Matches
exceptions.c File Reference
Include dependency graph for exceptions.c:

Functions

static int is_mapped_range (uint64_t base, uint64_t len)
void exception_set_handler (unsigned int num, exception_handler_t fn)
static void handle_exception (const char *s, struct task_cpu_context *context)
static void divide_error_exception (struct task_cpu_context *context, uint64_t error_code)
static void debug_exception (struct task_cpu_context *context)
static void nmi_interrupt_exception (struct task_cpu_context *context)
static void breakpoint_exception (struct task_cpu_context *context)
static void overflow_exception (struct task_cpu_context *context)
static void bound_range_exceeded_exception (struct task_cpu_context *context)
static void invalid_opcode_exception (struct task_cpu_context *context)
static void device_not_available_exception (struct task_cpu_context *context)
static void coprocessor_segment_overrun_exception (struct task_cpu_context *context)
static void invalid_tss_exception (struct task_cpu_context *context)
static void segment_not_present_exception (struct task_cpu_context *context)
static void stack_segment_fault_exception (struct task_cpu_context *context)
static void general_protection_exception (struct task_cpu_context *context)
static void page_fault_exception (struct task_cpu_context *context)
static void floating_point_error_exception (struct task_cpu_context *context)
static void alignment_check_exception (struct task_cpu_context *context)
static void machine_check_exception (struct task_cpu_context *context)
void exceptions_init ()

Variables

addr_t exception_wrapper_array [NR_EXCEPTIONS]
exception_handler_t exception_handler_array [NR_EXCEPTIONS] = { NULL}

Function Documentation

◆ alignment_check_exception()

void alignment_check_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ bound_range_exceeded_exception()

void bound_range_exceeded_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ breakpoint_exception()

void breakpoint_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ coprocessor_segment_overrun_exception()

void coprocessor_segment_overrun_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ debug_exception()

void debug_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ device_not_available_exception()

void device_not_available_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ divide_error_exception()

void divide_error_exception ( struct task_cpu_context * context,
uint64_t error_code )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exception_set_handler()

void exception_set_handler ( unsigned int num,
exception_handler_t fn )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ exceptions_init()

void exceptions_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ floating_point_error_exception()

void floating_point_error_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ general_protection_exception()

void general_protection_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_exception()

void handle_exception ( const char * s,
struct task_cpu_context * context )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ invalid_opcode_exception()

void invalid_opcode_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ invalid_tss_exception()

void invalid_tss_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_mapped_range()

int is_mapped_range ( uint64_t base,
uint64_t len )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ machine_check_exception()

void machine_check_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nmi_interrupt_exception()

void nmi_interrupt_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ overflow_exception()

void overflow_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ page_fault_exception()

void page_fault_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ segment_not_present_exception()

void segment_not_present_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ stack_segment_fault_exception()

void stack_segment_fault_exception ( struct task_cpu_context * context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ exception_handler_array

exception_handler_t exception_handler_array[NR_EXCEPTIONS] = { NULL}

◆ exception_wrapper_array

addr_t exception_wrapper_array[NR_EXCEPTIONS]
extern