MentOS  0.8.0
The Mentoring Operating System
Macros | Typedefs | Functions
isr.h File Reference

Data structures concerning the Interrupt Service Routines (ISRs). More...

Go to the source code of this file.

Macros

#define DIVIDE_ERROR   0
 DE Divide Error.
 
#define DEBUG_EXC   1
 DB Debug.
 
#define NMI_INTERRUPT   2
 Non Mascable Interrupt.
 
#define BREAKPOINT   3
 BP Breakpoint.
 
#define OVERFLOW   4
 OF Overflow.
 
#define BOUND_RANGE_EXCEED   5
 BR Bound Range Exception.
 
#define INVALID_OPCODE   6
 UD Invalid OpCode Exception.
 
#define DEV_NOT_AVL   7
 NM Device Not Available.
 
#define DOUBLE_FAULT   8
 DF Double Fault.
 
#define COPROC_SEG_OVERRUN   9
 Coprocessor Segment Overrun.
 
#define INVALID_TSS   10
 TS Invalid TSS.
 
#define SEGMENT_NOT_PRESENT   11
 NP Segment Not Present.
 
#define STACK_SEGMENT_FAULT   12
 SS Stack Segment Fault.
 
#define GENERAL_PROTECTION   13
 GP General Protection.
 
#define PAGE_FAULT   14
 PF Page Fault.
 
#define INT_RSV   15
 XX Reserverd.
 
#define FLOATING_POINT_ERR   16
 MF Floating Point.
 
#define ALIGNMENT_CHECK   17
 AC Alignment Check.
 
#define MACHINE_CHECK   18
 MC Machine Check.
 
#define SIMD_FP_EXC   19
 XF Streaming SIMD Exception.
 
#define VIRT_EXC   20
 Virtualization Exception.
 
#define SECURITY_EXC   30
 Security Exception.
 
#define TRIPLE_FAULT   31
 Triple Fault.
 
#define SYSTEM_CALL   80
 System call interrupt.
 

Typedefs

typedef void(* interrupt_handler_t) (pt_regs *f)
 Interrupt handler definition. More...
 

Functions

void isrs_init (void)
 For each exceptions isrs_init sets a default handler which prints the rose exceptions and stops kernel execution.
 
void irq_init (void)
 For each interrupt irq_init sets a default handler which prints the rose IRQ line 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...
 
int irq_install_handler (unsigned i, interrupt_handler_t handler, char *description)
 Installs an ISR to handle an interrupt. More...
 
int irq_uninstall_handler (unsigned i, interrupt_handler_t handler)
 Uninstall an IRQ handler. More...
 
void irq_handler (pt_regs *f)
 Method called by CPU to handle interrupts. More...
 
void isq_handler (pt_regs *f)
 Method called by CPU to handle exceptions. More...
 

Detailed Description

Data structures concerning the Interrupt Service Routines (ISRs).