From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: Xeno Linux never pins L1 tables ? Date: Tue, 16 Oct 2007 12:57:45 -0700 Message-ID: <471517B9.1040102@goop.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Satya Cc: Xen-devel List-Id: xen-devel@lists.xenproject.org Satya wrote: > I'm developing my own 32-bit (no PAE) paravirtualized kernel for xen > with Mini-OS as a starting point. I am currently working on process > page table support (equivalent of arch/i386/mm/pgtable-xen.c) and > mostly following Linux for the moment. I noticed that linux-2.6.18-xen > never pins an L1 table (a pte), yet __pgd_pin() walks the page > directory and gives up write access on the kernel mappings of pte > pages and only pins the pgd page. How do set_pte() and set_pte_at() > macros work if they are writing directly to the page table entires ? > do we fault in the kernel to handle this ?! Pinning the top level of a pagetable implicitly pins all the lower levels, so they are all pinned. J