• Nicolas Pitre's avatar
    cramfs: implement uncompressed and arbitrary data block positioning · fd4f6f2a
    Nicolas Pitre authored
    Two new capabilities are introduced here:
    - The ability to store some blocks uncompressed.
    - The ability to locate blocks anywhere.
    Those capabilities can be used independently, but the combination
    opens the possibility for execute-in-place (XIP) of program text segments
    that must remain uncompressed, and in the MMU case, must have a specific
    alignment.  It is even possible to still have the writable data segments
    from the same file compressed as they have to be copied into RAM anyway.
    This is achieved by giving special meanings to some unused block pointer
    bits while remaining compatible with legacy cramfs images.
    Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
    Tested-by: default avatarChris Brandt <chris.brandt@renesas.com>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>