From owner-cvs-src-old@FreeBSD.ORG Mon Oct 13 18:42:32 2008 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 C66E61065747 for ; Mon, 13 Oct 2008 18:42:32 +0000 (UTC) (envelope-from raj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B2BAD8FC08 for ; Mon, 13 Oct 2008 18:42:32 +0000 (UTC) (envelope-from raj@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 m9DIgWXg055246 for ; Mon, 13 Oct 2008 18:42:32 GMT (envelope-from raj@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id m9DIgWwc055245 for cvs-src-old@freebsd.org; Mon, 13 Oct 2008 18:42:32 GMT (envelope-from raj@repoman.freebsd.org) Message-Id: <200810131842.m9DIgWwc055245@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to raj@repoman.freebsd.org using -f From: Rafal Jaworowski Date: Mon, 13 Oct 2008 18:42:25 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/arm/arm pmap.c 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: Mon, 13 Oct 2008 18:42:32 -0000 raj 2008-10-13 18:42:25 UTC FreeBSD src repository Modified files: sys/arm/arm pmap.c Log: SVN rev 183836 on 2008-10-13 18:42:25Z by raj Do not use cached page for temporary mapping in pmap_zero_page_generic() The physical page which we clear is accessed via additional temp kernel mapping for the period of zeroing operation. However in systems with virtual d-cache (most ARMs) when write-allocate feature is enabled, we can have modified but unflushed content pertaining to this physical page still in the d-cache due to its primary (pre-existing) mapping. In such scenario that cached content upon flush is likely to overwrite [portions of] the physical page we want to zero here.. This is a general problem with multiple virtual mappings covering the same physical page with write-allocate and virtual d-cache: there is inherent potential for corruptions of this kind, which are not easily resolved; it is best policy that such multiple mappings be not allowed. Obtained from: Marvell, Semihalf Revision Changes Path 1.103 +8 -10 src/sys/arm/arm/pmap.c