freebsd-dev/sys/powerpc/aim
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
..
aim_machdep.c Unify booke and AIM machdep. 2015-04-30 01:24:25 +00:00
locore32.S Make 32-bit PowerPC kernels, like 64-bit PowerPC kernels, position-independent 2015-03-07 20:14:46 +00:00
locore64.S Make sure to relocate tmpstk with everything else and avoid processing 2015-01-21 19:09:15 +00:00
locore.S MFppc64: 2010-07-13 05:32:19 +00:00
mmu_oea64.c Add two new pmap functions: 2015-08-04 19:46:13 +00:00
mmu_oea64.h New pmap implementation for 64-bit PowerPC processors. The main focus of 2015-02-24 21:37:20 +00:00
mmu_oea.c Add two new pmap functions: 2015-08-04 19:46:13 +00:00
moea64_if.m New pmap implementation for 64-bit PowerPC processors. The main focus of 2015-02-24 21:37:20 +00:00
moea64_native.c Fix unitialized variable. 2015-02-27 20:32:09 +00:00
mp_cpudep.c On 64-bit PowerPC, use more native forms of the PPC 970 HID restore 2015-01-21 02:57:54 +00:00
slb.c Fix integer truncation bug in malloc(9) 2015-04-01 12:42:26 +00:00
trap_subr32.S Make 32-bit PowerPC kernels, like 64-bit PowerPC kernels, position-independent 2015-03-07 20:14:46 +00:00
trap_subr64.S Fix userland program exception handling for powerpc64. 2015-07-16 05:13:08 +00:00