[Uclinux-dist-devel] [PATCH 1/2] mtd: physmap: add physmap_unmapped_area() for no-mmu XIP

Mike Frysinger vapier.adi at gmail.com
Sat Aug 7 19:26:57 EDT 2010

On Wed, Aug 4, 2010 at 05:33, David Woodhouse wrote:
> On Sat, 2010-06-12 at 17:26 +0300, Artem Bityutskiy wrote:
>> On Sun, 2010-05-23 at 03:30 -0400, Mike Frysinger wrote:
>> > Currently, romfs XIP doesn't work in flash memory (the kernel crashes
>> > with a null pointer dereference).  The problem is that the mtd physmap
>> > driver isn't setting up a get_unmapped_area pointer for the mtd
>> > partitions it creates.
>> Pushed both to my l2-mtd-2.6.git / dunno.
> I'm confused by the second patch -- isn't this done in add_mtd_device()
> already, according to the device type?
> You're setting mtd_bdi_ro_mappable indiscriminately for all types of
> devices. For flash devices, that can be an issue -- if you schedule a
> userspace process while the kernel is writing to the flash, for example.
> If you want to allow XIP of writable flash devices, there's more to it
> than this.

can you can safely do XIP on writable flash devices ?  with nommu, you
certainly cant.  plus, it is only possible with certain filesystems
right ?  like ROMFS ?  and that's already r/o ...

if we delve a bit, what you're referring to is only possible i think
if this change is merged (we posted this back in Jan w/no feedback):
  mtd-physmap: add support users can assign the probe type in board files

otherwise, there's no way of declaring a physmap of a parallel nor
flash and having it end up with read-only capabilities ...

More information about the linux-mtd mailing list