Nucleus
Barry Improved context switching and interrupt handling d46e09a (3 years, 2 months ago)/* * This file contains the context switch routine. This routine will switch the * current context, but will not save any state, so it should only be called by * the scheduler. Since the stack and page directory will get switched, care * must be taken to read and set the registers in the correct order. */ /* Perform a context switch */ .globl context_switch context_switch: cli mov 4(%esp), %ecx mov 8(%esp), %eax mov 12(%esp), %esi mov 16(%esp), %edi mov 20(%esp), %ebx mov 24(%esp), %ebp mov 28(%esp), %esp mov %eax, %cr3 sti jmp *%ecx