aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_phys.c
diff options
context:
space:
mode:
authorAndrew Thompson <thompsa@FreeBSD.org>2009-06-18 20:42:37 +0000
committerAndrew Thompson <thompsa@FreeBSD.org>2009-06-18 20:42:37 +0000
commitf06a3a36acaaf0eed2c9c9ae46ea8ae8b1b2b8f0 (patch)
treefcb8769e53ae7f9a45ff483fe9ee1aa93674e156 /sys/vm/vm_phys.c
parentc45c00344f46bea16a17804f66bab64afec6752c (diff)
downloadsrc-f06a3a36acaaf0eed2c9c9ae46ea8ae8b1b2b8f0.tar.gz
src-f06a3a36acaaf0eed2c9c9ae46ea8ae8b1b2b8f0.zip
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
Notes
Notes: svn path=/head/; revision=194459
Diffstat (limited to 'sys/vm/vm_phys.c')
-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 9c140a59c433..b6d1cb3e1e49 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);
}
/*