summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/getwc.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2011-07-16 20:34:02 +0000
committermarcel <marcel@FreeBSD.org>2011-07-16 20:34:02 +0000
commit3abb8f9591c05a06c334fa139ffe1d2087c14729 (patch)
tree0efdbda9581aa7379cc6727c9cf9dc8dc12dccdc /lib/libc/stdio/getwc.c
parentc7527da8368df2fa54418c4919a8f79521a02946 (diff)
downloadFreeBSD-src-3abb8f9591c05a06c334fa139ffe1d2087c14729.zip
FreeBSD-src-3abb8f9591c05a06c334fa139ffe1d2087c14729.tar.gz
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.
Diffstat (limited to 'lib/libc/stdio/getwc.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud