• Thomas Chou's avatar
    Blackfin: fix framebuffer mmap bug for nommu · 59bd00c8
    Thomas Chou authored
    The patch added a special get_unmapped_area for framebuffer which
    was hooked to the file ops in drivers/video/fbmem.c.
    
    This is needed since v2.6.29-rc1 where nommu vma management was
    updated, and mmap of framebuffer caused kernel BUG panic. You may turn
    on "Debug the global anon/private NOMMU mapping region tree" config to
    such message.
    
    As Documentation/nommu-mmap.txt said,
    "To provide shareable character device support, a driver must provide
    a file->f_op->get_unmapped_area() operation. The mmap() routines will
    call this to get a proposed address for the mapping."
    
    With this change, user space should call mmap for framebuffer using
    shared map. Or it can try shared map first, then private map if
    failed. This shared map usage is now consistent between mmu and nommu.
    
    The sys_ file may not be a good place for this patch. But there is a
    similar one for sparc. I tested a similar patch on nios2nommu, though
    I don't have a blackfin board to test.
    Signed-off-by: default avatarThomas Chou <thomas@wytron.com.tw>
    Signed-off-by: default avatarGraf Yang <graf.yang@analog.com>
    Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
    Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
    59bd00c8
pgtable.h 3.06 KB