Commit Graph

18 Commits

Author SHA1 Message Date
matt c1987519cf #include <m68k/m68k.h> 2014-03-04 06:38:08 +00:00
christos 80867328b8 Include <sys/param.h> for MAXPATHLEN 2011-09-13 19:11:09 +00:00
jym 8bb0c87c7e Define KREAD() inside kvm_private.h, for reusability. 2010-09-26 22:28:05 +00:00
jym 962a341df6 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
2010-09-20 23:23:16 +00:00
jym 6dc46b923b 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
2010-09-19 02:07:00 +00:00
ad a7a2d171df Handle reading from raw disk devices. 2008-01-15 13:57:41 +00:00
agc eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
wiz b976c55907 Consistently spell "crash dump" as two separate words. From jmc@openbsd. 2003-05-16 10:24:55 +00:00
he dd0d61e300 Use %lx instead of %x with _kvm_err when arg is u_long. 2000-10-10 20:44:16 +00:00
simonb f68ec00b50 More trailing white space. 1999-07-02 15:28:49 +00:00
thorpej 55c7ea7c28 Use pread(2) and pwrite(2) rather than lseek(2)/{read,write}(2). 1998-06-30 20:29:39 +00:00
briggs f10f7ea13b Fix a couple of warnings. 1997-10-12 11:01:23 +00:00
briggs 03ea29eeb3 Put spaces around / in comment so 'machine/*.h' does not generate '/* inside
comment' warning.
1997-10-12 10:56:46 +00:00
kleink c8aff50d1d /* Tyop. */ 1997-08-26 08:21:40 +00:00
mikel b4119f6b37 use <sys/cdefs.h> __RCSID() macro 1997-08-15 02:21:56 +00:00
scottr ac3595cba4 In kvm_cmn_pa2off(), make sure to use the correct RAM segment start/size
values when adjusting the PA/offset.  (Only broken in the case where we
had multiple RAM segments.)
1997-04-23 18:47:40 +00:00
thorpej b6c0c9a270 Update for new m68k/kcore.h. We use dispatch information provided
by the crash dump itself to facilitate cross-analysis.  The m68k_cmn
for Utah pmaps reads MMU configuration from the crash dump to that
this works on 4k and 8k h/w page size systems.
1997-04-09 21:15:50 +00:00
gwr 95883471d5 Build the same libkvm.* on all m68k machines. (Well... except for the
stragglers that still use libkvm.old )  The m68k machines now dispatch
based on the machine name to the appropriate libkvm implementation.
1997-03-21 18:44:21 +00:00