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

Reply via email to