Module Name: src
Committed By: jym
Date: Mon Sep 20 23:23:16 UTC 2010
Modified Files:
src/lib/libkvm: kvm.c kvm_alpha.c kvm_arm.c kvm_hppa.c kvm_i386.c
kvm_m68k.c kvm_m68k.h kvm_m68k_cmn.c kvm_mips.c kvm_powerpc.c
kvm_powerpc64.c kvm_private.h kvm_proc.c kvm_sh3.c kvm_sparc.c
kvm_sparc64.c kvm_sun2.c kvm_sun3.c kvm_sun3x.c kvm_vax.c
kvm_x86_64.c
Log Message:
Change kvm_pa2off() and kvm_kvatop() prototypes (private to kvm(3)):
-int _kvm_kvatop(kvm_t *, u_long, u_long *);
-off_t _kvm_pa2off(kvm_t *, u_long);
+int _kvm_kvatop(kvm_t *, vaddr_t, paddr_t *);
+off_t _kvm_pa2off(kvm_t *, paddr_t);
Basically, use vaddr_t for VA and paddr_t for PA. In addition, for variables
representing addresses, use paddr_t or vaddr_t, depending on the context.
For most arches, vaddr_t and paddr_t are equivalent to unsigned long. However,
the change was needed for exotic situations, like i386 PAE, were unsigned long
is not suitable for PA which are 64 bits long. As this required a complete
change of the function prototypes, all arches had to be adapted accordingly.
Core files from before this commit should still work with the new code; I did
not see any direct dependency between core's structure and kvatop/pa2off.
The change was compile tested for all arches, as it impacts all of them.
See also:
http://mail-index.netbsd.org/current-users/2010/09/07/msg014249.html
To generate a diff of this commit:
cvs rdiff -u -r1.94 -r1.95 src/lib/libkvm/kvm.c
cvs rdiff -u -r1.24 -r1.25 src/lib/libkvm/kvm_alpha.c
cvs rdiff -u -r1.5 -r1.6 src/lib/libkvm/kvm_arm.c src/lib/libkvm/kvm_hppa.c \
src/lib/libkvm/kvm_m68k.h
cvs rdiff -u -r1.27 -r1.28 src/lib/libkvm/kvm_i386.c
cvs rdiff -u -r1.17 -r1.18 src/lib/libkvm/kvm_m68k.c \
src/lib/libkvm/kvm_private.h src/lib/libkvm/kvm_vax.c
cvs rdiff -u -r1.14 -r1.15 src/lib/libkvm/kvm_m68k_cmn.c \
src/lib/libkvm/kvm_sparc64.c
cvs rdiff -u -r1.19 -r1.20 src/lib/libkvm/kvm_mips.c
cvs rdiff -u -r1.11 -r1.12 src/lib/libkvm/kvm_powerpc.c
cvs rdiff -u -r1.3 -r1.4 src/lib/libkvm/kvm_powerpc64.c
cvs rdiff -u -r1.85 -r1.86 src/lib/libkvm/kvm_proc.c
cvs rdiff -u -r1.7 -r1.8 src/lib/libkvm/kvm_sh3.c src/lib/libkvm/kvm_x86_64.c
cvs rdiff -u -r1.31 -r1.32 src/lib/libkvm/kvm_sparc.c
cvs rdiff -u -r1.4 -r1.5 src/lib/libkvm/kvm_sun2.c
cvs rdiff -u -r1.13 -r1.14 src/lib/libkvm/kvm_sun3.c
cvs rdiff -u -r1.10 -r1.11 src/lib/libkvm/kvm_sun3x.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.c
diff -u src/lib/libkvm/kvm.c:1.94 src/lib/libkvm/kvm.c:1.95
--- src/lib/libkvm/kvm.c:1.94 Mon Sep 14 19:29:20 2009
+++ src/lib/libkvm/kvm.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm.c,v 1.94 2009/09/14 19:29:20 apb Exp $ */
+/* $NetBSD: kvm.c,v 1.95 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1989, 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm.c 8.2 (Berkeley) 2/13/94";
#else
-__RCSID("$NetBSD: kvm.c,v 1.94 2009/09/14 19:29:20 apb Exp $");
+__RCSID("$NetBSD: kvm.c,v 1.95 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -54,6 +54,7 @@
#include <sys/exec.h>
#include <sys/kcore.h>
#include <sys/ksyms.h>
+#include <sys/types.h>
#include <uvm/uvm_extern.h>
@@ -798,7 +799,7 @@
kvm_dump_inval(kvm_t *kd)
{
struct nlist nl[2];
- u_long pa;
+ paddr_t pa;
size_t dsize;
off_t doff;
void *newbuf;
@@ -814,7 +815,7 @@
_kvm_err(kd, 0, "bad namelist");
return (-1);
}
- if (_kvm_kvatop(kd, (u_long)nl[0].n_value, &pa) == 0)
+ if (_kvm_kvatop(kd, (vaddr_t)nl[0].n_value, &pa) == 0)
return (-1);
errno = 0;
@@ -868,10 +869,10 @@
}
cp = buf;
while (len > 0) {
- u_long pa;
+ paddr_t pa;
off_t foff;
- cc = _kvm_kvatop(kd, kva, &pa);
+ cc = _kvm_kvatop(kd, (vaddr_t)kva, &pa);
if (cc == 0)
return (-1);
if (cc > len)
Index: src/lib/libkvm/kvm_alpha.c
diff -u src/lib/libkvm/kvm_alpha.c:1.24 src/lib/libkvm/kvm_alpha.c:1.25
--- src/lib/libkvm/kvm_alpha.c:1.24 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_alpha.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_alpha.c,v 1.24 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_alpha.c,v 1.25 2010/09/20 23:23:16 jym Exp $ */
/*
* Copyright (c) 1994, 1995 Carnegie-Mellon University.
@@ -34,12 +34,14 @@
#include <sys/proc.h>
#include <sys/stat.h>
#include <sys/kcore.h>
-#include <machine/kcore.h>
+#include <sys/types.h>
#include <unistd.h>
#include <nlist.h>
#include <kvm.h>
#include <uvm/uvm_extern.h>
+
+#include <machine/kcore.h>
#include <machine/pmap.h>
#include <machine/vmparam.h>
@@ -64,7 +66,7 @@
}
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpu_kh;
alpha_pt_entry_t pte;
@@ -151,7 +153,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
cpu_kcore_hdr_t *cpu_kh;
phys_ram_seg_t *ramsegs;
Index: src/lib/libkvm/kvm_arm.c
diff -u src/lib/libkvm/kvm_arm.c:1.5 src/lib/libkvm/kvm_arm.c:1.6
--- src/lib/libkvm/kvm_arm.c:1.5 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_arm.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_arm.c,v 1.5 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_arm.c,v 1.6 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (C) 1996 Wolfgang Solfrank.
@@ -39,12 +39,14 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: kvm_arm.c,v 1.5 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_arm.c,v 1.6 2010/09/20 23:23:16 jym Exp $");
#endif /* LIBC_SCCS and not lint */
#include <sys/param.h>
#include <sys/exec.h>
#include <sys/kcore.h>
+#include <sys/types.h>
+
#include <arm/kcore.h>
#include <arm/arm32/pte.h>
@@ -71,12 +73,12 @@
}
int
-_kvm_kvatop(kvm_t * kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t * kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpu_kh;
pd_entry_t pde;
pt_entry_t pte;
- uint32_t pde_pa, pte_pa;
+ paddr_t pde_pa, pte_pa;
if (ISALIVE(kd)) {
_kvm_err(kd, 0, "vatop called in live kernel!");
Index: src/lib/libkvm/kvm_hppa.c
diff -u src/lib/libkvm/kvm_hppa.c:1.5 src/lib/libkvm/kvm_hppa.c:1.6
--- src/lib/libkvm/kvm_hppa.c:1.5 Thu Jun 24 20:46:11 2010
+++ src/lib/libkvm/kvm_hppa.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_hppa.c,v 1.5 2010/06/24 20:46:11 skrll Exp $ */
+/* $NetBSD: kvm_hppa.c,v 1.6 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1989, 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_hp300.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_hppa.c,v 1.5 2010/06/24 20:46:11 skrll Exp $");
+__RCSID("$NetBSD: kvm_hppa.c,v 1.6 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -53,7 +53,8 @@
#include <sys/proc.h>
#include <sys/stat.h>
#include <sys/kcore.h>
-#include <machine/kcore.h>
+#include <sys/types.h>
+
#include <stdlib.h>
#include <unistd.h>
#include <nlist.h>
@@ -66,6 +67,7 @@
#include "kvm_private.h"
+#include <machine/kcore.h>
#include <machine/pmap.h>
#include <machine/pte.h>
#include <machine/vmparam.h>
@@ -96,7 +98,7 @@
* Translate a kernel virtual address to a physical address.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
#if 0
cpu_kcore_hdr_t *cpu_kh;
@@ -161,7 +163,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
#if 0
cpu_kcore_hdr_t *cpu_kh;
Index: src/lib/libkvm/kvm_m68k.h
diff -u src/lib/libkvm/kvm_m68k.h:1.5 src/lib/libkvm/kvm_m68k.h:1.6
--- src/lib/libkvm/kvm_m68k.h:1.5 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_m68k.h Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_m68k.h,v 1.5 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_m68k.h,v 1.6 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -32,8 +32,8 @@
struct kvm_ops {
int (*initvtop)(kvm_t *);
void (*freevtop)(kvm_t *);
- int (*kvatop) (kvm_t *, u_long, u_long *);
- off_t (*pa2off) (kvm_t *, u_long);
+ int (*kvatop) (kvm_t *, vaddr_t, paddr_t *);
+ off_t (*pa2off) (kvm_t *, paddr_t);
};
struct vmstate {
Index: src/lib/libkvm/kvm_i386.c
diff -u src/lib/libkvm/kvm_i386.c:1.27 src/lib/libkvm/kvm_i386.c:1.28
--- src/lib/libkvm/kvm_i386.c:1.27 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_i386.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_i386.c,v 1.27 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_i386.c,v 1.28 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1989, 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_hp300.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_i386.c,v 1.27 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_i386.c,v 1.28 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -50,7 +50,8 @@
#include <sys/user.h>
#include <sys/stat.h>
#include <sys/kcore.h>
-#include <i386/kcore.h>
+#include <sys/types.h>
+
#include <stdlib.h>
#include <unistd.h>
#include <nlist.h>
@@ -63,6 +64,7 @@
#include "kvm_private.h"
+#include <i386/kcore.h>
#include <i386/pmap.h>
#include <i386/pte.h>
#include <i386/vmparam.h>
@@ -93,17 +95,17 @@
* Translate a kernel virtual address to a physical address.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpu_kh;
u_long page_off;
pd_entry_t pde;
pt_entry_t pte;
- u_long pde_pa, pte_pa;
+ paddr_t pde_pa, pte_pa;
if (ISALIVE(kd)) {
_kvm_err(kd, 0, "vatop called in live kernel!");
- return (0);
+ return 0;
}
cpu_kh = kd->cpu_data;
@@ -152,15 +154,15 @@
return (int)(NBPG - page_off);
lose:
- *pa = (u_long)~0L;
- return (0);
+ *pa = (paddr_t)~0L;
+ return 0;
}
/*
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
cpu_kcore_hdr_t *cpu_kh;
phys_ram_seg_t *ramsegs;
Index: src/lib/libkvm/kvm_m68k.c
diff -u src/lib/libkvm/kvm_m68k.c:1.17 src/lib/libkvm/kvm_m68k.c:1.18
--- src/lib/libkvm/kvm_m68k.c:1.17 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_m68k.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_m68k.c,v 1.17 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_m68k.c,v 1.18 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -42,6 +42,7 @@
#include <sys/exec.h>
#include <sys/kcore.h>
#include <sys/sysctl.h>
+#include <sys/types.h>
#include <stdio.h>
#include <string.h>
@@ -131,13 +132,13 @@
}
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pap)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pap)
{
return ((kd->vmst->ops->kvatop)(kd, va, pap));
}
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
return ((kd->vmst->ops->pa2off)(kd, pa));
}
Index: src/lib/libkvm/kvm_private.h
diff -u src/lib/libkvm/kvm_private.h:1.17 src/lib/libkvm/kvm_private.h:1.18
--- src/lib/libkvm/kvm_private.h:1.17 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_private.h Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_private.h,v 1.17 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_private.h,v 1.18 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -111,9 +111,9 @@
void _kvm_freevtop(kvm_t *);
int _kvm_mdopen(kvm_t *);
int _kvm_initvtop(kvm_t *);
-int _kvm_kvatop(kvm_t *, u_long, u_long *);
+int _kvm_kvatop(kvm_t *, vaddr_t, paddr_t *);
void *_kvm_malloc(kvm_t *, size_t);
-off_t _kvm_pa2off(kvm_t *, u_long);
+off_t _kvm_pa2off(kvm_t *, paddr_t);
void *_kvm_realloc(kvm_t *, void *, size_t);
void _kvm_syserr(kvm_t *, const char *, const char *, ...)
__attribute__((__format__(__printf__, 3, 4)));
Index: src/lib/libkvm/kvm_vax.c
diff -u src/lib/libkvm/kvm_vax.c:1.17 src/lib/libkvm/kvm_vax.c:1.18
--- src/lib/libkvm/kvm_vax.c:1.17 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_vax.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_vax.c,v 1.17 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_vax.c,v 1.18 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -44,6 +44,8 @@
#include <sys/user.h>
#include <sys/proc.h>
#include <sys/stat.h>
+#include <sys/types.h>
+
#include <unistd.h>
#include <nlist.h>
#include <stdlib.h>
@@ -107,18 +109,20 @@
* physical address. This routine is used only for crash dumps.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
u_long end;
if (va < (u_long) KERNBASE) {
- _kvm_err(kd, 0, "invalid address (%lx<%lx)", va, (u_long) KERNBASE);
+ _kvm_err(kd, 0, "invalid address (%#"PRIxVADDR"<%lx)", va,
+ (u_long)KERNBASE);
return (0);
}
end = kd->vmst->end;
if (va >= end) {
- _kvm_err(kd, 0, "invalid address (%lx>=%lx)", va, end);
+ _kvm_err(kd, 0, "invalid address (%#"PRIxVADDR"<%lx)", va,
+ end);
return (0);
}
@@ -131,7 +135,7 @@
* XXX - crash dump doesn't work anyway.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
return(kd->dump_off + pa);
}
Index: src/lib/libkvm/kvm_m68k_cmn.c
diff -u src/lib/libkvm/kvm_m68k_cmn.c:1.14 src/lib/libkvm/kvm_m68k_cmn.c:1.15
--- src/lib/libkvm/kvm_m68k_cmn.c:1.14 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_m68k_cmn.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_m68k_cmn.c,v 1.14 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_m68k_cmn.c,v 1.15 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1989, 1992, 1993
@@ -74,7 +74,7 @@
#if 0
static char sccsid[] = "@(#)kvm_hp300.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_m68k_cmn.c,v 1.14 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_m68k_cmn.c,v 1.15 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -102,8 +102,8 @@
int _kvm_cmn_initvtop(kvm_t *);
void _kvm_cmn_freevtop(kvm_t *);
-int _kvm_cmn_kvatop(kvm_t *, u_long, u_long *);
-off_t _kvm_cmn_pa2off(kvm_t *, u_long);
+int _kvm_cmn_kvatop(kvm_t *, vaddr_t, paddr_t *);
+off_t _kvm_cmn_pa2off(kvm_t *, paddr_t);
struct kvm_ops _kvm_ops_cmn = {
_kvm_cmn_initvtop,
@@ -111,8 +111,8 @@
_kvm_cmn_kvatop,
_kvm_cmn_pa2off };
-static int vatop_030(kvm_t *, uint32_t, u_long, u_long *);
-static int vatop_040(kvm_t *, uint32_t, u_long, u_long *);
+static int vatop_030(kvm_t *, uint32_t, vaddr_t, paddr_t *);
+static int vatop_040(kvm_t *, uint32_t, vaddr_t, paddr_t *);
#define _kvm_btop(v, a) (((unsigned)(a)) >> (v)->pgshift)
@@ -133,11 +133,11 @@
}
int
-_kvm_cmn_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_cmn_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *h = kd->cpu_data;
struct m68k_kcore_hdr *m = &h->un._m68k;
- int (*vtopf)(kvm_t *, uint32_t, u_long, u_long *);
+ int (*vtopf)(kvm_t *, uint32_t, vaddr_t, paddr_t *);
if (ISALIVE(kd)) {
_kvm_err(kd, 0, "vatop called in live kernel!");
@@ -186,12 +186,12 @@
*/
static int
-vatop_030(kvm_t *kd, uint32_t stpa, u_long va, u_long *pa)
+vatop_030(kvm_t *kd, uint32_t stpa, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *h = kd->cpu_data;
struct m68k_kcore_hdr *m = &h->un._m68k;
struct vmstate *vm = kd->vmst;
- u_long addr;
+ paddr_t addr;
uint32_t ste, pte;
u_int p, offset;
@@ -247,12 +247,12 @@
}
static int
-vatop_040(kvm_t *kd, uint32_t stpa, u_long va, u_long *pa)
+vatop_040(kvm_t *kd, uint32_t stpa, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *h = kd->cpu_data;
struct m68k_kcore_hdr *m = &h->un._m68k;
struct vmstate *vm = kd->vmst;
- u_long addr;
+ paddr_t addr;
uint32_t stpa2;
uint32_t ste, pte;
u_int offset;
Index: src/lib/libkvm/kvm_sparc64.c
diff -u src/lib/libkvm/kvm_sparc64.c:1.14 src/lib/libkvm/kvm_sparc64.c:1.15
--- src/lib/libkvm/kvm_sparc64.c:1.14 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_sparc64.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_sparc64.c,v 1.14 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_sparc64.c,v 1.15 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_sparc.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_sparc64.c,v 1.14 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_sparc64.c,v 1.15 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -54,6 +54,8 @@
#include <sys/stat.h>
#include <sys/core.h>
#include <sys/kcore.h>
+#include <sys/types.h>
+
#include <unistd.h>
#include <nlist.h>
#include <kvm.h>
@@ -100,7 +102,7 @@
* physical address. This routine is used only for crash dumps.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpup = kd->cpu_data;
u_long kernbase = cpup->kernbase;
@@ -168,7 +170,7 @@
*/
pseg = (uint64_t *)(u_long)cpup->segmapoffset;
if (_kvm_pread(kd, kd->pmfd, &pdir, sizeof(pdir),
- _kvm_pa2off(kd, (u_long)&pseg[va_to_seg(va)]))
+ _kvm_pa2off(kd, (paddr_t)&pseg[va_to_seg(va)]))
!= sizeof(pdir)) {
_kvm_syserr(kd, 0, "could not read L1 PTE");
goto lose;
@@ -180,7 +182,7 @@
}
if (_kvm_pread(kd, kd->pmfd, &ptbl, sizeof(ptbl),
- _kvm_pa2off(kd, (u_long)&pdir[va_to_dir(va)]))
+ _kvm_pa2off(kd, (paddr_t)&pdir[va_to_dir(va)]))
!= sizeof(ptbl)) {
_kvm_syserr(kd, 0, "could not read L2 PTE");
goto lose;
@@ -192,7 +194,7 @@
}
if (_kvm_pread(kd, kd->pmfd, &data, sizeof(data),
- _kvm_pa2off(kd, (u_long)&ptbl[va_to_pte(va)]))
+ _kvm_pa2off(kd, (paddr_t)&ptbl[va_to_pte(va)]))
!= sizeof(data)) {
_kvm_syserr(kd, 0, "could not read TTE");
goto lose;
@@ -220,7 +222,7 @@
lose:
*pa = (u_long)-1;
- _kvm_err(kd, 0, "invalid address (%lx)", va);
+ _kvm_err(kd, 0, "invalid address (%#"PRIxVADDR")", va);
return (0);
}
@@ -229,7 +231,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
cpu_kcore_hdr_t *cpup = kd->cpu_data;
phys_ram_seg_t *mp;
@@ -252,7 +254,7 @@
off += mp->size;
}
if (nmem < 0) {
- _kvm_err(kd, 0, "invalid address (%lx)", pa);
+ _kvm_err(kd, 0, "invalid address (%#"PRIxPADDR")", pa);
return (-1);
}
Index: src/lib/libkvm/kvm_mips.c
diff -u src/lib/libkvm/kvm_mips.c:1.19 src/lib/libkvm/kvm_mips.c:1.20
--- src/lib/libkvm/kvm_mips.c:1.19 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_mips.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_mips.c,v 1.19 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_mips.c,v 1.20 2010/09/20 23:23:16 jym 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.19 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_mips.c,v 1.20 2010/09/20 23:23:16 jym Exp $");
#endif /* LIBC_SCCS and not lint */
/*
@@ -46,7 +46,10 @@
#include <sys/proc.h>
#include <sys/stat.h>
#include <sys/kcore.h>
+#include <sys/types.h>
+
#include <machine/kcore.h>
+
#include <stdlib.h>
#include <unistd.h>
#include <nlist.h>
@@ -82,12 +85,12 @@
* Translate a kernel virtual address to a physical address.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpu_kh;
int page_off;
u_int pte;
- u_long pte_pa;
+ paddr_t pte_pa;
if (ISALIVE(kd)) {
_kvm_err(kd, 0, "vatop called in live kernel!");
@@ -167,7 +170,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
cpu_kcore_hdr_t *cpu_kh;
phys_ram_seg_t *ramsegs;
Index: src/lib/libkvm/kvm_powerpc.c
diff -u src/lib/libkvm/kvm_powerpc.c:1.11 src/lib/libkvm/kvm_powerpc.c:1.12
--- src/lib/libkvm/kvm_powerpc.c:1.11 Sun Sep 19 11:37:40 2010
+++ src/lib/libkvm/kvm_powerpc.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_powerpc.c,v 1.11 2010/09/19 11:37:40 jym Exp $ */
+/* $NetBSD: kvm_powerpc.c,v 1.12 2010/09/20 23:23:16 jym Exp $ */
/*
* Copyright (c) 2005 Wasabi Systems, Inc.
@@ -71,6 +71,7 @@
#include <sys/param.h>
#include <sys/exec.h>
+#include <sys/types.h>
#include <uvm/uvm_extern.h>
@@ -90,9 +91,9 @@
#include <powerpc/oea/bat.h>
#include <powerpc/oea/pte.h>
-static int _kvm_match_601bat(kvm_t *, u_long, u_long *, int *);
-static int _kvm_match_bat(kvm_t *, u_long, u_long *, int *);
-static int _kvm_match_sr(kvm_t *, u_long, u_long *, int *);
+static int _kvm_match_601bat(kvm_t *, vaddr_t, paddr_t *, int *);
+static int _kvm_match_bat(kvm_t *, vaddr_t, paddr_t *, int *);
+static int _kvm_match_sr(kvm_t *, vaddr_t, paddr_t *, int *);
static struct pte *_kvm_scan_pteg(struct pteg *, uint32_t, uint32_t, int);
void
@@ -113,7 +114,7 @@
#define BAT601_SIZE(b) ((((b) << 17) | ~BAT601_BLPI) + 1)
static int
-_kvm_match_601bat(kvm_t *kd, u_long va, u_long *pa, int *off)
+_kvm_match_601bat(kvm_t *kd, vaddr_t va, paddr_t *pa, int *off)
{
cpu_kcore_hdr_t *cpu_kh;
u_long pgoff;
@@ -141,7 +142,7 @@
#define BAT_SIZE(b) ((((b) << 15) | ~BAT_EPI) + 1)
static int
-_kvm_match_bat(kvm_t *kd, u_long va, u_long *pa, int *off)
+_kvm_match_bat(kvm_t *kd, vaddr_t va, paddr_t *pa, int *off)
{
cpu_kcore_hdr_t *cpu_kh;
u_long pgoff;
@@ -196,14 +197,14 @@
#define HASH_MASK 0x0007ffff
static int
-_kvm_match_sr(kvm_t *kd, u_long va, u_long *pa, int *off)
+_kvm_match_sr(kvm_t *kd, vaddr_t va, paddr_t *pa, int *off)
{
cpu_kcore_hdr_t *cpu_kh;
struct pteg pteg;
struct pte *pte;
uint32_t sr, pgoff, vsid, pgidx, api, hash;
uint32_t htaborg, htabmask, mhash;
- u_long pteg_vaddr;
+ paddr_t pteg_vaddr;
cpu_kh = kd->cpu_data;
@@ -264,7 +265,7 @@
* Translate a KVA to a PA
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpu_kh;
int offs;
@@ -324,12 +325,12 @@
}
/* No hit -- no translation */
- *pa = (u_long)~0UL;
+ *pa = (paddr_t)~0UL;
return 0;
}
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
cpu_kcore_hdr_t *cpu_kh;
phys_ram_seg_t *ram;
@@ -348,7 +349,7 @@
off += ram->size;
} while ((void *) ram < e && ram->size);
- _kvm_err(kd, 0, "pa2off failed for pa 0x%08lx\n", pa);
+ _kvm_err(kd, 0, "pa2off failed for pa %#" PRIxPADDR "\n", pa);
return (off_t) -1;
}
Index: src/lib/libkvm/kvm_powerpc64.c
diff -u src/lib/libkvm/kvm_powerpc64.c:1.3 src/lib/libkvm/kvm_powerpc64.c:1.4
--- src/lib/libkvm/kvm_powerpc64.c:1.3 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_powerpc64.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_powerpc64.c,v 1.3 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_powerpc64.c,v 1.4 2010/09/20 23:23:16 jym Exp $ */
/*
* Copyright (c) 2005 Wasabi Systems, Inc.
@@ -71,6 +71,7 @@
#include <sys/param.h>
#include <sys/exec.h>
+#include <sys/types.h>
#include <uvm/uvm_extern.h>
@@ -112,7 +113,7 @@
* Translate a KVA to a PA
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpu_kh;
uint32_t pvr;
@@ -133,7 +134,7 @@
}
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
cpu_kcore_hdr_t *cpu_kh;
phys_ram_seg_t *ram;
Index: src/lib/libkvm/kvm_proc.c
diff -u src/lib/libkvm/kvm_proc.c:1.85 src/lib/libkvm/kvm_proc.c:1.86
--- src/lib/libkvm/kvm_proc.c:1.85 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_proc.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_proc.c,v 1.85 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_proc.c,v 1.86 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
#if 0
static char sccsid[] = "@(#)kvm_proc.c 8.3 (Berkeley) 9/23/93";
#else
-__RCSID("$NetBSD: kvm_proc.c,v 1.85 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_proc.c,v 1.86 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -89,6 +89,7 @@
#include <sys/resourcevar.h>
#include <sys/mutex.h>
#include <sys/specificdata.h>
+#include <sys/types.h>
#include <errno.h>
#include <stdlib.h>
Index: src/lib/libkvm/kvm_sh3.c
diff -u src/lib/libkvm/kvm_sh3.c:1.7 src/lib/libkvm/kvm_sh3.c:1.8
--- src/lib/libkvm/kvm_sh3.c:1.7 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_sh3.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_sh3.c,v 1.7 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_sh3.c,v 1.8 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1989, 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_hp300.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_sh3.c,v 1.7 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_sh3.c,v 1.8 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -51,6 +51,8 @@
#include <sys/proc.h>
#include <sys/stat.h>
#include <sys/kcore.h>
+#include <sys/types.h>
+
#include <stdlib.h>
#include <unistd.h>
#include <nlist.h>
@@ -92,7 +94,7 @@
* Translate a kernel virtual address to a physical address.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
_kvm_err(kd, 0, "vatop not yet implemented!");
return 0;
@@ -102,7 +104,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
_kvm_err(kd, 0, "pa2off not yet implemented!");
return 0;
Index: src/lib/libkvm/kvm_x86_64.c
diff -u src/lib/libkvm/kvm_x86_64.c:1.7 src/lib/libkvm/kvm_x86_64.c:1.8
--- src/lib/libkvm/kvm_x86_64.c:1.7 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_x86_64.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_x86_64.c,v 1.7 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_x86_64.c,v 1.8 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1989, 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_hp300.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_x86_64.c,v 1.7 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_x86_64.c,v 1.8 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -51,7 +51,8 @@
#include <sys/proc.h>
#include <sys/stat.h>
#include <sys/kcore.h>
-#include <machine/kcore.h>
+#include <sys/types.h>
+
#include <stdlib.h>
#include <unistd.h>
#include <nlist.h>
@@ -64,6 +65,7 @@
#include "kvm_private.h"
+#include <machine/kcore.h>
#include <machine/pmap.h>
#include <machine/pte.h>
#include <machine/vmparam.h>
@@ -89,7 +91,7 @@
* Translate a kernel virtual address to a physical address.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
cpu_kcore_hdr_t *cpu_kh;
u_long page_off;
@@ -180,7 +182,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
cpu_kcore_hdr_t *cpu_kh;
phys_ram_seg_t *ramsegs;
Index: src/lib/libkvm/kvm_sparc.c
diff -u src/lib/libkvm/kvm_sparc.c:1.31 src/lib/libkvm/kvm_sparc.c:1.32
--- src/lib/libkvm/kvm_sparc.c:1.31 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_sparc.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_sparc.c,v 1.31 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_sparc.c,v 1.32 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_sparc.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_sparc.c,v 1.31 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_sparc.c,v 1.32 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -81,9 +81,9 @@
#undef VA_OFF
#define VA_OFF(va) (va & (kd->nbpg - 1))
-int _kvm_kvatop44c(kvm_t *, u_long, u_long *);
-int _kvm_kvatop4m (kvm_t *, u_long, u_long *);
-int _kvm_kvatop4u (kvm_t *, u_long, u_long *);
+int _kvm_kvatop44c(kvm_t *, vaddr_t, paddr_t *);
+int _kvm_kvatop4m (kvm_t *, vaddr_t, paddr_t *);
+int _kvm_kvatop4u (kvm_t *, vaddr_t, paddr_t *);
/*
* XXX
@@ -152,7 +152,7 @@
* physical address. This routine is used only for crash dumps.
*/
int
-_kvm_kvatop(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
if (cputyp == -1)
if (_kvm_initvtop(kd) != 0)
@@ -176,7 +176,7 @@
* (note: sun4 3-level MMU not yet supported)
*/
int
-_kvm_kvatop44c(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop44c(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
int vr, vs, pte;
sparc64_cpu_kcore_hdr_t *cpup = kd->cpu_data;
@@ -211,19 +211,19 @@
goto err;
pte = ptes[sp->sg_pmeg * nptesg + VA_VPG(va)];
if ((pte & PG_V) != 0) {
- long p, off = VA_OFF(va);
+ paddr_t p, off = VA_OFF(va);
p = (pte & PG_PFNUM) << pgshift;
*pa = p + off;
return (kd->nbpg - off);
}
err:
- _kvm_err(kd, 0, "invalid address (%lx)", va);
+ _kvm_err(kd, 0, "invalid address (%#"PRIxVADDR")", va);
return (0);
}
int
-_kvm_kvatop4m(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop4m(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
sparc64_cpu_kcore_hdr_t *cpup = kd->cpu_data;
int vr, vs;
@@ -260,7 +260,8 @@
return (0);
if (_kvm_pread(kd, kd->pmfd, &pte, sizeof(pte), foff) != sizeof(pte)) {
- _kvm_syserr(kd, kd->program, "cannot read pte for %lx", va);
+ _kvm_syserr(kd, kd->program, "cannot read pte for "
+ "%#" PRIxVADDR, va);
return (0);
}
@@ -272,7 +273,7 @@
return (kd->nbpg - off);
}
err:
- _kvm_err(kd, 0, "invalid address (%lx)", va);
+ _kvm_err(kd, 0, "invalid address (%#"PRIxVADDR")", va);
return (0);
}
@@ -280,7 +281,7 @@
* sparc64 pmap's 32-bit page table format
*/
int
-_kvm_kvatop4u(kvm_t *kd, u_long va, u_long *pa)
+_kvm_kvatop4u(kvm_t *kd, vaddr_t va, paddr_t *pa)
{
sparc64_cpu_kcore_hdr_t *cpup = kd->cpu_data;
int64_t **segmaps;
@@ -325,15 +326,13 @@
* segmap[cpup->nsegmap];
*/
segmaps = (int64_t **)((long)kd->cpu_data + cpup->segmapoffset);
- /* XXX XXX XXX _kvm_pa2off takes u_long and returns off_t..
- should take off_t also!! */
-
- ptes = (int64_t *)(int)_kvm_pa2off(kd, (u_long)segmaps[sparc64_va_to_seg(va)]);
+ ptes = (int64_t *)(int)_kvm_pa2off(kd,
+ (paddr_t)segmaps[sparc64_va_to_seg(va)]);
pte = ptes[sparc64_va_to_pte(va)];
if ((pte & SPARC64_TLB_V) != 0)
return ((pte & SPARC64_TLB_PA_MASK) | (va & (kd->nbpg - 1)));
err:
- _kvm_err(kd, 0, "invalid address (%lx)", va);
+ _kvm_err(kd, 0, "invalid address (%#"PRIxVADDR")", va);
return (0);
}
@@ -342,7 +341,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_pa2off(kvm_t *kd, u_long pa)
+_kvm_pa2off(kvm_t *kd, paddr_t pa)
{
sparc64_cpu_kcore_hdr_t *cpup = kd->cpu_data;
phys_ram_seg_t *mp;
Index: src/lib/libkvm/kvm_sun2.c
diff -u src/lib/libkvm/kvm_sun2.c:1.4 src/lib/libkvm/kvm_sun2.c:1.5
--- src/lib/libkvm/kvm_sun2.c:1.4 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_sun2.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_sun2.c,v 1.4 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_sun2.c,v 1.5 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_sparc.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_sun2.c,v 1.4 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_sun2.c,v 1.5 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -65,8 +65,8 @@
int _kvm_sun2_initvtop(kvm_t *);
void _kvm_sun2_freevtop(kvm_t *);
-int _kvm_sun2_kvatop (kvm_t *, u_long, u_long *);
-off_t _kvm_sun2_pa2off (kvm_t *, u_long);
+int _kvm_sun2_kvatop (kvm_t *, vaddr_t, paddr_t *);
+off_t _kvm_sun2_pa2off (kvm_t *, paddr_t);
struct kvm_ops _kvm_ops_sun2 = {
_kvm_sun2_initvtop,
@@ -129,7 +129,7 @@
* physical address. This routine is used only for crash dumps.
*/
int
-_kvm_sun2_kvatop(kvm_t *kd, u_long va, u_long *pap)
+_kvm_sun2_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pap)
{
cpu_kcore_hdr_t *h = kd->cpu_data;
struct sun2_kcore_hdr *s = &h->un._sun2;
@@ -137,7 +137,7 @@
struct private_vmstate *pv = v->private;
int pte, offset;
u_int segnum, sme, ptenum;
- u_long pa;
+ paddr_t pa;
if (ISALIVE(kd)) {
_kvm_err(kd, 0, "vatop called in live kernel!");
@@ -175,7 +175,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_sun2_pa2off(kvm_t *kd, u_long pa)
+_kvm_sun2_pa2off(kvm_t *kd, paddr_t pa)
{
return(kd->dump_off + pa);
}
Index: src/lib/libkvm/kvm_sun3.c
diff -u src/lib/libkvm/kvm_sun3.c:1.13 src/lib/libkvm/kvm_sun3.c:1.14
--- src/lib/libkvm/kvm_sun3.c:1.13 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_sun3.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_sun3.c,v 1.13 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_sun3.c,v 1.14 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)kvm_sparc.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_sun3.c,v 1.13 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_sun3.c,v 1.14 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -65,8 +65,8 @@
int _kvm_sun3_initvtop(kvm_t *);
void _kvm_sun3_freevtop(kvm_t *);
-int _kvm_sun3_kvatop (kvm_t *, u_long, u_long *);
-off_t _kvm_sun3_pa2off (kvm_t *, u_long);
+int _kvm_sun3_kvatop (kvm_t *, vaddr_t, paddr_t *);
+off_t _kvm_sun3_pa2off (kvm_t *, paddr_t);
struct kvm_ops _kvm_ops_sun3 = {
_kvm_sun3_initvtop,
@@ -129,7 +129,7 @@
* physical address. This routine is used only for crash dumps.
*/
int
-_kvm_sun3_kvatop(kvm_t *kd, u_long va, u_long *pap)
+_kvm_sun3_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pap)
{
cpu_kcore_hdr_t *h = kd->cpu_data;
struct sun3_kcore_hdr *s = &h->un._sun3;
@@ -137,7 +137,7 @@
struct private_vmstate *pv = v->private;
int pte, offset;
u_int segnum, sme, ptenum;
- u_long pa;
+ paddr_t pa;
if (ISALIVE(kd)) {
_kvm_err(kd, 0, "vatop called in live kernel!");
@@ -162,7 +162,7 @@
pte = pv->pmeg[sme][ptenum];
if ((pte & (s)->pg_valid) == 0) {
- _kvm_err(kd, 0, "page not valid (VA=0x%lx)", va);
+ _kvm_err(kd, 0, "page not valid (VA=%#"PRIxVADDR")", va);
return (0);
}
pa = _kvm_pg_pa(v, s, pte) + offset;
@@ -175,7 +175,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_sun3_pa2off(kvm_t *kd, u_long pa)
+_kvm_sun3_pa2off(kvm_t *kd, paddr_t pa)
{
return(kd->dump_off + pa);
}
Index: src/lib/libkvm/kvm_sun3x.c
diff -u src/lib/libkvm/kvm_sun3x.c:1.10 src/lib/libkvm/kvm_sun3x.c:1.11
--- src/lib/libkvm/kvm_sun3x.c:1.10 Sun Sep 19 02:07:00 2010
+++ src/lib/libkvm/kvm_sun3x.c Mon Sep 20 23:23:16 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: kvm_sun3x.c,v 1.10 2010/09/19 02:07:00 jym Exp $ */
+/* $NetBSD: kvm_sun3x.c,v 1.11 2010/09/20 23:23:16 jym Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)kvm_sparc.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: kvm_sun3x.c,v 1.10 2010/09/19 02:07:00 jym Exp $");
+__RCSID("$NetBSD: kvm_sun3x.c,v 1.11 2010/09/20 23:23:16 jym Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -61,8 +61,8 @@
int _kvm_sun3x_initvtop(kvm_t *);
void _kvm_sun3x_freevtop(kvm_t *);
-int _kvm_sun3x_kvatop (kvm_t *, u_long, u_long *);
-off_t _kvm_sun3x_pa2off (kvm_t *, u_long);
+int _kvm_sun3x_kvatop (kvm_t *, vaddr_t, paddr_t *);
+off_t _kvm_sun3x_pa2off (kvm_t *, paddr_t);
struct kvm_ops _kvm_ops_sun3x = {
_kvm_sun3x_initvtop,
@@ -99,7 +99,7 @@
* physical address. This routine is used only for crash dumps.
*/
int
-_kvm_sun3x_kvatop(kvm_t *kd, u_long va, u_long *pap)
+_kvm_sun3x_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pap)
{
cpu_kcore_hdr_t *h = kd->cpu_data;
struct sun3x_kcore_hdr *s = &h->un._sun3x;
@@ -156,7 +156,7 @@
* Translate a physical address to a file-offset in the crash dump.
*/
off_t
-_kvm_sun3x_pa2off(kvm_t *kd, u_long pa)
+_kvm_sun3x_pa2off(kvm_t *kd, paddr_t pa)
{
off_t off;
phys_ram_seg_t *rsp;