1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/amd64
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 Consistently use round_page(x) rather than roundup(x, PAGE_SIZE). There is 2013-02-15 22:43:08 +00:00
amd64 Add pmap function pmap_copy_pages(), which copies the content of the 2013-03-14 20:18:12 +00:00
compile
conf Remove the virtio dependency entry for the VirtIO device drivers. This 2013-03-06 07:17:53 +00:00
ia32 Real hardware, as opposed to QEMU, does not allow to have a call gate 2012-08-14 12:13:27 +00:00
include Merge from vmc-playground branch: 2013-03-02 14:19:08 +00:00
linux32 Reduce duplication between i386/linux/linux.h and amd64/linux32/linux.h 2013-01-29 18:41:30 +00:00
pci Remove duplicate code. Reduce diff between amd64 and i386. 2012-12-01 00:56:19 +00:00
vmm Requests for invalid CPUID leaves should map to the highest known leaf instead. 2013-02-13 23:22:17 +00:00
Makefile