Re:puzzle about about page fault in sigma0 space

Bob <[email protected]> Wed, 10 Sep 2008 11:41:08 +0800 (CST)
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
 In addition, a pagefault occur. A ipc containing the  virt address caused the pagefault will be send to the pager. And the pager will allocate a phys region. And map it to the virt address. Then the program can goes on.
But i didnot find how a pager can make this map? Pager is in user level, but page table can only be changed
in kernel mode.
 
Thanks, all!
 

Bob <[email protected]> wrote:

Hi, all 
I am sorry for trouble you again. I am puzzled about page fault in sigma0 space.
My puzzle is that when access a virt address below 256M in sigma0 space, and a page fault will occur.
Then the page fault process will make phys : virt 1 : 1 mapping through map_sigma0() funtion.
Then it can access the phys address which is below 256M ? But these low 256M addresses is kernel used. 
And shouldn't be accessed by user thread directly. Or else the kernel data will be distroyed .
How to explain this?

-------
Best regards
Bob





买房不必东奔西走,上房老大,看"二手房"网上房展会