Date: Mon, 13 Oct 2008 18:42:25 +0000 (UTC) From: Rafal Jaworowski <raj@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/arm/arm pmap.c Message-ID: <200810131842.m9DIgWwc055245@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810131842.m9DIgWwc055245>