summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-02-17 19:08:59 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-02-17 19:08:59 +0000
commitefa98cef36beda1ea6a17e65861c7f7909774ae7 (patch)
treee48f19ef7254ec3eee32d021b6c400f3af0a5130 /sys
parentee2ab0dcf3c00266b599ebffa91918836e2083dd (diff)
If we __HAVE_PMAP_DIRECT, handle these mappings in pmap_extract().
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/m68k/m68k/pmap_motorola.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/arch/m68k/m68k/pmap_motorola.c b/sys/arch/m68k/m68k/pmap_motorola.c
index 8c2a7f68e14..292dfcb26f5 100644
--- a/sys/arch/m68k/m68k/pmap_motorola.c
+++ b/sys/arch/m68k/m68k/pmap_motorola.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap_motorola.c,v 1.48 2007/02/17 19:08:16 miod Exp $ */
+/* $OpenBSD: pmap_motorola.c,v 1.49 2007/02/17 19:08:58 miod Exp $ */
/*
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -1625,6 +1625,14 @@ pmap_extract(pmap, va, pap)
PMAP_DPRINTF(PDB_FOLLOW,
("pmap_extract(%p, %lx) -> ", pmap, va));
+#ifdef __HAVE_PMAP_DIRECT
+ if (pmap == pmap_kernel() && trunc_page(va) > VM_MAX_KERNEL_ADDRESS) {
+ if (pap != NULL)
+ *pap = va;
+ return (TRUE);
+ }
+#endif
+
if (pmap_ste_v(pmap, va)) {
pte = pmap_pte(pmap, va);
if (pmap_pte_v(pte)) {