summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2009-06-18 20:42:37 +0000
committerthompsa <thompsa@FreeBSD.org>2009-06-18 20:42:37 +0000
commitf3a1b951fc132d7220b5d5bdb2890f68143a229f (patch)
treefcb8769e53ae7f9a45ff483fe9ee1aa93674e156 /sys/vm
parent32a3828c705bbe3ff21c3fd2241f6cf76f1e441f (diff)
downloadFreeBSD-src-f3a1b951fc132d7220b5d5bdb2890f68143a229f.zip
FreeBSD-src-f3a1b951fc132d7220b5d5bdb2890f68143a229f.tar.gz
Track the kernel mapping of a physical page by a new entry in vm_page
structure. When the page is shared, the kernel mapping becomes a special type of managed page to force the cache off the page mappings. This is needed to avoid stale entries on all ARM VIVT caches, and VIPT caches with cache color issue. Submitted by: Mark Tinguely Reviewed by: alc Tested by: Grzegorz Bernacki, thompsa
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_phys.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c
index 9c140a5..b6d1cb3 100644
--- a/sys/vm/vm_phys.c
+++ b/sys/vm/vm_phys.c
@@ -382,8 +382,7 @@ vm_phys_paddr_to_vm_page(vm_paddr_t pa)
if (pa >= seg->start && pa < seg->end)
return (&seg->first_page[atop(pa - seg->start)]);
}
- panic("vm_phys_paddr_to_vm_page: paddr %#jx is not in any segment",
- (uintmax_t)pa);
+ return (NULL);
}
/*
OpenPOWER on IntegriCloud