freebsd-dev/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 Fix a typo introduced in r257338. 2013-10-31 02:27:16 +00:00
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 Add 32-bit support for Gxemul's oldtestmips machine emulation 2013-09-04 20:34:36 +00:00
idt Mechanically convert to if_inc_counter(). 2014-09-19 09:19:49 +00:00
include Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
malta Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
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 Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
sibyte Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00