freebsd-dev/sys/ia64
Konstantin Belousov e8a4a618cf Add pmap function pmap_copy_pages(), which copies the content of the
pages around, taking array of vm_page_t both for source and
destination.  Starting offsets and total transfer size are specified.

The function implements optimal algorithm for copying using the
platform-specific optimizations.  For instance, on the architectures
were the direct map is available, no transient mappings are created,
for i386 the per-cpu ephemeral page frame is used.  The code was
typically borrowed from the pmap_copy_page() for the same
architecture.

Only i386/amd64, powerpc aim and arm/arm-v6 implementations were
tested at the time of commit. High-level code, not committed yet to
the tree, ensures that the use of the function is only allowed after
explicit enablement.

For sparc64, the existing code has known issues and a stab is added
instead, to allow the kernel linking.

Sponsored by:	The FreeBSD Foundation
Tested by:	pho (i386, amd64), scottl (amd64), ian (arm and arm-v6)
MFC after:	2 weeks
2013-03-14 20:18:12 +00:00
..
acpica Improve style(9) in the previous commit. 2012-06-01 17:07:52 +00:00
compile
conf Enable PREEMPTION by default now that PR 147501 has been fixed. 2013-02-23 19:27:53 +00:00
disasm Fix disassembly of the invala, itc, itr and hint instructions 2007-10-16 02:49:40 +00:00
ia32 userret() already checks for td_locks when INVARIANTS is enabled, so 2012-09-08 18:27:11 +00:00
ia64 Add pmap function pmap_copy_pages(), which copies the content of the 2013-03-14 20:18:12 +00:00
include kernacc() expects all KVAs to be covered in the kernel map. With the 2013-02-25 02:41:38 +00:00
isa Retire isa_setup_intr() and isa_teardown_intr() and use the generic bus 2011-05-06 13:48:53 +00:00
pci Snapshot: PCI busses are discovered, though no devices are enumerable 2010-04-17 02:28:28 +00:00