The NetBSD Project

CVS log for src/lib/libkvm/kvm_private.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.23 / (download) - annotate - [select for diffs], Tue Apr 19 20:32:16 2022 UTC (23 months, 1 week ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) to selected 1.2 (colored)

lib: remove CONSTCOND comment

Since 2021-01-31, lint doesn't need it anymore for the common pattern of
'do ... while (0)'.

Revision 1.22 / (download) - annotate - [select for diffs], Mon Jan 10 19:51:30 2022 UTC (2 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.21: +1 -2 lines
Diff to previous 1.21 (colored) to selected 1.2 (colored)

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

Revision 1.21 / (download) - annotate - [select for diffs], Tue Apr 28 00:12:01 2020 UTC (3 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.20: +3 -1 lines
Diff to previous 1.20 (colored) to selected 1.2 (colored)

Implement kvm_write() for dump files. We map the file privately so that
changes don't get propagated back, and then write to the private buffer.
This is not useful yes, but it is simple enough to make pread use the buffer
if it is available.

Revision 1.20 / (download) - annotate - [select for diffs], Mon Sep 12 21:11:32 2011 UTC (12 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, 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-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, 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, 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-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, localcount-20160914, is-mlppp-base, is-mlppp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Changes since 1.19: +2 -1 lines
Diff to previous 1.19 (colored) to selected 1.2 (colored)

add a function to report the name of the file kvm_open{,.files} is using.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Sep 26 22:28:05 2010 UTC (13 years, 6 months ago) by jym
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.18: +4 -1 lines
Diff to previous 1.18 (colored) to selected 1.2 (colored)

Define KREAD() inside kvm_private.h, for reusability.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Sep 20 23:23:16 2010 UTC (13 years, 6 months ago) by jym
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored) to selected 1.2 (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.17 / (download) - annotate - [select for diffs], Sun Sep 19 02:07:00 2010 UTC (13 years, 6 months ago) by jym
Branch: MAIN
Changes since 1.16: +13 -14 lines
Diff to previous 1.16 (colored) to selected 1.2 (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.15.10.1 / (download) - annotate - [select for diffs], Sun Mar 23 00:40:27 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.15: +6 -1 lines
Diff to previous 1.15 (colored) next main 1.16 (colored) to selected 1.2 (colored)

sync with HEAD

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jan 15 13:57:42 2008 UTC (16 years, 2 months 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, 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, mjf-devfs2-base, mjf-devfs2, 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, matt-mips64-base2, matt-armv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, hpcarm-cleanup-base
Changes since 1.15: +6 -1 lines
Diff to previous 1.15 (colored) to selected 1.2 (colored)

Handle reading from raw disk devices.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Feb 16 20:48:42 2006 UTC (18 years, 1 month ago) by christos
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, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: matt-armv6
Changes since 1.14: +17 -2 lines
Diff to previous 1.14 (colored) to selected 1.2 (colored)

1. Eliminate some unnecessary to kvm_{m,re}alloc.
2. Don't malloc/free procbase/procbase2/lwpbase continuously. Keep track
   of the size, and only do it if necessary.
3. Write a macro to malloc/realloc and set the size of members so that it
   is done correctly. Previous open coded version in kvm_file.c always
   set the length, which is incorrect.
4. Remove bogus check against INT_MAX.
5. use NULL to initialize pointers instead of 0.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Aug 7 16:44:39 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
CVS Tags: 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, 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.13: +2 -6 lines
Diff to previous 1.13 (colored) to selected 1.2 (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.13 / (download) - annotate - [select for diffs], Fri May 16 10:24:55 2003 UTC (20 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored) to selected 1.2 (colored)

Consistently spell "crash dump" as two separate words. From jmc@openbsd.

Revision 1.12 / (download) - annotate - [select for diffs], Sun May 11 13:37:34 2003 UTC (20 years, 10 months ago) by ragge
Branch: MAIN
Changes since 1.11: +1 -2 lines
Diff to previous 1.11 (colored) to selected 1.2 (colored)

Make the kvm routines use /dev/ksyms to get the kernel namelist.
If it fails, use /netbsd instead.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jan 18 10:40:41 2003 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored) to selected 1.2 (colored)

Merge the nathanw_sa branch.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Tue Apr 23 20:10:20 2002 UTC (21 years, 11 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored) next main 1.11 (colored) to selected 1.2 (colored)

Make libkvm able to cope with a LWPified kernel.

Add a kvm_getlwps() function to retrieve the LWPs of a specific process.

Revision 1.8.4.1 / (download) - annotate - [select for diffs], Wed Oct 4 16:22:56 2000 UTC (23 years, 5 months ago) by he
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH003
Changes since 1.8: +6 -3 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.2 (colored)

Pull up revision 1.10 (requested by sommerfeld):
  Format string audit.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Oct 4 16:11:27 2000 UTC (23 years, 5 months ago) by sommerfeld
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.9: +6 -3 lines
Diff to previous 1.9 (colored) to selected 1.2 (colored)

format-string audit cleanups

Revision 1.9 / (download) - annotate - [select for diffs], Fri May 26 02:42:22 2000 UTC (23 years, 10 months ago) by simonb
Branch: MAIN
CVS Tags: 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
Changes since 1.8: +12 -2 lines
Diff to previous 1.8 (colored) to selected 1.2 (colored)

Add kvm interface to the new sysctls:
	kvm_getproc2() -> sysctl(KERN_PROC2)
	kvm_getargv2() -> sysctl(KERN_PROC_ARGS, KERN_PROC_ARGV)
	kvm_getenvv2() -> sysctl(KERN_PROC_ARGS, KERN_PROC_ENV)
Add new KVM_NO_FILES flag to kvm_open*() - set up enough state to
use the above calls without having to open any kernel files.

XXX: kvm_getprocs.3 and kvm_open.3 to be updated soon.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Aug 12 16:27:01 1997 UTC (26 years, 7 months ago) by gwr
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, 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, comdex-fall-1999-base, comdex-fall-1999
Branch point for: netbsd-1-4
Changes since 1.7: +4 -1 lines
Diff to previous 1.7 (colored) to selected 1.2 (colored)

Add the members: usrstack, min_uva, max_uva to struct __kvm
and declare the function _kvm_mdopen() that initializes them.

Revision 1.7 / (download) - annotate - [select for diffs], Sun May 5 04:32:15 1996 UTC (27 years, 10 months ago) by gwr
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.6: +3 -2 lines
Diff to previous 1.6 (colored) to selected 1.2 (colored)

Allow more flexibility in the format of cpu_kcore_hdr_t and isolate
the knowledge of that struct in the machine-dependent module.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Mar 18 22:33:54 1996 UTC (28 years ago) by thorpej
Branch: MAIN
Changes since 1.5: +2 -0 lines
Diff to previous 1.5 (colored) to selected 1.2 (colored)

RCS id police.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Mar 16 10:23:52 1996 UTC (28 years ago) by leo
Branch: MAIN
Changes since 1.4: +12 -1 lines
Diff to previous 1.4 (colored) to selected 1.2 (colored)

New libkvm/savecore implementation. With the following differences:
     1) savecore will not access the dump or live-kernel directly. It
        will always use the kvm-functions. Allowing it to work on kernels
        that don't have a 1-1 PA-VA mapping.
     2) the kvm-lib has some additional functions to accomplish 1
          - kvm_dump_mkheader()
          - kvm_dump_wrtheader()
          - kvm_dump_inval()
     3) the file formats of the dump generated by the kernel and the dump
        generated by savecore have been changed. The file format now looks
        like the format produced for 'normal' core dumps.
Ports not yet supporting the new kvm-format will be using libkvm.old/
savecore.old for the time being.

Revision 1.4 / (download) - annotate - [select for diffs], Tue May 16 14:21:10 1995 UTC (28 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (colored) to selected 1.2 (colored)

Use the new ps_strings format.  Find the arguments using their
addresses in the argv array, rather than guessing based on the location
of NULs.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jan 9 08:59:31 1995 UTC (29 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.2: +6 -1 lines
Diff to previous 1.2 (colored)

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

Revision 1.2 / (download) - annotate - [selected], Sun Sep 18 01:52:04 1994 UTC (29 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +2 -0 lines
Diff to previous 1.1 (colored)

Move the swap page buffer into struct __kvm.  Cache the page size during
kvm_open().  Fix an existing memory leak.

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Mon May 9 03:15:37 1994 UTC (29 years, 10 months ago) by cgd
Branch: CSRG
CVS Tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0, lite-1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.2 (colored)

new libkvm

Revision 1.1 / (download) - annotate - [select for diffs], Mon May 9 03:15:36 1994 UTC (29 years, 10 months ago) by cgd
Branch: MAIN
Diff to selected 1.2 (colored)

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>