Subject: CVS commit: src/sys/compat
To: None <source-changes@NetBSD.org>
From: David Laight <dsl@netbsd.org>
List: source-changes
Date: 03/16/2007 22:21:43
Module Name:	src
Committed By:	dsl
Date:		Fri Mar 16 22:21:43 UTC 2007

Modified Files:
	src/sys/compat/linux32/arch/amd64: linux32_machdep.c
	src/sys/compat/linux32/common: linux32_exec_elf32.c linux32_ioctl.c
	    linux32_signal.c linux32_stat.c linux32_termios.c linux32_time.c
	src/sys/compat/netbsd32: netbsd32.h netbsd32_compat_10.c
	    netbsd32_compat_12.c netbsd32_compat_13.c netbsd32_compat_14.c
	    netbsd32_compat_43.c netbsd32_conv.h netbsd32_exec.h netbsd32_fs.c
	    netbsd32_ioctl.c netbsd32_ioctl.h netbsd32_lwp.c netbsd32_netbsd.c
	    netbsd32_select.c netbsd32_sem.c netbsd32_signal.c
	    netbsd32_socket.c netbsd32_time.c netbsd32_wait.c
	src/sys/compat/sunos32: sunos32.h sunos32_exec.c sunos32_exec_aout.c
	    sunos32_ioctl.c sunos32_misc.c
	src/sys/compat/svr4_32: svr4_32_fcntl.c svr4_32_ioctl.c svr4_32_ipc.c
	    svr4_32_lwp.c svr4_32_misc.c svr4_32_resource.c svr4_32_signal.c
	    svr4_32_sockio.c svr4_32_stat.c svr4_32_stream.c

Log Message:
remove all the double (and triple) casts used to convert 32bit userspace
pointers to and from 64bit kernel pointers.  Instead use the defines
NETBSD32PTR64(p32) to read a 32bit pointer and (the new) NETBSD32PTR32(p32,p64)
to write a 32bit pointer throughout.
The 32bit pointer is now a struct to enforce the above.
amd64 (with linux emul) and sparc64 will both compile (when the arch stuff
goes in soon), and amd64 still runs some i386 binaries.


To generate a diff of this commit:
cvs rdiff -r1.8 -r1.9 src/sys/compat/linux32/arch/amd64/linux32_machdep.c
cvs rdiff -r1.5 -r1.6 src/sys/compat/linux32/common/linux32_exec_elf32.c \
    src/sys/compat/linux32/common/linux32_ioctl.c \
    src/sys/compat/linux32/common/linux32_stat.c
cvs rdiff -r1.2 -r1.3 src/sys/compat/linux32/common/linux32_signal.c
cvs rdiff -r1.3 -r1.4 src/sys/compat/linux32/common/linux32_termios.c
cvs rdiff -r1.8 -r1.9 src/sys/compat/linux32/common/linux32_time.c
cvs rdiff -r1.60 -r1.61 src/sys/compat/netbsd32/netbsd32.h
cvs rdiff -r1.18 -r1.19 src/sys/compat/netbsd32/netbsd32_compat_10.c
cvs rdiff -r1.23 -r1.24 src/sys/compat/netbsd32/netbsd32_compat_12.c \
    src/sys/compat/netbsd32/netbsd32_exec.h
cvs rdiff -r1.17 -r1.18 src/sys/compat/netbsd32/netbsd32_compat_13.c
cvs rdiff -r1.15 -r1.16 src/sys/compat/netbsd32/netbsd32_compat_14.c \
    src/sys/compat/netbsd32/netbsd32_conv.h
cvs rdiff -r1.37 -r1.38 src/sys/compat/netbsd32/netbsd32_compat_43.c \
    src/sys/compat/netbsd32/netbsd32_fs.c
cvs rdiff -r1.30 -r1.31 src/sys/compat/netbsd32/netbsd32_ioctl.c
cvs rdiff -r1.19 -r1.20 src/sys/compat/netbsd32/netbsd32_ioctl.h
cvs rdiff -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32_lwp.c \
    src/sys/compat/netbsd32/netbsd32_sem.c
cvs rdiff -r1.119 -r1.120 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -r1.10 -r1.11 src/sys/compat/netbsd32/netbsd32_select.c
cvs rdiff -r1.21 -r1.22 src/sys/compat/netbsd32/netbsd32_signal.c
cvs rdiff -r1.22 -r1.23 src/sys/compat/netbsd32/netbsd32_socket.c
cvs rdiff -r1.25 -r1.26 src/sys/compat/netbsd32/netbsd32_time.c
cvs rdiff -r1.12 -r1.13 src/sys/compat/netbsd32/netbsd32_wait.c
cvs rdiff -r1.9 -r1.10 src/sys/compat/sunos32/sunos32.h
cvs rdiff -r1.27 -r1.28 src/sys/compat/sunos32/sunos32_exec.c
cvs rdiff -r1.8 -r1.9 src/sys/compat/sunos32/sunos32_exec_aout.c
cvs rdiff -r1.19 -r1.20 src/sys/compat/sunos32/sunos32_ioctl.c
cvs rdiff -r1.46 -r1.47 src/sys/compat/sunos32/sunos32_misc.c
cvs rdiff -r1.17 -r1.18 src/sys/compat/svr4_32/svr4_32_fcntl.c
cvs rdiff -r1.14 -r1.15 src/sys/compat/svr4_32/svr4_32_ioctl.c \
    src/sys/compat/svr4_32/svr4_32_ipc.c \
    src/sys/compat/svr4_32/svr4_32_sockio.c
cvs rdiff -r1.9 -r1.10 src/sys/compat/svr4_32/svr4_32_lwp.c
cvs rdiff -r1.43 -r1.44 src/sys/compat/svr4_32/svr4_32_misc.c
cvs rdiff -r1.10 -r1.11 src/sys/compat/svr4_32/svr4_32_resource.c
cvs rdiff -r1.19 -r1.20 src/sys/compat/svr4_32/svr4_32_signal.c
cvs rdiff -r1.25 -r1.26 src/sys/compat/svr4_32/svr4_32_stat.c
cvs rdiff -r1.20 -r1.21 src/sys/compat/svr4_32/svr4_32_stream.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.