diff options
author | marius <marius@FreeBSD.org> | 2014-07-29 13:11:37 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2014-07-29 13:11:37 +0000 |
commit | 6b4298527d55226bf6febb71c888550139ce4dff (patch) | |
tree | 178b60b7b66d4e451ae47b1294783c93065004cf /lib/libc/stdlib/getenv.c | |
parent | 4f9788cb2bd99ba0a75abe864f5b4a455ae18f16 (diff) | |
download | FreeBSD-src-6b4298527d55226bf6febb71c888550139ce4dff.zip FreeBSD-src-6b4298527d55226bf6febb71c888550139ce4dff.tar.gz |
MFC: r269051
Copying pages via temporary mappings in the !DMAP case of pmap_copy_pages()
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 (see also
r269050, MFCed to stable/10 in r269235).
For the amd64 PMAP code, the order of instructions was already correct. The
above fact still is worth documenting, though.
1: http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/24593_APM_v21.pdf
Reviewed by: alc
Sponsored by: Bally Wulff Games & Entertainment GmbH
Diffstat (limited to 'lib/libc/stdlib/getenv.c')
0 files changed, 0 insertions, 0 deletions