freebsd-dev/sys/arm
Rafal Jaworowski 5289eda203 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
2008-10-13 18:42:25 +00:00
..
arm Do not use cached page for temporary mapping in pmap_zero_page_generic() 2008-10-13 18:42:25 +00:00
at91 Use bus_get_dma_tag() instead of NULL here. Not really needed for atmel 2008-10-07 17:23:16 +00:00
compile
conf Commit the no-brainer parts of my space saving kernel experiments. We 2008-09-08 00:41:32 +00:00
include Introduce low-level support for new Marvell core CPUs: 88FR131, 88FR571. 2008-10-13 18:16:54 +00:00
sa11x0 Now that all platforms use genclock, shuffle things around slightly 2008-04-22 19:38:30 +00:00
xscale Allow static hints to override kenv. 2008-10-02 22:31:30 +00:00