Messages in this thread |  | | | Date | Fri, 25 Sep 2009 19:05:28 +0800 | | Subject | Re: [PATCH] NOMMU: Fix MAP_PRIVATE mmap() of objects where the data can be mapped directly | | From | graff yang <> |
| |
On Fri, Sep 25, 2009 at 4:24 PM, David Howells <dhowells@redhat.com> wrote: > graff yang <graff.yang@gmail.com> wrote: > >> > + if (capabilities & BDI_CAP_MAP_DIRECT) { >> >> This will breaks many drivers, e.g. some frame-buffer drivers, on NOMMU >> system. Because they don't have get_unmapped_area(). These drivers depend >> on it's mmap() to return the frame-buffer base address. > > Then they won't work on NOMMU. Read Documentation/nommu-mmap.txt: > > ============================================ > PROVIDING SHAREABLE CHARACTER DEVICE SUPPORT > ============================================ > > 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. This may return an > error if it doesn't wish to honour the mapping because it's too long, > at a weird offset, under some unsupported combination of flags or > whatever. > > The chardev driver doesn't provide the virtual address through its mmap() fop > in MMU-mode either - that's provided by do_mmap_pgoff(). > > David > OK, I think do_mmap_pgoff() now looks nice with your patch. Merely, at least the alsa/fb driver will crash due to the vm_region changes. The alsa guys are fixing this issue: http://mailman.alsa-project.org/pipermail/alsa-devel/2009-March/015802.html
Is there any other things be affected?
-- -Graff -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |