diff options
author | jhb <jhb@FreeBSD.org> | 2015-09-11 00:20:15 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2015-09-11 00:20:15 +0000 |
commit | ffc8f26a94deef53f6b86b7c5bd98591a9dd6231 (patch) | |
tree | f24564d81898be534143351cf312dfacc7169af7 /sys/dev | |
parent | 4a069f68d730aa3275ae62ae00a0be4a5e6e464b (diff) | |
download | FreeBSD-src-ffc8f26a94deef53f6b86b7c5bd98591a9dd6231.zip FreeBSD-src-ffc8f26a94deef53f6b86b7c5bd98591a9dd6231.tar.gz |
MFC 287440:
Currently the Linux character device mmap handling only supports mmap
operations that map a single page that has an associated vm_page_t.
This does not permit mapping larger regions (such as a PCI memory
BAR) and it does not permit mapping addresses beyond the top of RAM
(such as a 64-bit BAR located above the top of RAM).
Instead of using a single OBJT_DEVICE object and passing the physaddr via
the offset as a hack, create a new sglist and OBJT_SG object for each
mmap request. The requested memory attribute is applied to the object
thus affecting all pages mapped by the request.
Sponsored by: Chelsio
Diffstat (limited to 'sys/dev')
0 files changed, 0 insertions, 0 deletions