Date: Wed, 22 Jul 2009 14:32:38 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/amd64/amd64 initcpu.c pmap.c src/sys/amd64/include cpufunc.h md_var.h Message-ID: <200907221432.n6MEWnPJ038477@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2009-07-22 14:32:38 UTC FreeBSD src repository Modified files: sys/amd64/amd64 initcpu.c pmap.c sys/amd64/include cpufunc.h md_var.h Log: SVN rev 195820 on 2009-07-22 14:32:38Z by kib When the page caching attributes are changed, after new mapping is established, OS shall flush the caches on all processors that may have used the mapping previously. This operation is not needed if processors support self-snooping. If not, but clflush instruction is implemented on the CPU, series of the clflush can be used on the mapping region. Otherwise, we have to flush the whole cache. The later operation is very expensive, and AMD-made CPUs do not have self-snooping. Implement cache flush for remapped region by using clflush for amd64, when supported by CPU. Proposed and reviewed by: alc Approved by: re (kensmith) Revision Changes Path 1.54 +9 -0 src/sys/amd64/amd64/initcpu.c 1.666 +42 -14 src/sys/amd64/amd64/pmap.c 1.154 +14 -0 src/sys/amd64/include/cpufunc.h 1.86 +1 -0 src/sys/amd64/include/md_var.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907221432.n6MEWnPJ038477>