gates.c File Reference

#include "libc.h"

Functions

void handle_nmi (int n)
void setgate2 (struct gate_descriptor *gd, void *func, int args, int type, int dpl, int xx)
void setgate (struct gate_descriptor *gd, void *func, int args, int type, int dpl)
void setsegment2 (struct segment_descriptor *sd, void *base, size_t limit, int type, int dpl, int def32, int gran, int xx)
void setsegment (struct segment_descriptor *sd, void *base, size_t limit, int type, int dpl, int def32, int gran)
void settaskgate2 (struct gate_descriptor *gd, u_int selector, int args, int type, int dpl, int xx)
void settaskgate (struct gate_descriptor *gd, u_int selector, int args, int type, int dpl)
void gdt_dump (t_printf_fn printf_fn, char *s, union descriptor *base, int slot)
void idt_dump (t_printf_fn printf_fn, char *s, union descriptor *base, int slot)
void tss_dump (t_printf_fn printf_fn, char *s, t_tss *tss)

Variables

t_nmi_fn nmi_fns []
int nb_nmi_fns = ARRAY_COUNT(nmi_fns)
char * nmistrs []
int nb_nmistrs = ARRAY_COUNT(nmistrs)
char * systblypestrs []
int nb_systblypestrs = ARRAY_COUNT(systblypestrs)

Function Documentation

void gdt_dump t_printf_fn  printf_fn,
char *  s,
union descriptor base,
int  slot
 

void handle_nmi int  n  ) 
 

void idt_dump t_printf_fn  printf_fn,
char *  s,
union descriptor base,
int  slot
 

void setgate struct gate_descriptor gd,
void *  func,
int  args,
int  type,
int  dpl
 

void setgate2 struct gate_descriptor gd,
void *  func,
int  args,
int  type,
int  dpl,
int  xx
 

void setsegment struct segment_descriptor sd,
void *  base,
size_t  limit,
int  type,
int  dpl,
int  def32,
int  gran
 

void setsegment2 struct segment_descriptor sd,
void *  base,
size_t  limit,
int  type,
int  dpl,
int  def32,
int  gran,
int  xx
 

void settaskgate struct gate_descriptor gd,
u_int  selector,
int  args,
int  type,
int  dpl
 

void settaskgate2 struct gate_descriptor gd,
u_int  selector,
int  args,
int  type,
int  dpl,
int  xx
 

void tss_dump t_printf_fn  printf_fn,
char *  s,
t_tss tss
 


Variable Documentation

int nb_nmi_fns = ARRAY_COUNT(nmi_fns)
 

int nb_nmistrs = ARRAY_COUNT(nmistrs)
 

int nb_systblypestrs = ARRAY_COUNT(systblypestrs)
 

t_nmi_fn nmi_fns[]
 

Initial value:

char* nmistrs[]
 

Initial value:

  {
    "Divide by zero exception",                   
    "Debug exception",                            
    "Non-Maskable Interrupt",                     
    "Breakpoint exception",                       
    "Overflow exception",                         
    "Bound exception",                                    
    "Invalid Opcode exception",                   
    "FPU not available exception",                
    "Double fault",                               
    "Coprocessor segment overrun exception",      
    "Invalid TSS exception",                      
    "Segment not present exception",              
    "Stack exception",                            
    "General protection exception",               
    "Page fault",                                 
    "reserved exception 15",                      
    "Floating point error",                       
    "Alignment check exception",                  
    "Machine check exception",                    
    "SIMD Floating-Point Exception",              
  }

char* systblypestrs[]
 

Initial value:

 
  {
    "SYSNULL",    "SYS286TSS",    "SYSLDT",       "SYS286BSY",
    "SYS286CGT",  "SYSTASKGT",    "SYS286IGT",    "SYS286TGT",
    "SYSNULL2",   "SYS386TSS",    "SYSNULL3",     "SYS386BSY",
    "SYS386CGT",  "SYSNULL4",     "SYS386IGT",    "SYS386TGT",
    "MEMRO",      "MEMROA",       "MEMRW",        "MEMRWA",
    "MEMROD",     "MEMRODA",      "MEMRWD",       "MEMRWDA",
    "MEME",       "MEMEA",        "MEMER",        "MEMERA",
    "MEMEC",      "MEMEAC",       "MEMERC",       "MEMERAC",
  }


Generated on Wed May 24 23:05:55 2006 for LSE/OS by  doxygen 1.4.6