summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/mmu_oea.c10
-rw-r--r--sys/powerpc/powerpc/mmu_oea.c10
-rw-r--r--sys/powerpc/powerpc/pmap.c10
3 files changed, 30 insertions, 0 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c
index 2f01fb5..2888ff2 100644
--- a/sys/powerpc/aim/mmu_oea.c
+++ b/sys/powerpc/aim/mmu_oea.c
@@ -1222,7 +1222,17 @@ pmap_kextract(vm_offset_t va)
{
struct pvo_entry *pvo;
+#ifdef UMA_MD_SMALL_ALLOC
+ /*
+ * Allow direct mappings
+ */
+ if (va < VM_MIN_KERNEL_ADDRESS) {
+ return (va);
+ }
+#endif
+
pvo = pmap_pvo_find_va(kernel_pmap, va & ~ADDR_POFF, NULL);
+ KASSERT(pvo != NULL, ("pmap_kextract: no addr found"));
if (pvo == NULL) {
return (0);
}
diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c
index 2f01fb5..2888ff2 100644
--- a/sys/powerpc/powerpc/mmu_oea.c
+++ b/sys/powerpc/powerpc/mmu_oea.c
@@ -1222,7 +1222,17 @@ pmap_kextract(vm_offset_t va)
{
struct pvo_entry *pvo;
+#ifdef UMA_MD_SMALL_ALLOC
+ /*
+ * Allow direct mappings
+ */
+ if (va < VM_MIN_KERNEL_ADDRESS) {
+ return (va);
+ }
+#endif
+
pvo = pmap_pvo_find_va(kernel_pmap, va & ~ADDR_POFF, NULL);
+ KASSERT(pvo != NULL, ("pmap_kextract: no addr found"));
if (pvo == NULL) {
return (0);
}
diff --git a/sys/powerpc/powerpc/pmap.c b/sys/powerpc/powerpc/pmap.c
index 2f01fb5..2888ff2 100644
--- a/sys/powerpc/powerpc/pmap.c
+++ b/sys/powerpc/powerpc/pmap.c
@@ -1222,7 +1222,17 @@ pmap_kextract(vm_offset_t va)
{
struct pvo_entry *pvo;
+#ifdef UMA_MD_SMALL_ALLOC
+ /*
+ * Allow direct mappings
+ */
+ if (va < VM_MIN_KERNEL_ADDRESS) {
+ return (va);
+ }
+#endif
+
pvo = pmap_pvo_find_va(kernel_pmap, va & ~ADDR_POFF, NULL);
+ KASSERT(pvo != NULL, ("pmap_kextract: no addr found"));
if (pvo == NULL) {
return (0);
}
OpenPOWER on IntegriCloud