freebsd-dev/sys/arm64
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
..
acpica Add ARM64TODO comments to ACPI PCI stubs 2015-07-12 18:32:16 +00:00
arm64 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
conf Apply erratum for mrs ICC_IAR1_EL1 speculative execution on ThunderX 2015-07-31 10:00:45 +00:00
include Pass the pcb to store the vfp state in to vfp_save_state. This fixes a bug 2015-08-03 11:05:02 +00:00