cramfs: direct memory access support
authorNicolas Pitre <nicolas.pitre@linaro.org>
Fri, 13 Oct 2017 20:09:23 +0000 (16:09 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 15 Oct 2017 04:47:21 +0000 (00:47 -0400)
commit99c18ce580c6cc6763e694b4ce320d7b226ab59b
tree4e717d01235265c06eb27b64d6b3618590dbc009
parent8a5776a5f49812d29fe4b2d0a2d71675c3facf3f
cramfs: direct memory access support

Small embedded systems typically execute the kernel code in place (XIP)
directly from flash to save on precious RAM usage. This patch adds to
cramfs the ability to consume filesystem data directly from flash as
well. Cramfs is particularly well suited to this feature as it is very
simple with low RAM usage, and with this feature it is possible to use
it with no block device support and consequently even lower RAM usage.

This patch was inspired by a similar patch from Shane Nay dated 17 years
ago that used to be very popular in embedded circles but never made it
into mainline. This is a cleaned-up implementation that uses far fewer
ifdef's and gets the actual memory location for the filesystem image
via MTD at run time. In the context of small IoT deployments, this
functionality has become relevant and useful again.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/cramfs/Kconfig
fs/cramfs/inode.c