lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070608131009.GA20718@lazybastard.org>
Date:	Fri, 8 Jun 2007 15:10:09 +0200
From:	Jörn Engel <joern@...ybastard.org>
To:	Christoph Hellwig <hch@...radead.org>,
	Jared Hulbert <jaredeh@...il.com>, carsteno@...ibm.com,
	Nick Piggin <nickpiggin@...oo.com.au>,
	Andrew Morton <akpm@...ux-foundation.org>,
	richard.griffiths@...driver.com,
	Richard Griffiths <res07ml0@...izon.net>,
	Linux-kernel@...r.kernel.org
Subject: 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ