slram on mapped ram areas

Brian Norris computersforpeace at gmail.com
Mon Oct 20 17:05:56 PDT 2014


On Thu, Oct 9, 2014 at 9:17 AM,  <dwalker at fifo99.com> wrote:
> Hi,
>
> It seems that slram was made for access parts of memory not used by the system,
> or not mapped (right terminology?). I wanted to use it on memory which is mapped
> or memory that can be used by the system. The problem I have is that the system I
> work on places a filesystem image in memory someplace, and send the physical address
> and size of the area as boot parameters. The memory where the images ends up is not
> special memory.

I honestly don't know much about the slram.c driver. I doubt it has
many serious users these days.

It also seems like you're really trying to use this driver in a way it
was not designed. Do you really need to access specific kernel memory?
Or do you just want a RAM-backed MTD? There are other drivers for this
already (mtdram?).

> I made the following changes to your driver (somewhat condensed),
>
> 1) Added memblock_reserve() on the memory region
> 2) Added an insert_resource() call to the memory
> 3) Altered the driver to not use ioremap, instead use __va() conditionally.

I see this comment next to the __va() definition for ARM:

/*
 * Drivers should NOT use these either.
 */

> This worked. I was able to access the memory via the typical mtd
> userspace interface.
>
> So is this something acceptable to add to the slram driver?
>
> Should it go someplace else?
>
> Does the functionality to do this exists someplace already ?
>
> I just wanted to send out feelers before I send any patches..

Brian



More information about the linux-mtd mailing list