> OK right... one problem is that we need an address for the kernel to > manipulate the memory with, but we also need a pfn to insert into user > page tables. So I like your last suggestion, but I think we always > need both address and pfn. Right I forgot about the xip_file_read() path. I like to use UML kernels with the file-to-iomem interface for testing. I forget how UML kernels deal with physical address like this. I remember there are some caveats. I'll look into it. But I think I can do for UML: *kaddr = (void *)(start_virt_addr + offset); *pfn = virt_to_phys(*kaddr) >> PAGE_SHIFT; And the ARM + MTD I can do: *kaddr = (void *)(start_virt_addr + offset); *pfn = (start_phys_addr + offset) >> PAGE_SHIFT; > This should work for you too? I think so. But like Carsten I'd prefer a virtual only solution. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html