get_xip_page() uncertainity

From: Jared Hulbert
Date: Thu Jun 07 2007 - 20:50:25 EST


I am trying to create valid "struct page* (*get_xip_page)(struct
address_space *, sector_t, int)" to use the filemap_xip.c.

I've been trying to do it as follows:

virtual = ioremap(physical,size);

struct page* my_get_xip_page(struct address_space *mapping, sector_t
sector, int create)
{
unsigned long offset;
/*extract offset from mapping and sector*/
return virt_to_page(virtual + offset);
}

I believe this to be fundamentally flawed. While this works for
xip_file_read(), it does not work for xip_file_mmap(). I'm not sure I
understand the correct way to do this. But I assume the problem, and
have some evidence to support it, is that virt_to_page() is not
returning a vaild page struct.

How can I get a valid page struct? The memory is not RAM but Flash.
It is addressable like RAM and I want userspace to use it like
readonly RAM.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/