From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Otte Subject: Re: [patch 4/6] xip: support non-struct page backed memory Date: Mon, 03 Mar 2008 09:30:29 +0100 Message-ID: <47CBB725.7040108@de.ibm.com> References: <20080118045649.334391000@suse.de> <20080118045755.735923000@suse.de> <6934efce0803010014p2cc9a5edu5fee2029c0104a07@mail.gmail.com> <20080303052959.GB32555@wotan.suse.de> Reply-To: carsteno@de.ibm.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Jared Hulbert , Linus Torvalds , Andrew Morton , mschwid2@linux.vnet.ibm.com, heicars2@linux.vnet.ibm.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org To: Nick Piggin Return-path: Received: from mout0.freenet.de ([195.4.92.90]:36744 "EHLO mout0.freenet.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753110AbYCCIal (ORCPT ); Mon, 3 Mar 2008 03:30:41 -0500 In-Reply-To: <20080303052959.GB32555@wotan.suse.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Nick Piggin wrote: > What about > int get_xip_mem(mapping, pgoff, create, void **kaddr, unsigned long *pfn) > > get_xip_mem(mapping, pgoff, create, &addr, &pfn); > if (pagefault) > vm_insert_mixed(vma, vaddr, pfn); > else if (read/write) { > memcpy(kaddr, blah, sizeof); > > My simple brd driver can easily do > *kaddr = page_address(page); > *pfn = page_to_pfn(page); > > This should work for you too? Looks good to me. Otoh, if there is an easy way to fix virt_to_phys() I would like that better.