freebsd-dev/sys/arm
Rafal Jaworowski a911d19dfe MFC r203637:
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
2010-02-15 15:00:40 +00:00
..
arm MFC r203637: 2010-02-15 15:00:40 +00:00
at91 - Merge r196246: 2009-08-15 15:18:29 +00:00
compile
conf Revert 201158. DEFAULTS isn't for this kind of thing.a 2010-01-04 21:33:10 +00:00
include MFC r197316 2009-10-31 18:54:26 +00:00
mv MFC r200171, r200182, r200275, r200295, r200359: 2009-12-12 10:37:31 +00:00
sa11x0 Map DPCPU pages into ARM kernel VA space. 2009-07-01 20:07:44 +00:00
xscale Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ 2009-06-26 11:45:06 +00:00