Hello,

I`m searching for the code that manages the (timer interrupt) context
switching of the os.

I already found the INTRENTRY method(in i386\locore.s ) that does the
register pushes.

INTRENTRY  is called by this block:

/*
 * Trap gate entry for int $80 syscall, also used by sigreturn.
 */
IDTVEC(osyscall)
pushq $2 # size of instruction for restart
pushq $T_ASTFLT # trap # for doing ASTs
INTRENTRY
sti
movq CPUVAR(CURPROC),%rdx
movq %rsp,P_MD_REGS(%rdx) # save pointer to frame
movq %rsp,%rdi
call _C_LABEL(syscall)

But where is this block called? I don't even find an implementation for
IDTVEC. And where is the code that moves the stack to the register?(To free
the register for the next application)

Please put my mail adress in CC if you answer my question:
startrekfa...@freenet.de

Thank you

Reply via email to