Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

idt.h File Reference


Detailed Description

IA-32 interrupt descriptor table.

#include <config.h>
#include <iosfwd>
#include <list>
#include <types.h>
#include <vector>

Include dependency graph for idt.h:

Go to the source code of this file.

Namespaces

namespace  Zygoma
namespace  Zygoma::ia32

Typedefs

typedef bool(* InterruptHandlerTrampoline )(int interruptNumber)
 The type of the trampoline function for invoking an interrupt handler from an interrupt gate.

Enumerations

enum  Faults {
  kFAULT_DIVIDE_ERROR = 0,
  kFAULT_RESERVED_1 = 1,
  kFAULT_NMI = 2,
  kFAULT_BREAKPOINT = 3,
  kFAULT_OVERFLOW = 4,
  kFAULT_BOUND_EXCEEDED = 5,
  kFAULT_INVALID_OPCODE = 6,
  kFAULT_DEVICE_NOT_AVAILABLE,
  kFAULT_DOUBLE_FAULT = 8,
  kFAULT_SEGMENT_OVERRUN = 9,
  kFAULT_INVALID_TSS = 10,
  kFAULT_SEGMENT_NOT_PRESENT,
  kFAULT_STACK_SEGMENT_FAULT,
  kFAULT_GENERAL_PROTECTION,
  kFAULT_PAGE_FAULT = 14,
  kFAULT_RESERVED_15,
  kFAULT_FPU_ERROR = 16,
  kFAULT_ALIGNMENT_CHECK,
  kFAULT_MACHINE_CHECK = 18,
  kFAULT_SIMD_EXCEPTION = 19,
  kFAULT_RESERVED_20
}
 Intel Protected-mode exceptions and interrupts. More...

Functions

std::ostream & operator<< (std::ostream &ostr, const InterruptGate &gate)
 Dumps an interrupt gate to an output stream.
std::ostream & operator<< (std::ostream &ostr, const IDT &idt)
 Dumps an interrupt descriptor table to an output stream.

Variables

IDTgIDT
 Global access point for the system interrupt manager.


Typedef Documentation

typedef bool(* Zygoma::ia32::InterruptHandlerTrampoline)(int interruptNumber)
 

The type of the trampoline function for invoking an interrupt handler from an interrupt gate.


Enumeration Type Documentation

enum Zygoma::ia32::Faults
 

Intel Protected-mode exceptions and interrupts.

Enumeration values:
kFAULT_DIVIDE_ERROR  DIV and IDIV instructions.
kFAULT_RESERVED_1  For Intel use only.
kFAULT_NMI  Nonmaskable external interrupt.
kFAULT_BREAKPOINT  INT 3 instruction.
kFAULT_OVERFLOW  INT 0 instruction.
kFAULT_BOUND_EXCEEDED  BOUND instruction.
kFAULT_INVALID_OPCODE  UD2 instruction or illegal opcode.
kFAULT_DEVICE_NOT_AVAILABLE  No math coprocessor + WAIT/FWAIT.
kFAULT_DOUBLE_FAULT  Any instruction.
kFAULT_SEGMENT_OVERRUN  Floating point instruction.
kFAULT_INVALID_TSS  Task switch or TSS access.
kFAULT_SEGMENT_NOT_PRESENT  Caused by memory access.
kFAULT_STACK_SEGMENT_FAULT  Caused by stack operations.
kFAULT_GENERAL_PROTECTION  Any memory reference can cause this.
kFAULT_PAGE_FAULT  Any memory reference.
kFAULT_RESERVED_15 
kFAULT_FPU_ERROR  x87 FPU error ow WAIT/FWAIT.
kFAULT_ALIGNMENT_CHECK  Any data reference in memory.
kFAULT_MACHINE_CHECK  System dependent.
kFAULT_SIMD_EXCEPTION  SSE and SSE2 fp instructions.
kFAULT_RESERVED_20 


Function Documentation

std::ostream& Zygoma::ia32::operator<< std::ostream &  ostr,
const IDT &  idt
[inline]
 

Dumps an interrupt descriptor table to an output stream.

Parameters:
ostr [INOUT] The output stream.
idt [IN] The interrupt descriptor table.

Here is the call graph for this function:

std::ostream& Zygoma::ia32::operator<< std::ostream &  ostr,
const InterruptGate &  gate
[inline]
 

Dumps an interrupt gate to an output stream.

Parameters:
ostr [INOUT] The output stream.
gate [IN] The interrupt gate.


Variable Documentation

Zygoma::ia32::IDT * Zygoma::ia32::gIDT
 

Global access point for the system interrupt manager.

Todo:
make this better.


Generated on Fri Sep 2 10:44:44 2005 for zygoma by doxygen 1.4.2