Module Name: src
Committed By: matt
Date: Tue Dec 27 16:26:25 UTC 2011
Modified Files:
src/lib/libkvm [matt-nb5-mips64]: kvm_mips.c
Log Message:
Deal with non fixed page size on MIPS.
To generate a diff of this commit:
cvs rdiff -u -r1.18.16.2 -r1.18.16.3 src/lib/libkvm/kvm_mips.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libkvm/kvm_mips.c
diff -u src/lib/libkvm/kvm_mips.c:1.18.16.2 src/lib/libkvm/kvm_mips.c:1.18.16.3
--- src/lib/libkvm/kvm_mips.c:1.18.16.2 Tue Dec 27 06:58:58 2011
+++ src/lib/libkvm/kvm_mips.c Tue Dec 27 16:26:25 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_mips.c,v 1.18.16.2 2011/12/27 06:58:58 matt Exp $ */
+/* $NetBSD: kvm_mips.c,v 1.18.16.3 2011/12/27 16:26:25 matt Exp $ */
/*
* Copyright (c) 1994, 1995 Carnegie-Mellon University.
@@ -34,7 +34,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: kvm_mips.c,v 1.18.16.2 2011/12/27 06:58:58 matt Exp $");
+__RCSID("$NetBSD: kvm_mips.c,v 1.18.16.3 2011/12/27 16:26:25 matt Exp $");
#endif /* LIBC_SCCS and not lint */
/*
@@ -46,6 +46,7 @@ __RCSID("$NetBSD: kvm_mips.c,v 1.18.16.2
#include <sys/proc.h>
#include <sys/stat.h>
#include <sys/kcore.h>
+#include <sys/bitops.h>
#include <machine/kcore.h>
#include <stdlib.h>
#include <unistd.h>
@@ -87,13 +88,14 @@ _kvm_initvtop(kd)
* Translate a kernel virtual address to a physical address.
*/
int
-_kvm_kvatop(kd, va, pa)
+_kvm_kvatop(kd, uva, pa)
kvm_t *kd;
- u_long va;
+ u_long uva;
u_long *pa;
{
cpu_kcore_hdr_t *cpu_kh;
- u_int page_off;
+ u_long page_off;
+ long va = uva;
u_int pte;
u_long pte_pa;
u_long pfn;
@@ -263,6 +265,7 @@ int
_kvm_mdopen(kd)
kvm_t *kd;
{
+#define PAGE_SHIFT ilog2(kd->nbpg) /* for _LP64 VM_MAXUSER_ADDRESS */
kd->usrstack = USRSTACK;
kd->min_uva = VM_MIN_ADDRESS;