Home | History | Annotate | Download | only in libkvm
History log of /src/lib/libkvm/kvm_mips.c
RevisionDateAuthorComments
 1.23  10-Jan-2022  christos Get rid of usrstack/USRSTACK. Document that the old version of getargv is
broken because of ASLR.
 1.22  19-Feb-2014  dsl Remove the #include <sys/user.h> from all of libkvm.
sys/user.h is a stub that just #includes sys/pcb.h.
There are no 'struct pcb' anywhere in here, so I'm extremely doubtful
any of the builds will fail.
OTOH it might be relying on a header that pcb.h includes.
In any case i386 and amd64 build.
 1.21  23-Jan-2011  matt branches: 1.21.4; 1.21.10;
Teach libkvm how kernel virtual memory is laided on 64-bit MIPS kernels.
 1.20  20-Sep-2010  jym branches: 1.20.2;
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.19  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.18  15-Jan-2008  ad branches: 1.18.16;
Handle reading from raw disk devices.
 1.17  16-May-2003  wiz branches: 1.17.22;
Consistently spell "crash dump" as two separate words. From jmc@openbsd.
 1.16  05-Aug-2001  matt branches: 1.16.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.15  29-Jun-2000  mrg <vm/vm.h> -> <uvm/uvm_extern.h>
 1.14  26-Jun-2000  mrg remove redundant vm includes
 1.13  14-Jun-2000  cgd fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well. No functional changes.
 1.12  02-Jul-1999  simonb branches: 1.12.6;
More trailing white space.
 1.11  30-Jun-1998  thorpej Use pread(2) and pwrite(2) rather than lseek(2)/{read,write}(2).
 1.10  19-Feb-1998  thorpej Rewrite NetBSD/mips crash dump address translation, based on NetBSD/alpha's,
using new crash dump format.
 1.9  03-Feb-1998  perry remove obsolete register declarations
 1.8  20-Oct-1997  jonathan kill lint.
 1.7  15-Aug-1997  mikel use <sys/cdefs.h> __RCSID() macro
 1.6  14-Aug-1997  gwr Add _kvm_mdopen()
 1.5  25-Jun-1997  jonathan MACH_CACHED_TO_PHYS() -> MIPS_KSEG0_TO_PHYS().
 1.4  18-Jun-1997  jonathan Include mips1_pte.h and mips3_pte.h. Read cpu_arch from the kernel
and set local variables for MIPSx_PG_V, MIPSx_PG_SHIFT_,
MIPSx_PG_FRAME accordingly.

(defining both MIPS3 and MIPS1 and using pte.h. doesn't yet work in userland.)
 1.3  18-Mar-1996  thorpej RCS id police.
 1.2  09-Jan-1995  mycroft Eliminate _kvm_uvatop(), in favor of using the machine-independent VM structures.
 1.1  09-May-1994  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  09-May-1994  cgd new libkvm
 1.12.6.1  23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.16.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.16.2.1  05-Aug-2001  matt file kvm_mips.c was added on branch nathanw_sa on 2001-08-05 03:33:16 +0000
 1.17.22.1  23-Mar-2008  matt sync with HEAD
 1.18.16.3  27-Dec-2011  matt Deal with non fixed page size on MIPS.
 1.18.16.2  27-Dec-2011  matt Don't use NBPG/PGSHIFT/PGOFFST any more.
Use nbpg from kvm_t and initialize that from the cpu_kcore_hdr_t.
 1.18.16.1  28-Jan-2010  matt Teach KVM about where the kernel is when _LP64 is defined.
 1.20.2.1  08-Feb-2011  bouyer Sync with HEAD
 1.21.10.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.4.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