Go to the source code of this file.
Macro Definition Documentation
      
        
          | #define INTERRUPT_HANDLER | 
          ( | 
            | 
          name | ) | 
           | 
        
      
 
Value:void name (void);                                                       \
  asm (                                                                 \
      ".global "#name "                 \n"                             \
      "\t.type "#name",@function        \n"                             \
      #name":                           \n"                             \
      "cli                      \n"                             \
      "subl $4, %esp                    \n"                             \
      "pusha                            \n"                             \
      "push %ds                         \n"                             \
      "push %es                         \n"                             \
      "push %esp                        \n"                             \
      "mov $0x10, %ax                   \n"                             \
      "mov %ax, %ds                     \n"                             \
      "mov %ax, %es                     \n"                             \
      "call " #name"_handler            \n"                             \
      "call update_tss                  \n"                             \
      "addl $4, %esp                    \n"                             \
      "pop %es                          \n"                             \
      "pop %ds                          \n"                             \
      "popa                             \n"                             \
      "addl $4, %esp                    \n"                             \
      "sti                      \n"                             \
      "iret                             \n"                             \
      );                                                                \
 
Definition at line 53 of file interrupt.h.
 
 
      
        
          | #define INTERRUPT_HANDLER_errorcode | 
          ( | 
            | 
          name | ) | 
           | 
        
      
 
Value:void name (void);                                                       \
  asm (                                                                 \
      ".global "#name "                 \n"                             \
      "\t.type "#name",@function        \n"                             \
      #name":                           \n"                             \
      "cli                      \n"                             \
      "pusha                            \n"                             \
      "push %ds                         \n"                             \
      "push %es                         \n"                             \
      "push %esp                        \n"                             \
      "mov $0x10, %ax                   \n"                             \
      "mov %ax, %ds                     \n"                             \
      "mov %ax, %es                     \n"                             \
      "call " #name"_handler            \n"                             \
      "call update_tss                  \n"                             \
      "addl $4, %esp                    \n"                             \
      "pop %es                          \n"                             \
      "pop %ds                          \n"                             \
      "popa                             \n"                             \
      "addl $4, %esp                    \n"                             \
      "sti                      \n"                             \
      "iret                             \n"                             \
      );                                                                \
 
Definition at line 81 of file interrupt.h.
 
 
      
        
          | #define INTERRUPT_HANDLER_syscall | 
          ( | 
            | 
          name | ) | 
           | 
        
      
 
Value:int name (void);                                                        \
  asm (                                                                 \
      ".global "#name "                 \n"                             \
      "\t.type "#name",@function        \n"                             \
      #name":                           \n"                             \
      "cli                      \n"                             \
      "subl $4, %esp                    \n"                             \
      "pusha                            \n"                             \
      "push %ds                         \n"                             \
      "push %es                         \n"                             \
      "push %esp                        \n"                             \
      "mov $0x10, %ax                   \n"                             \
      "mov %ax, %ds                     \n"                             \
      "mov %ax, %es                     \n"                             \
      "call " #name"_handler            \n"                             \
      "movl %eax, 40(%esp)         \n"   \
      "call update_tss                  \n"                             \
      "addl $4, %esp                    \n"                             \
      "pop %es                          \n"                             \
      "pop %ds                          \n"                             \
      "popa                             \n"                             \
      "addl $4, %esp                    \n"                             \
      "sti                      \n"                             \
      "iret                             \n"                             \
      );                                                                \
 
Definition at line 108 of file interrupt.h.
 
 
Function Documentation
Definition at line 20 of file interrupt.c.
{
  if ((frame->
cs & 0xffff) != 0x8)
 
  {
  }
}
 
 
 
Variable Documentation
Definition at line 39 of file gdt.c.