• Anton Vorontsov's avatar
    staging: android: persistent_ram: Make it possible to use memory outside of bootmem · 24c3d2f3
    Anton Vorontsov authored
    This includes devices' memory (e.g. framebuffers or memory mapped
    EEPROMs on a local bus), as well as the normal RAM that we don't use
    for the main memory.
    
    For the normal (but unused) ram we could use kmaps, but this assumes
    highmem support, so we don't bother and just use the memory via
    ioremap.
    
    As a side effect, the following hack is possible: when used together
    with pstore_ram (new ramoops) module, we can limit the normal RAM region
    with mem= and then point ramoops to use the rest of the memory, e.g.
    
    	mem=128M ramoops.mem_address=0x8000000
    
    Sure, we could just reserve the region with memblock_reserve() early in
    the arch/ code, and then register a pstore_ram platform device pointing
    to the reserved region. It's still a viable option if platform wants
    to do so.
    
    Also, we might want to use IO accessors in case of a real device,
    but for now we don't bother (the old ramoops wasn't using it either, so
    at least we don't make things worse).
    Signed-off-by: default avatarAnton Vorontsov <anton.vorontsov@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    24c3d2f3
persistent_ram.c 12.3 KB