freebsd-dev/sys/powerpc/booke
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
..
booke_machdep.c Unify booke and AIM machdep. 2015-04-30 01:24:25 +00:00
locore.S Implement hwpmc(4) for Freescale e500 core. 2015-04-18 21:39:17 +00:00
machdep_e500.c Interrelated improvements to early boot mappings: 2013-10-26 18:18:14 +00:00
machdep_ppc4xx.c Extract vendor specific Book-E pieces into separate files and have a common 2012-05-30 17:34:40 +00:00
mp_cpudep.c Follow up r223485, which made AIM use the ABI thread pointer instead of 2013-11-11 17:37:50 +00:00
platform_bare.c Rearchitect platform memory map parsing to make it less 2013-12-01 19:43:15 +00:00
pmap.c Add two new pmap functions: 2015-08-04 19:46:13 +00:00
trap_subr.S Merge booke and aim interrupt.c files. 2015-07-06 05:08:57 +00:00