MFC: r269050 (partial)
Copying and zeroing pages via temporary mappings involves updating the
corresponding page tables followed by accesses to the pages in question.
This sequence is subject to the situation exactly described in the "AMD64
Architecture Programmer's Manual Volume 2: System Programming" rev. 3.23,
"7.3.1 Special Coherency Considerations" [1, p. 171 f.]. Therefore, issuing
the INVLPG right after modifying the PTE bits is crucial.
For pmap_copy_page(), this has been broken in r124956.
1: http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/24593_APM_v21.pdf
Reviewed by: alc, kib
Sponsored by: Bally Wulff Games & Entertainment GmbH
git-svn-id: svn://svn.freebsd.org/base/stable/8@269237
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f