Date: Sun, 7 Feb 2010 20:48:57 +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: <201002072049.o17Kn7L1089350@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
raj 2010-02-07 20:48:57 UTC
FreeBSD src repository
Modified files:
sys/arm/arm pmap.c
Log:
SVN rev 203637 on 2010-02-07 20:48:57Z by raj
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
Revision Changes Path
1.117 +43 -75 src/sys/arm/arm/pmap.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002072049.o17Kn7L1089350>
