freebsd-nq/sys/mips
Jason A. Harmening 713841afb2 Add two new pmap functions:
vm_offset_t pmap_quick_enter_page(vm_page_t m)
void pmap_quick_remove_page(vm_offset_t kva)

These will create and destroy a temporary, CPU-local KVA mapping of a specified page.

Guarantees:
--Will not sleep and will not fail.
--Safe to call under a non-sleepable lock or from an ithread

Restrictions:
--Not guaranteed to be safe to call from an interrupt filter or under a spin mutex on all platforms
--Current implementation does not guarantee more than one page of mapping space across all platforms. MI code should not make nested calls to pmap_quick_enter_page.
--MI code should not perform locking while holding onto a mapping created by pmap_quick_enter_page

The idea is to use this in busdma, for bounce buffer copies as well as virtually-indexed cache maintenance on mips and arm.

NOTE: the non-i386, non-amd64 implementations of these functions still need review and testing.

Reviewed by:	kib
Approved by:	kib (mentor)
Differential Revision:	http://reviews.freebsd.org/D3013
2015-08-04 19:46:13 +00:00
..
adm5120 Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
alchemy
atheros Populate hw.model with the CPU model information. 2015-07-14 05:14:10 +00:00
beri Provide the number of interrupt resources added to the list 2015-05-15 13:55:18 +00:00
cavium Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
conf Make Broadcom XLR use shared ds1374 RTC driver. 2015-07-29 15:32:59 +00:00
gxemul
idt
include Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
malta
mips Add two new pmap functions: 2015-08-04 19:46:13 +00:00
nlm CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
rmi Make Broadcom XLR use shared ds1374 RTC driver. 2015-07-29 15:32:59 +00:00
rt305x Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00
sentry5
sibyte