24 Mar, 2009

2 commits

  • Fix the configuration of the RomFS to make sure that at least one
    backing store method is always selected. This is done by rendering it
    down to a choice item that selects between Block, MTD and both.

    This also works correctly in the case that CONFIG_MTD=m: MTD cannot be
    selected as a backing store unless CONFIG_ROMFS_FS is also 'm'.

    Signed-off-by: David Howells
    Signed-off-by: David Woodhouse

    David Howells
     
  • Change RomFS so that it can use MTD devices directly - without the intercession
    of the block layer - as well as using block devices.

    This permits RomFS:

    (1) to use the MTD direct mapping facility available under NOMMU conditions if
    the underlying device is directly accessible by the CPU (including XIP);

    (2) and thus to be used when the block layer is disabled.

    RomFS can be configured with support just for MTD devices, just for Block
    devices or for both. If RomFS is configured for both, then it will treat
    mtdblock device files as MTD backing stores, not block layer backing stores.

    I tested this using a CONFIG_MMU=n CONFIG_BLOCK=n kernel running on my FRV
    board with a RomFS image installed on the mtdram test device. I see my test
    program being run XIP:

    # cat /proc/maps
    ...
    c0c000b0-c0c01f8c r-xs 00000000 1f:00 144 /mnt/doshm
    ...

    GDB on the kernel can be used to show that these addresses are within the
    set-aside RAM space.

    Signed-off-by: David Howells
    Tested-by: Bernd Schmidt
    Signed-off-by: David Woodhouse

    David Howells
     

22 Jan, 2009

1 commit