Barrelfish
Data Structures | Macros
irq.h File Reference

x86-64 interrupt/exception handling More...

Data Structures

struct  gate_descriptor
 
struct  region_descriptor
 

Macros

#define NEXCEPTIONS   32
 Number of (reserved) hardware exceptions.
 
#define NDISPATCH   (NIDT - NEXCEPTIONS)
 Size of hardware IRQ dispatch table == #NIDT - NEXCEPTIONS exceptions.
 
#define NULL_SEL   0
 
#define KCODE_SEL   1
 
#define KSTACK_SEL   2
 
#define USTACK_SEL   3
 
#define UCODE_SEL   4
 
#define TSS_LO_SEL   5
 
#define TSS_HI_SEL   6
 
#define LDT_LO_SEL   7
 
#define LDT_HI_SEL   8
 
#define NGDT_MEM   9
 

Detailed Description

x86-64 interrupt/exception handling

Macro Definition Documentation

#define KCODE_SEL   1

Kernel code descriptor

#define KSTACK_SEL   2

Shared user/kernel stack descriptor

#define LDT_HI_SEL   8

Local descriptor table (LDT) – high

#define LDT_LO_SEL   7

Local descriptor table (LDT) – low

#define NGDT_MEM   9

Number of descriptors

#define NULL_SEL   0

Null descriptor

#define TSS_HI_SEL   6

Task State Segment (TSS) – high 64bit

#define TSS_LO_SEL   5

Task State Segment (TSS) – low 64bit

#define UCODE_SEL   4

User code descriptor

#define USTACK_SEL   3

User stack descriptor