Posted: Mon Jun 26, 2006 19:35 Post subject: kernel 2.6 / XIP?
Hi, I was just curious where things stand with the kernel version in DD-WRT, as to what the current thoughts are on kernel 2.6. One benefit may be that as of 2.6.13 linux can do execute-in-place (XIP), that is execute code from ROM without copying it into RAM. Backgrounder here:
This would be useful for running more goodies on low-RAM/big-Flash machines. The downside is the Flash can't currently be compressed so there are tradeoffs. _________________ Formerly participating under a pseudonym to counter an unjust Sveasoft practice.
...and it's a big downside - try to determine the uncompressed size of the firmware, and you'll understand what I mean.
At the current price ratio for RAM and Flash, XIP doesn't make much sense.
Joined: 06 Jun 2006 Posts: 7492 Location: Dresden, Germany
Posted: Thu Jun 29, 2006 19:05 Post subject:
and it will not work too since the flash content is compressed _________________ "So you tried to use the computer and it started smoking? Sounds like a Mac to me.." - Louis Rossmann https://www.youtube.com/watch?v=eL_5YDRWqGE&t=60s
I suppose that was Bill's idea: to have the firmware stored uncompressed in the flash.
Not even micro would fit then... So getting a bigger flash might be a solution. Trade big problems for smaller ones
Yeah, I guess it's useful if you're stuck with a device with small memory and can add a big flash to it. Flash is more expensive than RAM these days though so it's not a particularly good design decision. But maybe it would let you run something big, say, perl, on a 32MB card in a WRT54G.
The better solution would be some kind of kernel access to compressed flash space. I imagine some enterprising soul is working on that. That's probably tricky. _________________ Formerly participating under a pseudonym to counter an unjust Sveasoft practice.
The ideal thing to do is use a file system that allows for selective compression of binaries so that certain things can be executed XIP. AxFS even allows for XIP of certain pages of an executable (on systems with an MMU), leaving the rest able to be compressed.
XIP is something I'm working with on my WL-530g firmware.