freebsd-dev/sys/arm
Rafal Jaworowski 530a5fb294 Improve checking whether an ARM VA has a valid mapping before performing cache
sync.

VIPT/PIPT caches need valid VA-PA mapping in PTE for a cache operation to
succeed (unlike VIVT). Prior to this fix pmap was using l2pte_valid() for that
check, but this is not sufficient as the function merely checks if a PTE
exists (there can be existing but _invalid_ entries in the table).

A new pmap_has_valid_mapping() routine is introduced to do this job right by
checking proper PTE flags.

Among other potential problems this cures coherency issues with L2 caches on
MV-78100.

Submitted by:	Grzegorz Bernacki, Piotr Ziecik
Reviewed, tested by:	marcel
Obtained from:	Semihalf
MFC after:	1 week
2010-02-07 20:48:57 +00:00
..
arm Improve checking whether an ARM VA has a valid mapping before performing cache 2010-02-07 20:48:57 +00:00
at91
compile
conf Move the examples for the 'hints' and 'env' keywords from various GENERIC 2010-01-19 17:20:34 +00:00
econa Add support for Cavium Econa CNS11XX ARM boards. These boards were 2010-01-04 03:35:45 +00:00
include Add support for Cavium Econa CNS11XX ARM boards. These boards were 2010-01-04 03:35:45 +00:00
mv Fix the build. 2009-12-08 21:42:04 +00:00
sa11x0
xscale Intel XScale hwpmc(4) support. 2009-12-23 23:16:54 +00:00