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;