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.