From owner-cvs-src-old@FreeBSD.ORG Wed Jul 22 14:32:50 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BF0F10657B3 for ; Wed, 22 Jul 2009 14:32:50 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0823D8FC08 for ; Wed, 22 Jul 2009 14:32:50 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6MEWnFP038478 for ; Wed, 22 Jul 2009 14:32:49 GMT (envelope-from kib@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6MEWnPJ038477 for cvs-src-old@freebsd.org; Wed, 22 Jul 2009 14:32:49 GMT (envelope-from kib@repoman.freebsd.org) Message-Id: <200907221432.n6MEWnPJ038477@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kib@repoman.freebsd.org using -f From: Konstantin Belousov Date: Wed, 22 Jul 2009 14:32:38 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/amd64/amd64 initcpu.c pmap.c src/sys/amd64/include cpufunc.h md_var.h X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jul 2009 14:32:50 -0000 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