History log of /src/lib/libkvm/kvm_x86_64.c |
Revision | | Date | Author | Comments |
1.13 |
| 10-Jan-2022 |
christos | Get rid of usrstack/USRSTACK. Document that the old version of getargv is broken because of ASLR.
|
1.12 |
| 25-Apr-2020 |
maxv | Switch to the new PTE naming. The old naming is now unused, remove it.
|
1.11 |
| 08-Mar-2020 |
chs | use a binary search in _kvm_pa2off(). this helps a lot for sparse dumps, which can have millions of memory segments.
|
1.10 |
| 19-Feb-2014 |
dsl | branches: 1.10.26; 1.10.28; 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.9 |
| 10-Jan-2012 |
chs | branches: 1.9.6; fix handling of large pages.
|
1.8 |
| 20-Sep-2010 |
jym | branches: 1.8.6; 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.7 |
| 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.6 |
| 15-Jan-2008 |
ad | Handle reading from raw disk devices.
|
1.5 |
| 04-Aug-2005 |
fvdl | branches: 1.5.10; Fix parsing the page tables.
|
1.4 |
| 07-Aug-2003 |
agc | branches: 1.4.4; 1.4.6; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
1.3 |
| 05-Jun-2002 |
fvdl | kva -> physaddr translation through pagetable walking; for crash dumps (as yet untested).
|
1.2 |
| 05-Aug-2001 |
matt | branches: 1.2.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.1 |
| 19-Jun-2001 |
fvdl | Add (mostly stub) x86-64 kvm stuff. Needs work.
|
1.2.2.2 |
| 19-Dec-2002 |
thorpej | Sync with HEAD.
|
1.2.2.1 |
| 05-Aug-2001 |
thorpej | file kvm_x86_64.c was added on branch nathanw_sa on 2002-12-19 02:26:25 +0000
|
1.4.6.1 |
| 06-Nov-2005 |
tron | Pull up following revision(s) (requested by chs in ticket #934): lib/libkvm/kvm_x86_64.c: revision 1.5 Fix parsing the page tables.
|
1.4.4.1 |
| 06-Nov-2005 |
riz | Pull up following revision(s) (requested by chs in ticket #5969): lib/libkvm/kvm_x86_64.c: revision 1.5 Fix parsing the page tables.
|
1.5.10.1 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.8.6.2 |
| 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")
|
1.8.6.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.9.6.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.10.28.1 |
| 08-Mar-2020 |
martin | Pull up following revision(s) (requested by chs in ticket #763):
lib/libkvm/kvm.c: revision 1.105 lib/libkvm/kvm_x86_64.c: revision 1.11
only do bounce buffering for character devices.
use a binary search in _kvm_pa2off(). this helps a lot for sparse dumps, which can have millions of memory segments.
|
1.10.26.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|