Module Name: src Committed By: thorpej Date: Sun Dec 31 21:59:24 UTC 2023
Modified Files: src/sys/arch/m68k/include: pmap_motorola.h src/sys/arch/m68k/m68k: pmap_motorola.c vm_machdep.c Log Message: Provide a vtophys() function like other platforms do, and implement kvtop() (which will be g/c'd shortly) in terms of it. To generate a diff of this commit: cvs rdiff -u -r1.42 -r1.43 src/sys/arch/m68k/include/pmap_motorola.h cvs rdiff -u -r1.84 -r1.85 src/sys/arch/m68k/m68k/pmap_motorola.c cvs rdiff -u -r1.41 -r1.42 src/sys/arch/m68k/m68k/vm_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/m68k/include/pmap_motorola.h diff -u src/sys/arch/m68k/include/pmap_motorola.h:1.42 src/sys/arch/m68k/include/pmap_motorola.h:1.43 --- src/sys/arch/m68k/include/pmap_motorola.h:1.42 Wed Dec 27 03:03:41 2023 +++ src/sys/arch/m68k/include/pmap_motorola.h Sun Dec 31 21:59:24 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_motorola.h,v 1.42 2023/12/27 03:03:41 thorpej Exp $ */ +/* $NetBSD: pmap_motorola.h,v 1.43 2023/12/31 21:59:24 thorpej Exp $ */ /* * Copyright (c) 1991, 1993 @@ -254,4 +254,6 @@ void _pmap_set_page_cacheable(struct pma void _pmap_set_page_cacheinhibit(struct pmap *, vaddr_t); int _pmap_page_is_cacheable(struct pmap *, vaddr_t); +paddr_t vtophys(vaddr_t va); + #endif /* !_M68K_PMAP_MOTOROLA_H_ */ Index: src/sys/arch/m68k/m68k/pmap_motorola.c diff -u src/sys/arch/m68k/m68k/pmap_motorola.c:1.84 src/sys/arch/m68k/m68k/pmap_motorola.c:1.85 --- src/sys/arch/m68k/m68k/pmap_motorola.c:1.84 Thu Dec 28 15:33:12 2023 +++ src/sys/arch/m68k/m68k/pmap_motorola.c Sun Dec 31 21:59:24 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_motorola.c,v 1.84 2023/12/28 15:33:12 thorpej Exp $ */ +/* $NetBSD: pmap_motorola.c,v 1.85 2023/12/31 21:59:24 thorpej Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -119,7 +119,7 @@ #include "opt_m68k_arch.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.84 2023/12/28 15:33:12 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.85 2023/12/31 21:59:24 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1593,6 +1593,22 @@ pmap_extract(pmap_t pmap, vaddr_t va, pa } /* + * vtophys: [ INTERFACE-ish ] + * + * Kernel virtual to physical. Use with caution. + */ +paddr_t +vtophys(vaddr_t va) +{ + paddr_t pa; + + if (pmap_extract(pmap_kernel(), va, &pa)) + return pa; + KASSERT(0); + return (paddr_t) -1; +} + +/* * pmap_copy: [ INTERFACE ] * * Copy the mapping range specified by src_addr/len Index: src/sys/arch/m68k/m68k/vm_machdep.c diff -u src/sys/arch/m68k/m68k/vm_machdep.c:1.41 src/sys/arch/m68k/m68k/vm_machdep.c:1.42 --- src/sys/arch/m68k/m68k/vm_machdep.c:1.41 Wed Dec 20 00:40:43 2023 +++ src/sys/arch/m68k/m68k/vm_machdep.c Sun Dec 31 21:59:24 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: vm_machdep.c,v 1.41 2023/12/20 00:40:43 thorpej Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.42 2023/12/31 21:59:24 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.41 2023/12/20 00:40:43 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.42 2023/12/31 21:59:24 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -252,11 +252,7 @@ physunaccess(void *vaddr, int size) int kvtop(void *addr) { - paddr_t pa; - - if (pmap_extract(pmap_kernel(), (vaddr_t)addr, &pa) == false) - panic("kvtop: zero page frame"); - return (int)pa; + return (int)vtophys((vaddr_t)addr); } #endif