Messages in this thread | ![/](/images/icornerl.gif) | | From | "Kasim Sinan Yildirim" <> | Subject | Paging and system calls | Date | Mon, 28 Apr 2003 14:48:08 +0200 |
| |
Hi,
I am working on a small kernel and i am examining the source code of the linux.
Since every task has its own page tables, when task switching occurs, the cr3 field of the TSS is put to the cr3 register which is page directory base register.
İn my operating system, when a system call occurs, the user level code jumps to system level code by changing its selectors to KernelCS and KernelDS. But at this point, the cr3 register still points to the page directory of the user process. So, the actual code that is pointed by kernel level page directory is not equal to the user level page directory entry. As a result , the system fails.
How this problem is solved in Linux? Have you got any solution to my problem?
Thanks...
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |