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