Skip site navigation (1)Skip section navigation (2)
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>