Re: [PATCH 2.6.21] cramfs: add cramfs Linear XIP



On Thu, 7 June 2007 22:15:19 +0100, Christoph Hellwig wrote:

With the filemap_xip.c helpers adding xip support to any filesystem
is pretty trivial for the highlevel filesystem operations. The only
interesting bit is the lowlevel code (the get_xip_page method and
the others Carsten mentioned), but we need to do these lowlevel
code in a generic and proper way anyway.

I'll try to hack up an xip prototype for jffs2 next week.

I'd absolutely love to see this code! However, it may be a little
harder than you think.

XIP is basically limited to NOR flash. And the NOR interface is to
simply map all flash to some physical memory area and interpret
reads/writes to/from this area in a special way. Internally the flash
chip is implementing a state machine that is controlled by writes and
defines the data read.

Easiest case: read_array state. In this state, every address will
return the flash content associated to that address on read. Pretty
much any write will cause a transition to a different state, though.
Any state other than read_array will return flash registers on any read.

In other words, writing to flash prohibits XIP, at least temporarily. A
read-write xip flash filesystem needs to tear down any xip mapping
before writing and have the flash chip return to read_array mode before
setting up a new mapping.

If the underlying device consists of several chips or of chips that
implement seperate state machines for different areas of the chip (some
Intel chips), only mappings belonging to the chip/area currently being
written are affected. That should make quite a nice optimizations,
although it can be ignored for a first shot.

Jörn

--
Joern's library part 12:
http://physics.nist.gov/cuu/Units/binary.html
-
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/



Relevant Pages

  • Re: How to upgrade flash memory under the control of WinCE?
    ... IPSM can write to the same chip that the OS normally XIPs out of. ... ensure there are no interrupts or exceptions that vector back into flash. ... > chip that is not marked as XIP. ...
    (microsoft.public.windowsce.platbuilder)
  • [RFC] Advanced XIP File System
    ... I will be submitting a new filesystem for inclusion into the kernel as ... AXFS for Advanced XIP File System. ... Uses addressable memory such as NOR flash instead of a block device ... expensive slow flash instead of cheap fast RAM?" ...
    (Linux-Kernel)
  • Re: msflash (fal) library in XIP mode on WindowsCE 5.0?
    ... My FMD in based on the code from the mainstoneIII BSP. ... With this driver I don't get BINFS working. ... correctly notify the FAL that the driver should be in XIP mode. ... By the way we are using NOR flash. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: What File System supports Application XIP
    ... > You won't gain at runtime by using XIP though. ... I thought that when you XIPed from flash, ... directly back to the flash memory address. ... There shouldn't be a RAM ...
    (Linux-Kernel)
  • Re: [patch] ext2: xip check fix
    ... You mean blocksize is the size of the ext2 block, ... tester tried a 4k filesystem on a 2k blockdev. ... does matter for XIP, then I think you need some other check here. ...
    (Linux-Kernel)