MentOS  0.8.0
The Mentoring Operating System
Macros | Functions | Variables
exception.c File Reference

Functions which manage the Interrupt Service Routines (ISRs). More...

Macros

#define __DEBUG_HEADER__   "[EXEPT ]"
 Change header.
 
#define __DEBUG_LEVEL__   LOGLEVEL_NOTICE
 Set log level.
 

Functions

static void default_isr_handler (pt_regs *f)
 Default handler for exceptions. More...
 
void isr_handler (pt_regs *f)
 Interrupt Service Routines handler called from the assembly. More...
 
void isrs_init (void)
 For each exceptions isrs_init sets a default handler which prints the rose exceptions and stops kernel execution.
 
int isr_install_handler (unsigned i, interrupt_handler_t handler, char *description)
 Installs an ISR to handle an interrupt. More...
 
int isr_uninstall_handler (unsigned i)
 Uninstall an ISR handler. More...
 

Variables

static const char * exception_messages [32]
 Default error messages for exceptions.
 
static interrupt_handler_t isr_routines [IDT_SIZE]
 Array of interrupt service routines for execptions and interrupts.
 
static char * isr_routines_description [IDT_SIZE]
 Descriptions of routines.
 

Detailed Description

Functions which manage the Interrupt Service Routines (ISRs).

Function Documentation

◆ default_isr_handler()

static void default_isr_handler ( pt_regs f)
inlinestatic

Default handler for exceptions.

Parameters
fCPU registers when calling this function.

◆ isr_handler()

void isr_handler ( pt_regs f)

Interrupt Service Routines handler called from the assembly.

Parameters
fCPU registers when calling this function.