Home | History | Annotate | Download | only in libkvm
History log of /src/lib/libkvm/kvm_powerpc.c
RevisionDateAuthorComments
 1.15  23-Aug-2023  rin libkvm: whitespace
 1.14  10-Jan-2022  christos Get rid of usrstack/USRSTACK. Document that the old version of getargv is
broken because of ASLR.
 1.13  27-Jan-2014  matt Add missing __RCSID("$NetBSD$");
 1.12  20-Sep-2010  jym branches: 1.12.6; 1.12.12;
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
 1.11  19-Sep-2010  jym KNF
 1.10  19-Sep-2010  jym Ansify and KNF all functions within kvm(3). No objection on current-users@.

Used as ground for u_long => vaddr_t/paddr_t replacements in kvm(3)
private functions.

Compile tested for all arches. See also:

http://mail-index.netbsd.org/current-users/2010/09/07/msg014249.html
 1.9  25-Feb-2010  matt Adapt to <powerpc/spr.h> breakup.
 1.8  15-Jan-2008  ad branches: 1.8.20;
Handle reading from raw disk devices.
 1.7  17-Feb-2005  briggs branches: 1.7.16;
Supply _kvm_kvatop() and _kvm_pa2off() for OEA-type CPUs. This does
not yet support other PPC CPU types.
Contributed by Wasabi Systems Inc.
 1.6  05-Aug-2001  matt branches: 1.6.2;
Don't include <machine/pmap.h> and <machine/vmparam.h> if _KERNEL isn't
defined. Include them explicitly in the few kvm_arch.c that need them.
 1.5  29-Jun-2000  mrg <vm/vm.h> -> <uvm/uvm_extern.h>
 1.4  03-Feb-1998  mycroft Need stdlib.h for prototypes.
 1.3  19-Sep-1997  thorpej Need <vm/vm.h>
 1.2  12-Aug-1997  gwr Add _kvm_mdopen()
 1.1  29-Mar-1997  thorpej kvm routines for PowerPC; just stubs, for now. From Wolfgang Solfrank
<ws@tools.de>
 1.6.2.2  05-Aug-2001  matt Don't include <machine/pmap.h> and <machine/vmparam.h> if _KERNEL isn't
defined. Include them explicitly in the few kvm_arch.c that need them.
 1.6.2.1  05-Aug-2001  matt file kvm_powerpc.c was added on branch nathanw_sa on 2001-08-05 03:33:16 +0000
 1.7.16.1  23-Mar-2008  matt sync with HEAD
 1.8.20.2  26-Jul-2011  matt Include the battable, not just the contents of the bat registers.
 1.8.20.1  07-Jan-2011  matt Deal with <spr.h> split.
 1.12.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.6.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")

RSS XML Feed