system.h File Reference

#include <linux/segment.h>

Go to the source code of this file.

Defines

#define move_to_user_mode()
#define sti()   __asm__ __volatile__ ("sti": : :"memory")
#define cli()   __asm__ __volatile__ ("cli": : :"memory")
#define nop()   __asm__ __volatile__ ("nop")
#define clts()   __asm__ __volatile__ ("clts")
#define stts()
#define save_flags(x)
#define restore_flags(x)
#define iret()   __asm__ __volatile__ ("iret": : :"memory")
#define _set_gate(gate_addr, type, dpl, addr)
#define set_intr_gate(n, addr)   _set_gate(&idt[n],14,0,addr)
#define set_trap_gate(n, addr)   _set_gate(&idt[n],15,0,addr)
#define set_system_gate(n, addr)   _set_gate(&idt[n],15,3,addr)
#define set_call_gate(a, addr)   _set_gate(a,12,3,addr)
#define _set_seg_desc(gate_addr, type, dpl, base, limit)
#define _set_tssldt_desc(n, addr, limit, type)
#define set_tss_desc(n, addr)   _set_tssldt_desc(((char *) (n)),((int)(addr)),235,"0x89")
#define set_ldt_desc(n, addr, size)   _set_tssldt_desc(((char *) (n)),((int)(addr)),((size << 3) - 1),"0x82")

Functions

 i (USER_CS)

Variables

 type
 dpl
n
m m n
m m m n
m m m m n
m m m m m n


Define Documentation

#define _set_gate ( gate_addr,
type,
dpl,
addr   ) 

Value:

__asm__ __volatile__ ("movw %%dx,%%ax\n\t" \
        "movw %2,%%dx\n\t" \
        "movl %%eax,%0\n\t" \
        "movl %%edx,%1" \
        :"=m" (*((long *) (gate_addr))), \
         "=m" (*(1+(long *) (gate_addr))) \
        :"i" ((short) (0x8000+(dpl<<13)+(type<<8))), \
         "d" ((char *) (addr)),"a" (KERNEL_CS << 16) \
        :"ax","dx")

#define _set_seg_desc ( gate_addr,
type,
dpl,
base,
limit   ) 

Value:

{\
        *((gate_addr)+1) = ((base) & 0xff000000) | \
                (((base) & 0x00ff0000)>>16) | \
                ((limit) & 0xf0000) | \
                ((dpl)<<13) | \
                (0x00408000) | \
                ((type)<<8); \
        *(gate_addr) = (((base) & 0x0000ffff)<<16) | \
                ((limit) & 0x0ffff); }

Definition at line 92 of file system.h.

#define _set_tssldt_desc ( n,
addr,
limit,
type   ) 

Value:

__asm__ __volatile__ ("movw $" #limit ",%1\n\t" \
        "movw %%ax,%2\n\t" \
        "rorl $16,%%eax\n\t" \
        "movb %%al,%3\n\t" \
        "movb $" type ",%4\n\t" \
        "movb $0x00,%5\n\t" \
        "movb %%ah,%6\n\t" \
        "rorl $16,%%eax" \

Definition at line 102 of file system.h.

 
#define cli (  )     __asm__ __volatile__ ("cli": : :"memory")

Referenced by c(), clear_bit(), remove_wait_queue(), and set_bit().

 
#define clts (  )     __asm__ __volatile__ ("clts")

 
#define iret (  )     __asm__ __volatile__ ("iret": : :"memory")

 
#define move_to_user_mode (  ) 

Value:

__asm__ __volatile__ ("movl %%esp,%%eax\n\t" \
        "pushl %0\n\t" \
        "pushl %%eax\n\t" \
        "pushfl\n\t" \
        "pushl %1\n\t" \
        "pushl $1f\n\t" \
        "iret\n" \
        "1:\tmovl %0,%%eax\n\t" \
        "mov %%ax,%%ds\n\t" \
        "mov %%ax,%%es\n\t" \
        "mov %%ax,%%fs\n\t" \
        "mov %%ax,%%gs" \

Definition at line 6 of file system.h.

 
#define nop (  )     __asm__ __volatile__ ("nop")

#define restore_flags (  ) 

Referenced by c(), and remove_wait_queue().

#define save_flags (  ) 

Definition at line 57 of file system.h.

Referenced by c(), and remove_wait_queue().

#define set_call_gate ( a,
addr   )     _set_gate(a,12,3,addr)

Definition at line 89 of file system.h.

#define set_intr_gate ( n,
addr   )     _set_gate(&idt[n],14,0,addr)

Definition at line 80 of file system.h.

#define set_ldt_desc ( n,
addr,
size   )     _set_tssldt_desc(((char *) (n)),((int)(addr)),((size << 3) - 1),"0x82")

Definition at line 119 of file system.h.

#define set_system_gate ( n,
addr   )     _set_gate(&idt[n],15,3,addr)

Definition at line 86 of file system.h.

#define set_trap_gate ( n,
addr   )     _set_gate(&idt[n],15,0,addr)

Definition at line 83 of file system.h.

#define set_tss_desc ( n,
addr   )     _set_tssldt_desc(((char *) (n)),((int)(addr)),235,"0x89")

Definition at line 118 of file system.h.

 
#define sti (  )     __asm__ __volatile__ ("sti": : :"memory")

Referenced by clear_bit(), i(), and set_bit().

 
#define stts (  ) 

Value:

__asm__ __volatile__ ( \
        "movl %%cr0,%%eax\n\t" \
        "orl $8,%%eax\n\t" \
        "movl %%eax,%%cr0" \


Function Documentation

i ( USER_CS   ) 

Clear and set 'TS' bit respectively

Definition at line 21 of file system.h.

References sti.


Variable Documentation

dpl

Definition at line 69 of file system.h.

m m m m m n

Definition at line 115 of file system.h.

m m m m n

Definition at line 115 of file system.h.

m m m n

Definition at line 114 of file system.h.

m m n

Definition at line 114 of file system.h.

m n

Definition at line 114 of file system.h.

type

Definition at line 69 of file system.h.


Generated on Mon May 1 21:47:00 2006 for KernelAPI by  doxygen 1.4.6-5