Home | History | Annotate | Download | only in libkvm
History log of /src/lib/libkvm/kvm_sparc.c
RevisionDateAuthorComments
 1.36  10-Jan-2022  christos Get rid of usrstack/USRSTACK. Document that the old version of getargv is
broken because of ASLR.
 1.35  31-Oct-2015  nakayama Use PRIxPADDR instead of type casting.
 1.34  07-Oct-2015  martin Fix the -m32 compat build for sparc64 after recent sparc/include/types.h
changes. XXX I suspect this variant has not been tested in real life.
 1.33  19-Feb-2014  dsl 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.32  20-Sep-2010  jym branches: 1.32.6; 1.32.12;
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.31  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.30  25-Oct-2008  mrg use <sparc/pmap.h> and <sparc/kcore.h> so this builds properly with
a 64 bit "cc -m32".
 1.29  15-Jan-2008  ad Handle reading from raw disk devices.
 1.28  07-Aug-2003  agc branches: 1.28.22;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.27  16-May-2003  wiz Consistently spell "crash dump" as two separate words. From jmc@openbsd.
 1.26  22-Sep-2001  mrg branches: 1.26.2;
undefine VA_VPG and VA_OFF before defining them.
 1.25  05-Aug-2001  matt 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.24  04-Oct-2000  sommerfeld Format size mismatch
 1.23  29-Jun-2000  mrg <vm/vm.h> -> <uvm/uvm_extern.h>
 1.22  26-Jun-2000  mrg remove redundant vm includes
 1.21  02-Jul-1999  simonb More trailing white space.
 1.20  01-Feb-1999  mrg branches: 1.20.2;
uh...make this build on the sparc again...or something. i've had
to pull a few #define's from the sparc64 include's into this file,
renamed so that they don't break the sparc64. this is really hacky,
and should be fixed somehow. if the sparc is going to know about
32bit sparc64 kernels, the information necessary to get this needs
to exist somewhere for it to grab, not for duplication :(
 1.19  30-Jan-1999  eeh Need to be able to handle sparc64 executables as well.
 1.18  30-Jun-1998  thorpej Use pread(2) and pwrite(2) rather than lseek(2)/{read,write}(2).
 1.17  15-Mar-1998  pk No need for autoconf.h
 1.16  03-Feb-1998  perry remove obsolete register declarations
 1.15  10-Oct-1997  mrg clean WARNS on the sparc.
 1.14  20-Sep-1997  pk The `cpu_kcore' header has changed allowing libkvm to be independent of
the kernel's link address (KERNBASE).
 1.13  15-Aug-1997  mikel use <sys/cdefs.h> __RCSID() macro
 1.12  12-Aug-1997  gwr Add _kvm_mdopen()
 1.11  02-Apr-1997  pk Off by 1 in PMEG comparison.
 1.10  09-Nov-1996  pk Handle crash dumps new-style.
 1.9  01-Apr-1996  cgd sync with libkvm.old sources (change committed by pk):
>Catch up with system PMAP.
 1.8  18-Mar-1996  thorpej RCS id police.
 1.7  05-Jul-1995  pk Deal with crash dumps again.
 1.6  13-Apr-1995  pk Disable "dead kernel" stuff until we have something new.
 1.5  09-Jan-1995  mycroft Eliminate _kvm_uvatop(), in favor of using the machine-independent VM structures.
 1.4  02-Nov-1994  deraadt make this work (with a horrible hack for determining the cputyp)
 1.3  18-Sep-1994  deraadt should work for sun4 and sun4c
 1.2  10-Jun-1994  pk Changes in pmap structures.
 1.1  09-May-1994  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  09-May-1994  cgd new libkvm
 1.20.2.1  06-Oct-2000  he Pull up revision 1.24 (requested by sommerfeld):
Fix mismatched int vs. long format error.
 1.26.2.2  22-Sep-2001  mrg undefine VA_VPG and VA_OFF before defining them.
 1.26.2.1  22-Sep-2001  mrg file kvm_sparc.c was added on branch nathanw_sa on 2001-09-22 00:53:02 +0000
 1.28.22.1  23-Mar-2008  matt sync with HEAD
 1.32.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.32.6.1  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")

RSS XML Feed