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