summaryrefslogtreecommitdiffstats
path: root/sys/pc98/conf
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-05-17 19:32:48 +0000
committeralc <alc@FreeBSD.org>2008-05-17 19:32:48 +0000
commit0a1d595c3a05b5075ea4d4a2115dbc2de57709fb (patch)
tree6129febfd8b026270e8f7f75287619a66831ca1b /sys/pc98/conf
parent1e4c5769ebffc1aa3236011daf53b8ec6e91ff31 (diff)
downloadFreeBSD-src-0a1d595c3a05b5075ea4d4a2115dbc2de57709fb.zip
FreeBSD-src-0a1d595c3a05b5075ea4d4a2115dbc2de57709fb.tar.gz
In order to map device memory using superpages, mmap(2) must find a
superpage-aligned virtual address for the mapping. Revision 1.65 implemented an overly simplistic and generally ineffectual method for finding a superpage-aligned virtual address. Specifically, it rounds the virtual address corresponding to the end of the data segment up to the next superpage-aligned virtual address. If this virtual address is unallocated, then the device will be mapped using superpages. Unfortunately, in modern times, where applications like the X server dynamically load much of their code, this virtual address is already allocated. In such cases, mmap(2) simply uses the first available virtual address, which is not necessarily superpage aligned. This revision changes mmap(2) to use a more robust method, specifically, the VMFS_ALIGNED_SPACE option that is now implemented by vm_map_find().
Diffstat (limited to 'sys/pc98/conf')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud