disable MPE flag (=> using L2 cache) for readonly regions

This commit is contained in:
Stefan Lankes 2011-08-29 01:49:19 -07:00
parent cdba322d9b
commit a8cfbf3e93

View file

@ -413,10 +413,19 @@ int change_page_permissions(size_t start, size_t end, uint32_t flags)
newflags &= ~PG_PRESENT;
// update flags
if (!(flags & VMA_WRITE))
if (!(flags & VMA_WRITE)) {
newflags &= ~PG_RW;
else
#ifdef CONFIG_ROCKCREEK
if (newflags & (PG_SVM_STRONG|PG_SVM_LAZYRELEASE))
newflags &= ~PG_MPE;
#endif
} else {
newflags |= PG_RW;
#ifdef CONFIG_ROCKCREEK
if (newflags & (PG_SVM_STRONG|PG_SVM_LAZYRELEASE))
newflags |= PG_MPE;
#endif
}
pgt->entries[index2] = (newflags & 0xFFF) | (phyaddr & 0xFFFFF000);