Commit Graph

23 Commits

Author SHA1 Message Date
christos 104ea67795 Get rid of usrstack/USRSTACK. Document that the old version of getargv is
broken because of ASLR.
2022-01-10 19:51:30 +00:00
dsl 7c166415e7 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.
2014-02-19 20:21:22 +00:00
matt 6ab334853b Teach libkvm how kernel virtual memory is laided on 64-bit MIPS kernels. 2011-01-23 06:28:52 +00:00
jym 962a341df6 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
2010-09-20 23:23:16 +00:00
jym 6dc46b923b 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
2010-09-19 02:07:00 +00:00
ad a7a2d171df Handle reading from raw disk devices. 2008-01-15 13:57:41 +00:00
wiz b976c55907 Consistently spell "crash dump" as two separate words. From jmc@openbsd. 2003-05-16 10:24:55 +00:00
matt cce919e025 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.
2001-08-05 03:33:15 +00:00
mrg 3b8ac18da2 <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 06:34:22 +00:00
mrg 10a6db97ee remove redundant vm includes 2000-06-26 15:34:55 +00:00
cgd d220ca5ba3 fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well.  No functional changes.
2000-06-14 06:48:47 +00:00
simonb f68ec00b50 More trailing white space. 1999-07-02 15:28:49 +00:00
thorpej 55c7ea7c28 Use pread(2) and pwrite(2) rather than lseek(2)/{read,write}(2). 1998-06-30 20:29:39 +00:00
thorpej 5af26b83d7 Rewrite NetBSD/mips crash dump address translation, based on NetBSD/alpha's,
using new crash dump format.
1998-02-19 23:32:35 +00:00
perry 0b7831a37b remove obsolete register declarations 1998-02-03 19:12:13 +00:00
jonathan 0841fc37a3 kill lint. 1997-10-20 19:43:26 +00:00
mikel b4119f6b37 use <sys/cdefs.h> __RCSID() macro 1997-08-15 02:21:56 +00:00
gwr 7739ce58e3 Add _kvm_mdopen() 1997-08-14 16:05:21 +00:00
jonathan e9661d76f6 MACH_CACHED_TO_PHYS() -> MIPS_KSEG0_TO_PHYS(). 1997-06-25 21:08:45 +00:00
jonathan e3a957306e 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.)
1997-06-18 01:41:31 +00:00
thorpej 346e67f879 RCS id police. 1996-03-18 22:33:07 +00:00
mycroft c304971439 Eliminate _kvm_uvatop(), in favor of using the machine-independent VM structures. 1995-01-09 08:59:25 +00:00
cgd 0215cc7d1f new libkvm 1994-05-09 03:15:36 +00:00