diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-02-17 19:08:59 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-02-17 19:08:59 +0000 |
commit | efa98cef36beda1ea6a17e65861c7f7909774ae7 (patch) | |
tree | e48f19ef7254ec3eee32d021b6c400f3af0a5130 /sys | |
parent | ee2ab0dcf3c00266b599ebffa91918836e2083dd (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.c | 10 |
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)) { |