History log of /netbsd-src/lib/libkvm/kvm_i386.c (Results 1 – 25 of 32)
Revision Date Author Comments
# 104ea677 10-Jan-2022 christos <christos@NetBSD.org>

Get rid of usrstack/USRSTACK. Document that the old version of getargv is
broken because of ASLR.


# 26cfc3f1 25-Apr-2020 maxv <maxv@NetBSD.org>

Switch to the new PTE naming. The old naming is now unused, remove it.


# 7c166415 19-Feb-2014 dsl <dsl@NetBSD.org>

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 f

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.

show more ...


# f15c6971 05-Oct-2010 jym <jym@NetBSD.org>

Import PAE support for kvm(3):
- add kvm_i386pae.c (used for PAE memory translations), and update Makefile
for libkvm build.
- in pdppaddr: pass a flag to indicate PAE mode. Use a bit ignored
by

Import PAE support for kvm(3):
- add kvm_i386pae.c (used for PAE memory translations), and update Makefile
for libkvm build.
- in pdppaddr: pass a flag to indicate PAE mode. Use a bit ignored
by the MMU. Mask address with PG_FRAME to avoid side effects.

Tested with vmstat(1)/netstat(1) to debug core files of PAE and !PAE
kernels. Older kernel dumps will default to native i386 (!PAE) mode.

XXX Currently, savecore(8) will fail to dump a PAE kernel in a !PAE
environment (and reciprocally). So you need to sync and reboot
with a kernel of the same mode as the one that crashed. Once the dump
is successful, this does not matter anymore.

show more ...


# 962a341d 20-Sep-2010 jym <jym@NetBSD.org>

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, pa

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

show more ...


# 6dc46b92 19-Sep-2010 jym <jym@NetBSD.org>

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

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

show more ...


# 4e9d08ba 25-Oct-2008 mrg <mrg@NetBSD.org>

use <i386/foo.h> in a few places.


# a7a2d171 15-Jan-2008 ad <ad@NetBSD.org>

Handle reading from raw disk devices.


# 1717a7fe 05-Jan-2008 jld <jld@NetBSD.org>

Add address translation support for 4MB pages, which we use to map the
kernel text.


# 324e44d7 05-Jan-2008 jld <jld@NetBSD.org>

The address translation routine needs to use the plN_pi macros (for
indexing into the PTP), not the plN_i ones (for indexing into the entire
linear page table); cf. the analogous code for amd64. Fix

The address translation routine needs to use the plN_pi macros (for
indexing into the PTP), not the plN_i ones (for indexing into the entire
linear page table); cf. the analogous code for amd64. Fixes ~everything
to do with kernel core dumps on i386.

show more ...


# 21ac91dd 18-Oct-2007 yamt <yamt@NetBSD.org>

sync with kernel after the merge of yamt-x86pmap branch.


# cf211678 27-Aug-2004 thorpej <thorpej@NetBSD.org>

pdtpaddr -> pdppaddr


# eb7c1594 07-Aug-2003 agc <agc@NetBSD.org>

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.


# c62a74e6 18-Jan-2003 thorpej <thorpej@NetBSD.org>

Merge the nathanw_sa branch.


# cce919e0 05-Aug-2001 matt <matt@NetBSD.org>

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.


# 3b8ac18d 29-Jun-2000 mrg <mrg@NetBSD.org>

<vm/vm.h> -> <uvm/uvm_extern.h>


# 10a6db97 26-Jun-2000 mrg <mrg@NetBSD.org>

remove redundant vm includes


# f68ec00b 02-Jul-1999 simonb <simonb@NetBSD.org>

More trailing white space.


# cc7ffa0d 27-Sep-1998 christos <christos@NetBSD.org>

Remove lint


# 55c7ea7c 30-Jun-1998 thorpej <thorpej@NetBSD.org>

Use pread(2) and pwrite(2) rather than lseek(2)/{read,write}(2).


# 9a9b6113 18-Feb-1998 thorpej <thorpej@NetBSD.org>

Rewrite _kvm_kvatop() to work with the new crash dump format, and make
the i386 port use libkvm, not libkvm.old.


# b4119f6b 15-Aug-1997 mikel <mikel@NetBSD.org>

use <sys/cdefs.h> __RCSID() macro


# 7739ce58 14-Aug-1997 gwr <gwr@NetBSD.org>

Add _kvm_mdopen()


# 346e67f8 18-Mar-1996 thorpej <thorpej@NetBSD.org>

RCS id police.


# bd267b1b 08-Mar-1996 mycroft <mycroft@NetBSD.org>

Clean up a bit.


12