Intel sez: Synchronous Flash and XIP is the future -- thoughts?
mschulz at rose.man.poznan.pl
Mon Dec 16 06:04:50 EST 2002
On Mon, 16 Dec 2002, Wolfgang Denk wrote:
> > With the chips available today and in the near future, XIP, at least for a
> > writable flash chip, makes virtually zero sense on Linux. Anyone who tries
> > to tell you otherwise is either on crack, trying to sell you something, or
> > both.
> Also you might find problems running recent (and future) kernels in
> XIP mode - the kernel text segment is often not exactly read-only.
> Especially when you use one f the existing real-time extensions (but
> not only then). It seems the amount of tweaking that is necessary for
> XIP is growing with each new kernel release - to a level where it
> becomes impractical.
With the XIP in kernel it is relatively simple with 2.2.x serie of
kernels. I have managed to put most of 2.2.18 kernel onto flash, where it
was executing from. The most problems are with .rodata section, which is
not read-only for kernel. It is so because some structures (one passed to
procfs for example) are created dynamically during function call, so they
can be later found in .rodata section.
After some play with arch/i386/vmlinux.lds.S it is possible to divide the
kernel into two parts. One is really read-only one and may reside anywhere
in memory (so for example in rom or in Flash) and the other one must be
copied from rom/flash into ram.
with XIP and runable applications, it makes sence when one operates with
2.5MB of real RAM or less. but it doesn't save too much because tons of
data are in writable sections. It is possible to fix romfs driver and
implement XIP there.
Please also note, that many flash memories are unreadable during write
cycles, so it makes no sence to execute linux kernel from them and using
some parts as a writable fs, because it causes immediate lock.
More information about the linux-mtd