The NetBSD Project

CVS log for src/lib/libkvm/kvm_i386.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libkvm

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.30 / (download) - annotate - [select for diffs], Wed Feb 19 20:21:22 2014 UTC (6 years ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, HEAD
Changes since 1.29: +2 -3 lines
Diff to previous 1.29 (colored)

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.

Revision 1.29 / (download) - annotate - [select for diffs], Tue Oct 5 23:48:16 2010 UTC (9 years, 4 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.28: +43 -8 lines
Diff to previous 1.28 (colored)

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.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Sep 20 23:23:16 2010 UTC (9 years, 5 months ago) by jym
Branch: MAIN
Changes since 1.27: +11 -9 lines
Diff to previous 1.27 (colored)

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

Revision 1.27 / (download) - annotate - [select for diffs], Sun Sep 19 02:07:00 2010 UTC (9 years, 5 months ago) by jym
Branch: MAIN
Changes since 1.26: +9 -17 lines
Diff to previous 1.26 (colored)

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

Revision 1.26 / (download) - annotate - [select for diffs], Sat Oct 25 23:59:06 2008 UTC (11 years, 3 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-premerge-20091211, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend
Changes since 1.25: +6 -6 lines
Diff to previous 1.25 (colored)

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

Revision 1.25 / (download) - annotate - [select for diffs], Tue Jan 15 13:57:42 2008 UTC (12 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, mjf-devfs2-base, mjf-devfs2, matt-mips64-base2, matt-armv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base
Changes since 1.24: +4 -4 lines
Diff to previous 1.24 (colored)

Handle reading from raw disk devices.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Jan 5 06:54:12 2008 UTC (12 years, 1 month ago) by jld
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.23: +10 -2 lines
Diff to previous 1.23 (colored)

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

Revision 1.23 / (download) - annotate - [select for diffs], Sat Jan 5 06:22:55 2008 UTC (12 years, 1 month ago) by jld
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

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.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Oct 18 15:30:44 2007 UTC (12 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: cube-autoconf-base, cube-autoconf
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored)

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

Revision 1.21 / (download) - annotate - [select for diffs], Fri Aug 27 01:13:31 2004 UTC (15 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, matt-mips64-base, matt-mips64, hpcarm-cleanup, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: matt-armv6
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

pdtpaddr -> pdppaddr

Revision 1.20 / (download) - annotate - [select for diffs], Thu Aug 7 16:44:37 2003 UTC (16 years, 6 months ago) by agc
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.19: +3 -7 lines
Diff to previous 1.19 (colored)

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

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

Revision 1.19 / (download) - annotate - [select for diffs], Sat Jan 18 10:40:41 2003 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.18: +2 -3 lines
Diff to previous 1.18 (colored)

Merge the nathanw_sa branch.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Aug 5 03:33:15 2001 UTC (18 years, 6 months ago) by matt
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, nathanw_sa_before_merge, nathanw_sa_base, fvdl_fs64_base
Branch point for: nathanw_sa
Changes since 1.17: +4 -2 lines
Diff to previous 1.17 (colored)

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.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Jun 29 06:34:24 2000 UTC (19 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

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

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jun 26 15:34:57 2000 UTC (19 years, 8 months ago) by mrg
Branch: MAIN
Changes since 1.15: +2 -3 lines
Diff to previous 1.15 (colored)

remove redundant vm includes

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jul 2 15:28:50 1999 UTC (20 years, 7 months ago) by simonb
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored)

More trailing white space.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Sep 27 18:16:00 1998 UTC (21 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4
Changes since 1.13: +11 -10 lines
Diff to previous 1.13 (colored)

Remove lint

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 30 20:29:39 1998 UTC (21 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.12: +6 -6 lines
Diff to previous 1.12 (colored)

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

Revision 1.12 / (download) - annotate - [select for diffs], Wed Feb 18 01:13:08 1998 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.11: +77 -90 lines
Diff to previous 1.11 (colored)

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

Revision 1.11 / (download) - annotate - [select for diffs], Fri Aug 15 02:21:59 1997 UTC (22 years, 6 months ago) by mikel
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Changes since 1.10: +3 -2 lines
Diff to previous 1.10 (colored)

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

Revision 1.10 / (download) - annotate - [select for diffs], Thu Aug 14 16:05:22 1997 UTC (22 years, 6 months ago) by gwr
Branch: MAIN
Changes since 1.9: +19 -2 lines
Diff to previous 1.9 (colored)

Add _kvm_mdopen()

Revision 1.9 / (download) - annotate - [select for diffs], Mon Mar 18 22:33:38 1996 UTC (23 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.8: +7 -2 lines
Diff to previous 1.8 (colored)

RCS id police.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Mar 8 10:45:16 1996 UTC (23 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +27 -17 lines
Diff to previous 1.7 (colored)

Clean up a bit.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jun 29 11:41:45 1995 UTC (24 years, 8 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.6: +5 -4 lines
Diff to previous 1.6 (colored)

fix a piece of sloppy coding on my part.  gdb -k still doesn't work, though.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Jun 26 13:19:27 1995 UTC (24 years, 8 months ago) by cgd
Branch: MAIN
Changes since 1.5: +45 -8 lines
Diff to previous 1.5 (colored)

update to match reality.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Jan 9 08:59:27 1995 UTC (25 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.4: +1 -48 lines
Diff to previous 1.4 (colored)

Eliminate _kvm_uvatop(), in favor of using the machine-independent VM structures.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Aug 15 15:57:36 1994 UTC (25 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.3: +11 -11 lines
Diff to previous 1.3 (colored)

Update to match current pmap.

Revision 1.3 / (download) - annotate - [select for diffs], Wed May 18 09:31:52 1994 UTC (25 years, 9 months ago) by pk
Branch: MAIN
CVS Tags: netbsd-1-0-base
Branch point for: netbsd-1-0
Changes since 1.2: +11 -13 lines
Diff to previous 1.2 (colored)

Fix kvm_uvatop().

Revision 1.2 / (download) - annotate - [select for diffs], Mon May 9 07:01:14 1994 UTC (25 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

just punt for now; don't want to deal with this & don't want it to core

Revision 1.1 / (download) - annotate - [select for diffs], Mon May 9 03:15:53 1994 UTC (25 years, 9 months ago) by cgd
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>