diff options
author | Marcel Moolenaar <marcel@FreeBSD.org> | 2011-07-16 20:34:02 +0000 |
---|---|---|
committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2011-07-16 20:34:02 +0000 |
commit | 08f72ab5dc95696336c46d626e71f97b5097c8f1 (patch) | |
tree | 0efdbda9581aa7379cc6727c9cf9dc8dc12dccdc /contrib/wpa | |
parent | ae78a2ad864ff3ef2d5397b74bb6c64fdaa1d9bc (diff) | |
download | src-08f72ab5dc95696336c46d626e71f97b5097c8f1.tar.gz src-08f72ab5dc95696336c46d626e71f97b5097c8f1.zip |
Don't assume pmap_mapdev() gets called only for memory mapped I/O
addresses (i.e. uncacheable). ACPI in particular uses pmap_mapdev()
rather excessively (number of calls) just to get a valid KVA. To
that end, have pmap_mapdev():
1. cache the last result so that we don't waste time for multiple
consecutive invocations with the same PA/SZ.
2. find the memory descriptor that covers the PA and return NULL
if none was found or when the PA is for a common DRAM address.
3. Use either a region 6 or region 7 KVA, in accordance with the
memory attribute.
Notes
Notes:
svn path=/head/; revision=224116
Diffstat (limited to 'contrib/wpa')
0 files changed, 0 insertions, 0 deletions