Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964817AbWCQN7a (ORCPT ); Fri, 17 Mar 2006 08:59:30 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932734AbWCQN73 (ORCPT ); Fri, 17 Mar 2006 08:59:29 -0500 Received: from omx1-ext.sgi.com ([192.48.179.11]:16362 "EHLO omx1.americas.sgi.com") by vger.kernel.org with ESMTP id S932720AbWCQN72 (ORCPT ); Fri, 17 Mar 2006 08:59:28 -0500 Message-ID: <441AC06E.1090909@sgi.com> Date: Fri, 17 Mar 2006 14:58:06 +0100 From: Jes Sorensen User-Agent: Thunderbird 1.5 (X11/20060223) MIME-Version: 1.0 To: carsteno@de.ibm.com CC: Andrew Morton , Linus Torvalds , linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, Christoph Hellwig Subject: Re: [patch] mspec - special memory driver and do_no_pfn handler References: <441ABEDD.4070003@de.ibm.com> In-Reply-To: <441ABEDD.4070003@de.ibm.com> X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1500 Lines: 39 Carsten Otte wrote: > Jes Sorensen wrote: >> Index: linux-2.6/include/linux/mm.h >> =================================================================== >> --- linux-2.6.orig/include/linux/mm.h >> +++ linux-2.6/include/linux/mm.h >> @@ -199,6 +199,7 @@ >> void (*open)(struct vm_area_struct * area); >> void (*close)(struct vm_area_struct * area); >> struct page * (*nopage)(struct vm_area_struct * area, unsigned long address, int *type); >> + long (*nopfn)(struct vm_area_struct * area, unsigned long address, int *type); >> int (*populate)(struct vm_area_struct * area, unsigned long address, unsigned long len, pgprot_t prot, unsigned long pgoff, int nonblock); >> #ifdef CONFIG_NUMA >> int (*set_policy)(struct vm_area_struct *vma, struct mempolicy *new); > If you use address as parameter to nopfn, it won't work with highmem > on 32bit systems. Alternative would be to use (unsigned long) phys. page > frame number. Hi Carsten, The address comes from handle_pte_fault() passing it to do_no_pfn() passing it to ->nopfn(), ie. it's the faulted address, not the physical one. > Your work in memory.c looks like the right thing to do. > Afaics it will work for xip as well once I figure how to > do COW. Cool stuff :-). :-) Cheers, Jes - 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/