The NetBSD Project

CVS log for src/sys/compat/linux/arch/amd64/linux_machdep.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / compat / linux / arch / amd64

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.51.6.4 / (download) - annotate - [select for diffs], Wed Jun 21 21:04:03 2023 UTC (9 months, 3 weeks ago) by martin
Branch: netbsd-8
Changes since 1.51.6.3: +3 -2 lines
Diff to previous 1.51.6.3 (colored) to branchpoint 1.51 (colored) next main 1.52 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1836):

	sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
	sys/compat/sunos/sunos_misc.c: revision 1.177
	sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
	sys/compat/common/kern_resource_43.c: revision 1.23
	sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
	sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
	sys/compat/common/vfs_syscalls_12.c: revision 1.38
	sys/compat/ultrix/ultrix_misc.c: revision 1.126
	sys/compat/common/kern_sig_43.c: revision 1.37
	sys/compat/linux/common/linux_mtio.c: revision 1.8
	sys/compat/freebsd/freebsd_misc.c: revision 1.34
	sys/compat/linux/common/linux_olduname.c: revision 1.67
	sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
	sys/compat/freebsd/freebsd_sched.c: revision 1.23
	sys/compat/ossaudio/ossaudio.c: revision 1.84
	sys/compat/sys/time_types.h: revision 1.6
	sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
	sys/compat/linux/common/linux_file.c: revision 1.119
	sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
	sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
	sys/compat/linux32/common/linux32_time.c: revision 1.38
	sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
	sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
	sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
	sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
	sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
	sys/compat/linux/common/linux_misc.c: revision 1.252
	sys/compat/linux/common/linux_hdio.c: revision 1.19
	sys/compat/sunos/sunos_ioctl.c: revision 1.71
	sys/compat/linux/common/linux_sched.c: revision 1.79
	sys/compat/common/kern_info_43.c: revision 1.40
	sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
	sys/compat/linux/common/linux_socket.c: revision 1.153
	sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
	sys/compat/common/vfs_syscalls_43.c: revision 1.68
	sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
	sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
	sys/compat/common/kern_time_50.c: revision 1.37
	sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
	sys/compat/linux/common/linux_cdrom.c: revision 1.28
	sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
	sys/compat/common/kern_info_09.c: revision 1.22
	sys/compat/linux32/common/linux32_resource.c: revision 1.12
	sys/compat/linux/common/linux_oldolduname.c: revision 1.67
	sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
	sys/compat/linux32/common/linux32_signal.c: revision 1.21
	sys/compat/common/kern_sig_13.c: revision 1.22
	sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
	sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
	sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
	sys/compat/netbsd32/netbsd32_time.c: revision 1.56
	sys/compat/linux/common/linux_signal.c: revision 1.84
	sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
	sys/compat/sunos32/sunos32_misc.c: revision 1.85
	sys/compat/linux/common/linux_time.c: revision 1.40
	sys/compat/linux/common/linux_fdio.c: revision 1.14
	sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure.  If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.

Revision 1.58.2.2 / (download) - annotate - [select for diffs], Wed Aug 3 11:11:33 2022 UTC (20 months, 1 week ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE
Changes since 1.58.2.1: +3 -2 lines
Diff to previous 1.58.2.1 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored)

Pull up following revision(s), all via patch
(requested by riastradh in ticket #1487):

	sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
	sys/compat/sunos/sunos_misc.c: revision 1.177
	sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
	sys/compat/common/kern_resource_43.c: revision 1.23
	sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
	sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
	sys/compat/common/vfs_syscalls_12.c: revision 1.38
	sys/compat/ultrix/ultrix_misc.c: revision 1.126
	sys/compat/common/kern_sig_43.c: revision 1.37
	sys/compat/linux/common/linux_mtio.c: revision 1.8
	sys/compat/freebsd/freebsd_misc.c: revision 1.34
	sys/compat/freebsd/freebsd_machdep.c: revision 1.5
	sys/compat/linux/common/linux_olduname.c: revision 1.67
	sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
	sys/compat/freebsd/freebsd_sched.c: revision 1.23
	sys/compat/ossaudio/ossaudio.c: revision 1.84
	sys/compat/sys/time_types.h: revision 1.6
	sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
	sys/compat/common/ieee80211_20.c: revision 1.7
	sys/compat/linux/common/linux_file.c: revision 1.119
	sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
	sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
	sys/compat/linux32/common/linux32_time.c: revision 1.38
	sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
	sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
	sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
	sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
	sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
	sys/compat/linux/common/linux_misc.c: revision 1.252
	sys/compat/linux/common/linux_hdio.c: revision 1.19
	sys/compat/sunos/sunos_ioctl.c: revision 1.71
	sys/compat/linux/common/linux_sched.c: revision 1.79
	sys/compat/common/kern_info_43.c: revision 1.40
	sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
	sys/compat/linux/common/linux_socket.c: revision 1.153
	sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
	sys/compat/common/vfs_syscalls_43.c: revision 1.68
	sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
	sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
	sys/compat/common/kern_time_50.c: revision 1.37
	sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
	sys/compat/linux/common/linux_cdrom.c: revision 1.28
	sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
	sys/compat/common/kern_info_09.c: revision 1.22
	sys/compat/linux32/common/linux32_resource.c: revision 1.12
	sys/compat/linux/common/linux_oldolduname.c: revision 1.67
	sys/compat/common/if_media_80.c: revision 1.4
	sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5
	sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
	sys/compat/linux32/common/linux32_signal.c: revision 1.21
	sys/compat/common/kern_sig_13.c: revision 1.22
	sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
	sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
	sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
	sys/compat/netbsd32/netbsd32_time.c: revision 1.56
	sys/compat/linux/common/linux_signal.c: revision 1.84
	sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
	sys/compat/sunos32/sunos32_misc.c: revision 1.85
	sys/compat/linux/common/linux_time.c: revision 1.40
	sys/compat/linux/common/linux_fdio.c: revision 1.14
	sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure.  If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.

Revision 1.61 / (download) - annotate - [select for diffs], Wed Oct 27 16:40:04 2021 UTC (2 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, 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, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.60: +3 -3 lines
Diff to previous 1.60 (colored)

Use __SIGTRAMP_SIGCODE_VERSION rather than hard-coding 0.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Sep 7 11:43:03 2021 UTC (2 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.59: +3 -2 lines
Diff to previous 1.59 (colored)

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure.  If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.

Revision 1.56.4.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:14 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.56.4.1: +2 -3 lines
Diff to previous 1.56.4.1 (colored) to branchpoint 1.56 (colored) next main 1.57 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.48.4.1.2.1 / (download) - annotate - [select for diffs], Tue Jan 21 19:23:37 2020 UTC (4 years, 2 months ago) by martin
Branch: netbsd-7-1
Changes since 1.48.4.1: +2 -3 lines
Diff to previous 1.48.4.1 (colored) next main 1.48.4.2 (colored)

Pull up the following, requested by christos in ticket #1720:

	sys/compat/common/kern_sig_43.c				1.36
	sys/compat/linux/arch/amd64/linux_machdep.c		1.59
	sys/compat/linux/common/linux_fcntl.h			1.18
	sys/compat/linux/common/linux_file64.c			1.62
	sys/compat/linux/common/linux_ipc.c			1.57
	sys/compat/linux/common/linux_misc.c			1.243
	sys/compat/linux/common/linux_signal.c			1.81
	sys/compat/linux/common/linux_socket.c			1.149 (patch)
	sys/compat/linux/common/linux_socket.h			1.24
	sys/compat/linux/common/linux_statfs.h			1.7
	sys/compat/linux/common/linux_termios.c			1.38
	sys/compat/linux/common/linux_termios.h			1.22
	sys/compat/linux32/common/linux32_dirent.c		1.20
	sys/compat/linux32/common/linux32_ioctl.c		1.14
	sys/compat/linux32/common/linux32_misc.c		1.27
	sys/compat/linux32/common/linux32_signal.c		1.20
	sys/compat/linux32/common/linux32_sysinfo.c		1.8
	sys/compat/linux32/common/linux32_termios.c		1.15
	sys/compat/linux32/common/linux32_utsname.c		1.10
	sys/compat/netbsd32/netbsd32_compat_20.c		1.39
	sys/compat/netbsd32/netbsd32_compat_43.c		1.59
	sys/compat/netbsd32/netbsd32_compat_50.c		1.44
	sys/compat/ossaudio/ossaudio.c				1.75
	sys/kern/sysv_shm.c					1.138
	sys/miscfs/procfs/procfs_linux.c			1.75 (patch)
	sys/sys/shm.h						1.54 (patch)

Fix various info leaks, out of bound access, usage of uninitialized
values and direct access to userland variables from kernel space
and memory leaks in system calls implemented for the compatibility
subsystems.

Revision 1.48.4.2 / (download) - annotate - [select for diffs], Tue Jan 21 19:19:16 2020 UTC (4 years, 2 months ago) by martin
Branch: netbsd-7
Changes since 1.48.4.1: +2 -3 lines
Diff to previous 1.48.4.1 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored)

Pull up the following, requested by christos in ticket #1720:

	sys/compat/common/kern_sig_43.c				1.36
	sys/compat/linux/arch/amd64/linux_machdep.c		1.59
	sys/compat/linux/common/linux_fcntl.h			1.18
	sys/compat/linux/common/linux_file64.c			1.62
	sys/compat/linux/common/linux_ipc.c			1.57
	sys/compat/linux/common/linux_misc.c			1.243
	sys/compat/linux/common/linux_signal.c			1.81
	sys/compat/linux/common/linux_socket.c			1.149 (patch)
	sys/compat/linux/common/linux_socket.h			1.24
	sys/compat/linux/common/linux_statfs.h			1.7
	sys/compat/linux/common/linux_termios.c			1.38
	sys/compat/linux/common/linux_termios.h			1.22
	sys/compat/linux32/common/linux32_dirent.c		1.20
	sys/compat/linux32/common/linux32_ioctl.c		1.14
	sys/compat/linux32/common/linux32_misc.c		1.27
	sys/compat/linux32/common/linux32_signal.c		1.20
	sys/compat/linux32/common/linux32_sysinfo.c		1.8
	sys/compat/linux32/common/linux32_termios.c		1.15
	sys/compat/linux32/common/linux32_utsname.c		1.10
	sys/compat/netbsd32/netbsd32_compat_20.c		1.39
	sys/compat/netbsd32/netbsd32_compat_43.c		1.59
	sys/compat/netbsd32/netbsd32_compat_50.c		1.44
	sys/compat/ossaudio/ossaudio.c				1.75
	sys/kern/sysv_shm.c					1.138
	sys/miscfs/procfs/procfs_linux.c			1.75 (patch)
	sys/sys/shm.h						1.54 (patch)

Fix various info leaks, out of bound access, usage of uninitialized
values and direct access to userland variables from kernel space
and memory leaks in system calls implemented for the compatibility
subsystems.

Revision 1.51.6.3 / (download) - annotate - [select for diffs], Tue Jan 21 18:12:54 2020 UTC (4 years, 2 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.51.6.2: +2 -3 lines
Diff to previous 1.51.6.2 (colored) to branchpoint 1.51 (colored)

Pull up the following, requested by christos in ticket #1487:

	sys/compat/common/kern_sig_43.c				1.36
	sys/compat/linux/arch/amd64/linux_machdep.c		1.59
	sys/compat/linux/common/linux_fcntl.h			1.18
	sys/compat/linux/common/linux_file64.c			1.62
	sys/compat/linux/common/linux_ipc.c			1.57
	sys/compat/linux/common/linux_misc.c			1.243
	sys/compat/linux/common/linux_signal.c			1.81
	sys/compat/linux/common/linux_socket.c			1.149
	sys/compat/linux/common/linux_socket.h			1.24
	sys/compat/linux/common/linux_statfs.h			1.7
	sys/compat/linux/common/linux_termios.c			1.38
	sys/compat/linux/common/linux_termios.h			1.22
	sys/compat/linux32/common/linux32_dirent.c		1.20
	sys/compat/linux32/common/linux32_ioctl.c		1.14
	sys/compat/linux32/common/linux32_misc.c		1.27
	sys/compat/linux32/common/linux32_signal.c		1.20
	sys/compat/linux32/common/linux32_sysinfo.c		1.8
	sys/compat/linux32/common/linux32_termios.c		1.15
	sys/compat/linux32/common/linux32_utsname.c		1.10
	sys/compat/netbsd32/netbsd32_compat_20.c		1.39
	sys/compat/netbsd32/netbsd32_compat_43.c		1.59
	sys/compat/netbsd32/netbsd32_compat_50.c		1.44
	sys/compat/ossaudio/ossaudio.c				1.75
	sys/kern/sysv_shm.c					1.138
	sys/miscfs/procfs/procfs_linux.c			1.75 (patch)
	sys/sys/shm.h						1.54

Fix various info leaks, out of bound access, usage of uninitialized
values and direct access to userland variables from kernel space
and memory leaks in system calls implemented for the compatibility
subsystems.

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Fri Sep 13 06:25:25 2019 UTC (4 years, 7 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.58: +2 -3 lines
Diff to previous 1.58 (colored)

Pull up following revision(s) (requested by maxv in ticket #194):

	sys/compat/linux/common/linux_socket.c: revision 1.146
	sys/compat/linux/common/linux_socket.c: revision 1.147
	sys/compat/linux/common/linux_socket.c: revision 1.148
	sys/compat/linux/common/linux_socket.c: revision 1.149
	sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.59
	sys/compat/linux32/common/linux32_sysinfo.c: revision 1.8
	sys/kern/sysv_shm.c: revision 1.138
	sys/compat/linux/common/linux_file64.c: revision 1.61
	sys/compat/linux/common/linux_file64.c: revision 1.62
	sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.58
	sys/compat/linux32/common/linux32_dirent.c: revision 1.20
	sys/compat/linux32/common/linux32_utsname.c: revision 1.10
	sys/compat/linux/common/linux_termios.h: revision 1.22
	sys/compat/linux32/common/linux32_termios.c: revision 1.15
	sys/compat/linux32/common/linux32_misc.c: revision 1.27
	sys/compat/linux32/common/linux32_ioctl.c: revision 1.14
	sys/compat/linux/common/linux_statfs.h: revision 1.7
	sys/compat/linux/common/linux_ipc.c: revision 1.57
	sys/compat/linux/common/linux_fcntl.h: revision 1.18
	sys/compat/linux/common/linux_socket.h: revision 1.24
	sys/sys/shm.h: revision 1.54
	sys/compat/ossaudio/ossaudio.c: revision 1.75
	sys/compat/linux32/common/linux32_signal.c: revision 1.20
	sys/miscfs/procfs/procfs_linux.c: revision 1.75
	sys/compat/linux/common/linux_signal.c: revision 1.81
	sys/compat/linux/common/linux_termios.c: revision 1.38
	sys/compat/linux/common/linux_misc.c: revision 1.241
	sys/compat/linux/common/linux_misc.c: revision 1.242
	sys/compat/linux/common/linux_misc.c: revision 1.243
	sys/compat/linux/common/linux_misc.c: revision 1.244

Fix info leaks.

Fix stupid bugs in linux_sys_shmctl(): the index could be out of bound
(page fault) and there was no proper locking.
Maybe we should just remove LINUX_SHM_STAT, like compat_linux32.

Remove printf.

When dealing with an unknown value, set -1, to prevent (harmless)
uninitialized accesses later.

Add a default case, don't call sys_ioctl() with an uninitialized 'com'
argument.

Fix error handling, returns an errno, not -1.

Put the printf under DEBUG_LINUX.


Hum, don't forget the 'pid' argument, otherwise we're not gonna go very
far.

Don't read data from userland directly. This simply does not work on any
recent x86 CPU (thanks to SMAP) and all architectures that forbid direct
access to userland from the kernel. But I guess no one noticed because no
one ever uses compat_linux, right?

Hum, don't pass an mbuf to realloc(). Inspired from copyin32_msg_control().

Fix memory leak.

I don't see the point in having this useless printf, but add a '\n' to it,
so that it at least displays useless stuff correctly.

Hum, remove incorrect assignment. Userland could have passed a smaller
namelen, and the uninitialized bytes from sb_data were being used later in
the network stack.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Aug 23 10:31:14 2019 UTC (4 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.58: +2 -3 lines
Diff to previous 1.58 (colored)

Remove printf.

Revision 1.56.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:59 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.56: +7 -6 lines
Diff to previous 1.56 (colored)

Sync with HEAD

Revision 1.58 / (download) - annotate - [select for diffs], Sun May 19 08:46:15 2019 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base
Branch point for: netbsd-9
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored)

Rename

	fpu_save_area_clear -> fpu_clear
	fpu_save_area_reset -> fpu_sigreset

Clearer, and reduces a future diff. No real functional change.

Revision 1.51.6.2 / (download) - annotate - [select for diffs], Fri Apr 5 07:48:05 2019 UTC (5 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.51.6.1: +6 -5 lines
Diff to previous 1.51.6.1 (colored) to branchpoint 1.51 (colored)

Pull up following revision(s) (requested by maxv):

	sys/arch/amd64/amd64/netbsd32_machdep.c: revision 1.120
	sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.57
	sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.44
	sys/arch/amd64/amd64/machdep.c: revision 1.328
	sys/arch/amd64/amd64/machdep.c: revision 1.329

Fix a tiny race in setregs and linux_setregs. Between the moment we set
pcb_flags to zero, and the moment cpu_segregs64_zero resets pcb_gs, we may
be preempted.

If this happens, and if the calling LWP was a 32bit thread, when switching
back to that LWP, the context switcher sees that PCB_COMPAT32 is not set in
pcb_flags and tries to perform a 64bit context switch; but pcb_gs contains
a 32bit GDT descriptor, and not a 64bit GS.base value. The wrmsr therefore
faults because the value is non-canonical, and this fault is fatal.

Rearrange the code so that the update of pcb_flags and pcb_gs/pcb_fs is non
interruptible. This fixes the problem, tested with a reproducer (which
therefore doesn't work anymore).

Likely fixes PR/53993.

Disable preemption when setting PCB_COMPAT32, to prevent a context switch
before cpu_fsgs_reload() finishes, otherwise we write garbage in the GDT.

On NetBSD-current it is harmless, however in NetBSD-8 it might cause
panics, because NetBSD-8 uses the old SegRegs model and under this model
we reload %fs and %gs during switches.

Revision 1.57 / (download) - annotate - [select for diffs], Sun Mar 24 13:15:43 2019 UTC (5 years ago) by maxv
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.56: +6 -5 lines
Diff to previous 1.56 (colored)

Fix a tiny race in setregs and linux_setregs. Between the moment we set
pcb_flags to zero, and the moment cpu_segregs64_zero resets pcb_gs, we may
be preempted.

If this happens, and if the calling LWP was a 32bit thread, when switching
back to that LWP, the context switcher sees that PCB_COMPAT32 is not set in
pcb_flags and tries to perform a 64bit context switch; but pcb_gs contains
a 32bit GDT descriptor, and not a 64bit GS.base value. The wrmsr therefore
faults because the value is non-canonical, and this fault is fatal.

Rearrange the code so that the update of pcb_flags and pcb_gs/pcb_fs is non
interruptible. This fixes the problem, tested with a reproducer (which
therefore doesn't work anymore).

Likely fixes PR/53993.

Revision 1.56 / (download) - annotate - [select for diffs], Mon Jan 1 08:03:43 2018 UTC (6 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base, 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
Branch point for: phil-wifi
Changes since 1.55: +5 -5 lines
Diff to previous 1.55 (colored)

Use the default %cs, and mask the other segregs.

Revision 1.40.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:53 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.40.2.1: +24 -9 lines
Diff to previous 1.40.2.1 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)

update from HEAD

Revision 1.55 / (download) - annotate - [select for diffs], Sat Oct 21 07:24:26 2017 UTC (6 years, 5 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.54: +4 -2 lines
Diff to previous 1.54 (colored)

Include opt_user_ldt.h when needed.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Oct 19 10:01:09 2017 UTC (6 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.53: +8 -8 lines
Diff to previous 1.53 (colored)

Always mask the 16 bits of the segregs in the trapframe. We don't zero-
extend the uint64_t's when building it, so we're leaking 48 bits of kernel
stack to userland.

Having said that, it appears that I unintentionally fixed most of this
issue in locore.S::rev1.127 - by building the frame with interrupts
disabled, we are implicitly guaranteeing that the structure doesn't get
overwritten by the kernel. Which means, we are leaking to userland data
that comes from userland anyway.

(still other places with this issue, but I'll fix them differently)

Revision 1.53 / (download) - annotate - [select for diffs], Sun Oct 15 12:49:53 2017 UTC (6 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored)

Use two separate functions: cpu_segregs32_zero and cpu_segregs64_zero. The
way segment registers work on amd64 will diverge between 32bit and 64bit
LWPs.

Revision 1.51.6.1 / (download) - annotate - [select for diffs], Mon Sep 4 20:41:28 2017 UTC (6 years, 7 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.51: +4 -2 lines
Diff to previous 1.51 (colored)

Pull up following revision(s) (requested by maxv in ticket #257):
	sys/compat/linux/arch/amd64/linux_machdep.c: 1.52
	sys/arch/amd64/amd64/copy.S: 1.21-1.24
	sys/arch/amd64/amd64/locore.S: 1.125
	sys/arch/amd64/amd64/machdep.c: 1.256
Fix a bug in ucas_32 and ucas_64. There is a branch where they don't
initialize %rax.
--
style, reduces an incoming diff
00
Split comment, otherwise it is misleading. kcopy operates on kernel
memory, and must *not* be used with userland pages.
--
Move incq outside of the copy section. No functional change, reduces
my smap diff.
--
Remove dumb debug code and outdated comment.
--
Don't forget to clean l_md.md_flags, otherwise there may be MDL_COMPAT32,
in which case the kernel would always use iret (slower).

Revision 1.48.6.1 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:58 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.48: +17 -4 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Sync with HEAD

Revision 1.52 / (download) - annotate - [select for diffs], Fri Jul 14 13:21:29 2017 UTC (6 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.51: +4 -2 lines
Diff to previous 1.51 (colored)

Don't forget to clean l_md.md_flags, otherwise there may be MDL_COMPAT32,
in which case the kernel would always use iret (slower).

Revision 1.51.4.1 / (download) - annotate - [select for diffs], Thu Apr 27 05:36:35 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.51: +20 -16 lines
Diff to previous 1.51 (colored) next main 1.52 (colored)

Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita.  There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.

Revision 1.48.14.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:41 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.48: +15 -4 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Sync with HEAD

Revision 1.48.10.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:24 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.48.10.1: +15 -4 lines
Diff to previous 1.48.10.1 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored)

Sync with HEAD

Revision 1.48.12.1 / (download) - annotate - [select for diffs], Mon Mar 13 07:41:26 2017 UTC (7 years, 1 month ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.48: +11 -4 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Sync with netbsd-7-1-RELEASE

Revision 1.39.6.1 / (download) - annotate - [select for diffs], Tue Feb 14 16:59:31 2017 UTC (7 years, 1 month ago) by snj
Branch: netbsd-6
Changes since 1.39: +11 -4 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

Pull up following revision(s) (requested by maxv in ticket #1433):
	sys/compat/linux/arch/amd64/linux_machdep.c: 1.50, 1.51
Don't let userland choose %rip. This is the Intel Sysret vulnerability
again.
--
Make sure %rip is in userland. This is harmless, since the return to
userland is made with iret instead of sysret in this path. While here, use
size_t.

Revision 1.39.12.1 / (download) - annotate - [select for diffs], Tue Feb 14 16:58:44 2017 UTC (7 years, 1 month ago) by snj
Branch: netbsd-6-1
Changes since 1.39: +11 -4 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

Pull up following revision(s) (requested by maxv in ticket #1433):
	sys/compat/linux/arch/amd64/linux_machdep.c: 1.50, 1.51
Don't let userland choose %rip. This is the Intel Sysret vulnerability
again.
--
Make sure %rip is in userland. This is harmless, since the return to
userland is made with iret instead of sysret in this path. While here, use
size_t.

Revision 1.39.10.1 / (download) - annotate - [select for diffs], Tue Feb 14 16:57:57 2017 UTC (7 years, 1 month ago) by snj
Branch: netbsd-6-0
Changes since 1.39: +11 -4 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

Pull up following revision(s) (requested by maxv in ticket #1433):
	sys/compat/linux/arch/amd64/linux_machdep.c: 1.50, 1.51
Don't let userland choose %rip. This is the Intel Sysret vulnerability
again.
--
Make sure %rip is in userland. This is harmless, since the return to
userland is made with iret instead of sysret in this path. While here, use
size_t.

Revision 1.48.8.1 / (download) - annotate - [select for diffs], Tue Feb 14 16:55:27 2017 UTC (7 years, 1 month ago) by snj
Branch: netbsd-7-0
Changes since 1.48: +11 -4 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Pull up following revision(s) (requested by maxv in ticket #1359):
	sys/compat/linux/arch/amd64/linux_machdep.c: 1.50, 1.51
Don't let userland choose %rip. This is the Intel Sysret vulnerability
again.
--
Make sure %rip is in userland. This is harmless, since the return to
userland is made with iret instead of sysret in this path. While here, use
size_t.

Revision 1.48.4.1 / (download) - annotate - [select for diffs], Tue Feb 14 16:54:24 2017 UTC (7 years, 1 month ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE
Branch point for: netbsd-7-1
Changes since 1.48: +11 -4 lines
Diff to previous 1.48 (colored)

Pull up following revision(s) (requested by maxv in ticket #1359):
	sys/compat/linux/arch/amd64/linux_machdep.c: revisions 1.50, 1.51
Don't let userland choose %rip. This is the Intel Sysret vulnerability
again.
--
Make sure %rip is in userland. This is harmless, since the return to
userland is made with iret instead of sysret in this path. While here, use
size_t.

Revision 1.51 / (download) - annotate - [select for diffs], Mon Feb 13 15:03:18 2017 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, netbsd-8-base, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: prg-localcount2, netbsd-8
Changes since 1.50: +3 -1 lines
Diff to previous 1.50 (colored)

Make sure %rip is in userland. This is harmless, since the return to
userland is made with iret instead of sysret in this path. While here, use
size_t.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Feb 13 14:54:11 2017 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.49: +8 -3 lines
Diff to previous 1.49 (colored)

Don't let userland choose %rip. This is the Intel Sysret vulnerability
again.

Revision 1.49 / (download) - annotate - [select for diffs], Sun Feb 5 08:42:49 2017 UTC (7 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.48: +6 -2 lines
Diff to previous 1.48 (colored)

Missing pmap_ldt_cleanup.

Revision 1.48.10.1 / (download) - annotate - [select for diffs], Wed Jul 20 23:47:55 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.48: +20 -16 lines
Diff to previous 1.48 (colored)

Adapt machine-independant code to the new {b,c}devsw reference-counting
(using localcount(9)).  All callers of {b,c}devsw_lookup() now call
{b,c}devsw_lookup_acquire() which retains a reference on the 'struct
{b,c}devsw'.  This reference must be released by the caller once it is
finished with the structure's content (or other data that would disappear
if the 'struct {b,c}devsw' were to disappear).

Revision 1.40.2.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:31 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.40: +17 -54 lines
Diff to previous 1.40 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.38.8.3 / (download) - annotate - [select for diffs], Thu May 22 11:40:16 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.38.8.2: +17 -54 lines
Diff to previous 1.38.8.2 (colored) to branchpoint 1.38 (colored) next main 1.39 (colored)

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")

Revision 1.40.4.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:32 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.40: +17 -54 lines
Diff to previous 1.40 (colored) next main 1.41 (colored)

sync with head

Revision 1.48 / (download) - annotate - [select for diffs], Wed Feb 19 20:50:56 2014 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-base, netbsd-7-1-RC1, 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, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, nick-nhusb, netbsd-7-nhusb, netbsd-7-0, netbsd-7, bouyer-socketcan
Changes since 1.47: +3 -2 lines
Diff to previous 1.47 (colored)

Don't rely on pcb.h including x86/include/sysarch.h

Revision 1.47 / (download) - annotate - [select for diffs], Sat Feb 15 10:11:15 2014 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.46: +6 -19 lines
Diff to previous 1.46 (colored)

Remove all references to MDL_USEDFPU and deferred fpu initialisation.
The cost of zeroing the save area on exec is minimal.
This stops the FP registers of a random process being used the first
  time an lwp uses the fpu.
sendsig_siginfo() and get_mcontext() now unconditionally copy the FP
registers.
I'll remove the double-copy for signal handlers soon.
get_mcontext() might have been leaking kernel memory to userspace - and
  may still do so if i386_use_fxsave is false (short copies).

Revision 1.46 / (download) - annotate - [select for diffs], Tue Feb 11 20:17:16 2014 UTC (10 years, 2 months ago) by dsl
Branch: MAIN
Changes since 1.45: +2 -3 lines
Diff to previous 1.45 (colored)

Move sys/arch/amd64/amd64/fpu.c and sys/arch/amd64/include/fpu.h
into sys/arch/x86 in preparation for using the same code for i386.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Feb 7 22:40:22 2014 UTC (10 years, 2 months ago) by dsl
Branch: MAIN
Changes since 1.44: +13 -38 lines
Diff to previous 1.44 (colored)

Convert the amd64 build to use x86/cpu_extended_state.h so that the fpu
  definitions match those of i386.
Mostly just structure and field renames, in addition:
1) process_xmm_to_s87() and process_s87_to_xmm() moved into
   x86/convert_xmm_s87.c so they can be used by amd64's netbsd32 code.
2) The linux signal code simplified to use a structure copy for ths fxsave
   data - it matches the hardware definition and won't change.

Revision 1.44 / (download) - annotate - [select for diffs], Sat Jan 4 00:10:03 2014 UTC (10 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.43: +4 -3 lines
Diff to previous 1.43 (colored)

Remove __HAVE_PROCESS_XFPREGS and add the extra parameter for the size
  of the fp save area to all the process_read_fpregs() and
  process_write_fpregs() functions.
None of the functions have been modified to use the new parameters.
The size is set for all the writes, but some of the arch-specific reads
  just pass NULL.
The amd64 (and i386) need variable sized fp register save areas in order
  to support AVX and other enhanced register areas.
These functions are rarely called - so the extra argument won't matter.

Revision 1.43 / (download) - annotate - [select for diffs], Sun Dec 1 01:05:16 2013 UTC (10 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.42: +7 -6 lines
Diff to previous 1.42 (colored)

revert fpu/pcu changes until we figure out what's wrong; they cause random
freezes

Revision 1.42 / (download) - annotate - [select for diffs], Mon Nov 18 01:32:32 2013 UTC (10 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored)

initialize %ds to something valid to help ptrace().

Revision 1.41 / (download) - annotate - [select for diffs], Wed Oct 23 20:18:51 2013 UTC (10 years, 5 months ago) by drochner
Branch: MAIN
Changes since 1.40: +6 -7 lines
Diff to previous 1.40 (colored)

Use the MI "pcu" framework for bookkeeping of npx/fpu states on x86.
This reduces the amount of MD code enormously, and makes it easier
to implement support for newer CPU features which require more fpu
state, or for fpu usage by the kernel.
For access to FPU state across CPUs, an xcall kthread is used now
rather than a dedicated IPI.
No user visible changes intended.

Revision 1.38.8.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:40 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.38.8.1: +4 -4 lines
Diff to previous 1.38.8.1 (colored) to branchpoint 1.38 (colored)

sync with head

Revision 1.40 / (download) - annotate - [select for diffs], Sun Jul 8 20:14:12 2012 UTC (11 years, 9 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.39: +4 -4 lines
Diff to previous 1.39 (colored)

The MDP_USEDFPU (amd64 and sh3) and MDP_SSTEP (sh3) are lwp flags not
process ones, rename to MDL_xxx.

Revision 1.38.8.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:15 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.38: +3 -41 lines
Diff to previous 1.38 (colored)

sync with head

Revision 1.39 / (download) - annotate - [select for diffs], Fri Nov 18 04:07:43 2011 UTC (12 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, 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-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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: netbsd-6-1, netbsd-6-0, netbsd-6
Changes since 1.38: +3 -41 lines
Diff to previous 1.38 (colored)

- add sigtimedwait support.
- merge the siginfo population code.

Revision 1.37.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:42 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.37: +10 -71 lines
Diff to previous 1.37 (colored) next main 1.38 (colored)

sync with head

Revision 1.37.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:45:42 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.37: +10 -71 lines
Diff to previous 1.37 (colored) next main 1.38 (colored)

Sync with HEAD.

Revision 1.29.2.5 / (download) - annotate - [select for diffs], Wed Aug 11 22:53:04 2010 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29.2.4: +10 -71 lines
Diff to previous 1.29.2.4 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

sync with head.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Jul 7 01:30:33 2010 UTC (13 years, 9 months ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache
Changes since 1.37: +10 -71 lines
Diff to previous 1.37 (colored)

many changes for COMPAT_LINUX:
 - update the linux syscall table for each platform.
 - support new-style (NPTL) linux pthreads on all platforms.
   clone() with CLONE_THREAD uses 1 process with many LWPs
   instead of separate processes.
 - move the contents of sys__lwp_setprivate() into a new
   lwp_setprivate() and use that everywhere.
 - update linux_release[] and linux32_release[] to "2.6.18".
 - adjust placement of emul fork/exec/exit hooks as needed
   and adjust other emul code to match.
 - convert all struct emul definitions to use named initializers.
 - change the pid allocator to allow multiple pids to refer to the same proc.
 - remove a few fields from struct proc that are no longer needed.
 - disable the non-functional "vdso" code in linux32/amd64,
   glibc works fine without it.
 - fix a race in the futex code where we could miss a wakeup after
   a requeue operation.
 - redo futex locking to be a little more efficient.

Revision 1.29.2.4 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:14 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29.2.3: +9 -8 lines
Diff to previous 1.29.2.3 (colored) to branchpoint 1.29 (colored)

sync with head

Revision 1.37 / (download) - annotate - [select for diffs], Mon Nov 23 00:46:06 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.36: +9 -8 lines
Diff to previous 1.36 (colored)

Use lwp_getpcb() in compat code, clean from struct user.

Revision 1.34.8.2 / (download) - annotate - [select for diffs], Thu Jul 23 23:31:39 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.34.8.1: +4 -17 lines
Diff to previous 1.34.8.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)

Sync with HEAD.

Revision 1.29.2.3 / (download) - annotate - [select for diffs], Sat Jun 20 07:20:14 2009 UTC (14 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29.2.2: +4 -17 lines
Diff to previous 1.29.2.2 (colored) to branchpoint 1.29 (colored)

sync with head

Revision 1.36 / (download) - annotate - [select for diffs], Fri May 29 14:19:12 2009 UTC (14 years, 10 months ago) by njoly
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base, jym-xensuspend-nbase
Changes since 1.35: +4 -17 lines
Diff to previous 1.35 (colored)

Add native to linux siginfo si_status translation, used on i386 and
amd64.

Revision 1.34.8.1 / (download) - annotate - [select for diffs], Wed May 13 17:18:56 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.34: +5 -5 lines
Diff to previous 1.34 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.29.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:12:20 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29.2.1: +13 -13 lines
Diff to previous 1.29.2.1 (colored) to branchpoint 1.29 (colored)

sync with head.

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:35:04 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.34: +5 -5 lines
Diff to previous 1.34 (colored) next main 1.35 (colored)

Sync with HEAD.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Mar 18 16:00:16 2009 UTC (15 years ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jym-xensuspend-base
Changes since 1.34: +5 -5 lines
Diff to previous 1.34 (colored)

bzero -> memset

Revision 1.28.6.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:43 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.28.6.2: +3 -3 lines
Diff to previous 1.28.6.2 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)

Sync with HEAD.

Revision 1.30.4.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:13:53 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.30.4.1: +4 -4 lines
Diff to previous 1.30.4.1 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Oct 26 20:25:49 2008 UTC (15 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: nick-hppapmap-base2, 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, 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, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, jym-xensuspend
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored)

catch up with i386 changes.

Revision 1.30.4.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:16:13 2008 UTC (15 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.30: +8 -8 lines
Diff to previous 1.30 (colored)

Sync with HEAD.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Oct 19 09:44:31 2008 UTC (15 years, 5 months ago) by njoly
Branch: MAIN
CVS Tags: matt-mips64-base2, haad-dm-base1
Changes since 1.32: +3 -3 lines
Diff to previous 1.32 (colored)

Add native to linux siginfo si_code translation, mostly for negative
values. Adjust amd64 and i386 accordingly, not sure about aother archs
i can't test.

Revision 1.28.6.2 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:15 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.28.6.1: +5 -5 lines
Diff to previous 1.28.6.1 (colored) to branchpoint 1.28 (colored)

Sync with HEAD.

Revision 1.29.4.5 / (download) - annotate - [select for diffs], Wed Sep 24 16:38:50 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.29.4.4: +3 -3 lines
Diff to previous 1.29.4.4 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Sep 18 15:57:04 2008 UTC (15 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3
Changes since 1.31: +3 -3 lines
Diff to previous 1.31 (colored)

Define a PSL_CLEARSIG macro for the psl flags to be cleared on signal delivery
and use it everywhere.

Revision 1.29.4.4 / (download) - annotate - [select for diffs], Thu Sep 18 04:36:45 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.29.4.3: +6 -6 lines
Diff to previous 1.29.4.3 (colored) to branchpoint 1.29 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.31 / (download) - annotate - [select for diffs], Fri Aug 1 18:49:28 2008 UTC (15 years, 8 months ago) by jmcneill
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-2
Changes since 1.30: +6 -6 lines
Diff to previous 1.30 (colored)

linux_sys_rt_sigreturn: properly restore stack flags, pointed out by
Juan RP and modified by myself. ok christos@

Revision 1.29.4.3 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:52 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.29.4.2: +3 -2 lines
Diff to previous 1.29.4.2 (colored) to branchpoint 1.29 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.28.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:59 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.28: +9 -8 lines
Diff to previous 1.28 (colored)

Sync with HEAD.

Revision 1.28.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:15 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.28: +9 -8 lines
Diff to previous 1.28 (colored) next main 1.29 (colored)

sync with head.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:38 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.29: +3 -2 lines
Diff to previous 1.29 (colored)

sync with head.

Revision 1.29.4.2 / (download) - annotate - [select for diffs], Wed May 14 19:54:11 2008 UTC (15 years, 11 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.29.4.1: +10 -10 lines
Diff to previous 1.29.4.1 (colored) to branchpoint 1.29 (colored)

Per discussion with ad at n dot o, revert signal mask handling
changes.

The l_sigstk changes are most likely totally un-needed as SA will
never use a signal stack - we send an upcall (or will as other
diffs are brought in).

The l_sigmask changes were too controvertial. In all honesty, I
think it's probably best to revert them. The main reason they were
there is the fact that in an SA process, we don't mask signals per
kernel thread, we mask them per user thread. In the kernel, we want
them all to get turned into upcalls. Thus the normal state of
l_sigmask in an SA process is for it to always be empty.

While we are in the process of delivering a signal, we want to
temporarily mask a signal (so we don't recursively exhaust our
upcall stacks). However signal delivery is rare (important, but
rare), and delivering back-to-back signals is even rarer. So rather
than cause every user of a signal mask to be prepared for this very
rare case, we will just add a second check later in the signal
delivery code. Said change is not in this diff.

This also un-compensates all of our compatability code for dealing
with SA. SA is a NetBSD-specific thing, so there's no need for
Irix, Linux, Solaris, SVR4 and so on to cope with it.

As previously, everything other than kern_sa.c compiles in i386
GENERIC as of this checkin. I will switch to ALL soon for compile
testing.

Revision 1.30 / (download) - annotate - [select for diffs], Sun May 11 17:13:43 2008 UTC (15 years, 11 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, hpcarm-cleanup-nbase
Branch point for: haad-dm
Changes since 1.29: +3 -2 lines
Diff to previous 1.29 (colored)

Pull in machine/cpufunc.h for wrmsr definition.

Revision 1.29.4.1 / (download) - annotate - [select for diffs], Sat May 10 23:48:52 2008 UTC (15 years, 11 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.29: +10 -10 lines
Diff to previous 1.29 (colored)

Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Apr 24 18:39:22 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp, wrstuden-revivesa
Changes since 1.28: +8 -8 lines
Diff to previous 1.28 (colored)

Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since
we no longer need to guard against access from hardware interrupt handlers.

Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the
child process share the parent's lock so that signal state may be kept in
sync. Partially addresses PR kern/37437.

Revision 1.25.2.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:23 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

Sync with HEAD.

Revision 1.9.2.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:41:09 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9.2.5: +27 -55 lines
Diff to previous 1.9.2.5 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored)

sync with head

Revision 1.23.8.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:50:55 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.23.8.1: +27 -55 lines
Diff to previous 1.23.8.1 (colored) to branchpoint 1.23 (colored) next main 1.24 (colored)

sync with HEAD

Revision 1.26.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:10:46 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.26.4.1: +2 -2 lines
Diff to previous 1.26.4.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Sync with HEAD

Revision 1.28 / (download) - annotate - [select for diffs], Sat Jan 5 19:11:53 2008 UTC (16 years, 3 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-pf42, mjf-devfs2
Changes since 1.27: +4 -4 lines
Diff to previous 1.27 (colored)

Use the new names (_REG_RFLAGS and _REG_RSP) for the indexes of __gregs[]
which match the names of in the trapframe and .S code.

Revision 1.26.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:52:15 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.26: +21 -39 lines
Diff to previous 1.26 (colored)

Sync with HEAD

Revision 1.25.4.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:49:04 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.25: +25 -53 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

Sync with head.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Dec 20 23:02:52 2007 UTC (16 years, 3 months ago) by dsl
Branch: MAIN
CVS Tags: vmlocking2-base3
Changes since 1.26: +21 -39 lines
Diff to previous 1.26 (colored)

Convert all the system call entry points from:
    int foo(struct lwp *l, void *v, register_t *retval)
to:
    int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.

Revision 1.23.6.3 / (download) - annotate - [select for diffs], Sun Dec 9 19:36:54 2007 UTC (16 years, 4 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.23.6.2: +7 -17 lines
Diff to previous 1.23.6.2 (colored) to branchpoint 1.23 (colored) next main 1.24 (colored)

Sync with HEAD.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Dec 8 18:36:05 2007 UTC (16 years, 4 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.25: +7 -17 lines
Diff to previous 1.25 (colored)

ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...

Revision 1.23.8.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:24:50 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.23: +18 -16 lines
Diff to previous 1.23 (colored)

sync with HEAD

Revision 1.9.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:29:32 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9.2.4: +18 -16 lines
Diff to previous 1.9.2.4 (colored) to branchpoint 1.9 (colored)

sync with head.

Revision 1.23.6.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:43:53 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.23.6.1: +4 -2 lines
Diff to previous 1.23.6.1 (colored) to branchpoint 1.23 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:36:53 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.24: +4 -2 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Oct 19 18:52:10 2007 UTC (16 years, 5 months ago) by njoly
Branch: MAIN
CVS Tags: vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2, mjf-devfs
Changes since 1.24: +4 -2 lines
Diff to previous 1.24 (colored)

Add compat_linux and exec_linux_elf lkm support for amd64:
- Add needed COMPAT_OSSAUDIO to GENERIC.
- Add missing includes needed by linux_syscallargs.h.
- Add lkm building.

Revision 1.20.2.3 / (download) - annotate - [select for diffs], Tue Oct 9 13:44:04 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.20.2.2: +16 -16 lines
Diff to previous 1.20.2.2 (colored) next main 1.21 (colored)

Sync with head.

Revision 1.23.10.1 / (download) - annotate - [select for diffs], Sat Oct 6 15:30:13 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.23: +16 -16 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

sync with head.

Revision 1.23.6.1 / (download) - annotate - [select for diffs], Thu Oct 4 15:44:50 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.23: +16 -16 lines
Diff to previous 1.23 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Wed Oct 3 10:54:16 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, vmlocking-base
Branch point for: bouyer-xenamd64
Changes since 1.23: +16 -16 lines
Diff to previous 1.23 (colored)

fxsave() is a function, don't re-use the name.

Revision 1.9.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:32:12 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9.2.3: +40 -7 lines
Diff to previous 1.9.2.3 (colored) to branchpoint 1.9 (colored)

sync with head.

Revision 1.20.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:04:05 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.20: +38 -5 lines
Diff to previous 1.20 (colored) next main 1.21 (colored)

Sync with head.

Revision 1.15.2.1.2.1 / (download) - annotate - [select for diffs], Mon Jun 4 01:54:19 2007 UTC (16 years, 10 months ago) by wrstuden
Branch: wrstuden-fixsa
Changes since 1.15.2.1: +9 -4 lines
Diff to previous 1.15.2.1 (colored) next main 1.15.2.2 (colored)

Update to today's netbsd-4.

Revision 1.15.2.2 / (download) - annotate - [select for diffs], Wed May 30 18:20:35 2007 UTC (16 years, 10 months ago) by riz
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-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, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.15.2.1: +9 -4 lines
Diff to previous 1.15.2.1 (colored) to branchpoint 1.15 (colored) next main 1.16 (colored)

Pull up following revision(s) (requested by njoly in ticket #673):
	sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.23
	sys/compat/linux/arch/amd64/linux_machdep.h: revision 1.9
Fix restart of interrupted system calls.
- Make linux_sys_rt_sigreturn() return EJUSTRETURN on success.
- Add missing rax to linux_sigcontext structure; and save/restore
  its value like other members in linux_sendsig()/linux_sys_rt_sigreturn().
With valuable help from manu.

Revision 1.20.2.2 / (download) - annotate - [select for diffs], Sun May 27 14:35:01 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.20.2.1: +8 -5 lines
Diff to previous 1.20.2.1 (colored)

Sync with head.

Revision 1.23 / (download) - annotate - [select for diffs], Thu May 24 11:21:52 2007 UTC (16 years, 10 months ago) by njoly
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: yamt-x86pmap, matt-armv6, jmcneill-pm
Changes since 1.22: +7 -4 lines
Diff to previous 1.22 (colored)

Fix restart of interrupted system calls.

- Make linux_sys_rt_sigreturn() return EJUSTRETURN on success.
- Add missing rax to linux_sigcontext structure; and save/restore
  its value like other members in linux_sendsig()/linux_sys_rt_sigreturn().

With valuable help from manu.

Revision 1.22 / (download) - annotate - [select for diffs], Mon May 21 15:35:47 2007 UTC (16 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

rename si_sigval -> si_value to match POSIX RTS.

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Sun May 13 22:19:56 2007 UTC (16 years, 11 months ago) by pavel
Branch: netbsd-4
Branch point for: wrstuden-fixsa
Changes since 1.15: +32 -2 lines
Diff to previous 1.15 (colored)

Pull up following revision(s) (requested by manu in ticket #637):
	sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.21
	sys/compat/linux/arch/amd64/linux_machdep.h: revision 1.7
	sys/compat/linux/common/linux_termios.c: revision 1.30
Add ptmx fakedevice hack for amd64
Fix a bug in ioctl handling

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:21 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.20: +32 -2 lines
Diff to previous 1.20 (colored)

Sync with head.

Revision 1.17.2.3 / (download) - annotate - [select for diffs], Sat Mar 24 14:55:08 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.17.2.2: +32 -2 lines
Diff to previous 1.17.2.2 (colored) next main 1.18 (colored)

sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Mar 14 21:52:17 2007 UTC (17 years, 1 month ago) by manu
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Changes since 1.20: +32 -2 lines
Diff to previous 1.20 (colored)

Add ptmx fakedevice hack for amd64
Fix a bug in ioctl handling

Revision 1.17.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 05:52:14 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.17.2.1: +4 -4 lines
Diff to previous 1.17.2.1 (colored)

Sync with HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Mon Mar 5 14:14:15 2007 UTC (17 years, 1 month ago) by christos
Branch: MAIN
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

more caddr_t lossage.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Mar 4 06:01:18 2007 UTC (17 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:53:35 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.9.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:09:13 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9.2.2: +51 -39 lines
Diff to previous 1.9.2.2 (colored) to branchpoint 1.9 (colored)

sync with head.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Feb 17 22:31:41 2007 UTC (17 years, 1 month ago) by pavel
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

Change the process/lwp flags seen by userland via sysctl back to the
P_*/L_* naming convention, and rename the in-kernel flags to avoid
conflict. (P_ -> PK_, L_ -> LW_ ). Add back the (now unused) LSDEAD
constant.

Restores source compatibility with pre-newlock2 tools like ps or top.

Reviewed by Andrew Doran.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Feb 15 15:13:33 2007 UTC (17 years, 2 months ago) by ad
Branch: MAIN
Branch point for: yamt-idlelwp
Changes since 1.16: +37 -41 lines
Diff to previous 1.16 (colored)

Fix Linux compat on amd64.

Revision 1.16 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:18 2007 UTC (17 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Changes since 1.15: +23 -7 lines
Diff to previous 1.15 (colored)

Merge newlock2 to head.

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Tue Feb 6 18:59:08 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.14.2.1: +23 -7 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)

More compat changes.

XXX compat_irix, compat_mach and compat_darwin need work.

Revision 1.9.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:47:35 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9.2.1: +10 -7 lines
Diff to previous 1.9.2.1 (colored) to branchpoint 1.9 (colored)

sync with head.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:05 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.14: +5 -3 lines
Diff to previous 1.14 (colored)

Sync with head.

Revision 1.14.4.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:05:24 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.14: +5 -3 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

sync with head

Revision 1.15 / (download) - annotate - [select for diffs], Wed Sep 20 09:54:55 2006 UTC (17 years, 6 months ago) by manu
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, newlock2-nbase, newlock2-base, netbsd-4-base
Branch point for: netbsd-4
Changes since 1.14: +5 -3 lines
Diff to previous 1.14 (colored)

Proprely convert devices on amd64

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:45:27 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.13: +7 -6 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

sync with head

Revision 1.13.8.1 / (download) - annotate - [select for diffs], Sun Sep 3 15:23:40 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.13: +7 -6 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

sync with head.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Aug 23 19:49:09 2006 UTC (17 years, 7 months ago) by manu
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.13: +7 -6 lines
Diff to previous 1.13 (colored)

1) Complete Linux exit_group() emulation
Members of the thread group must die without reporting to the parent and
without going to zombie stage. We do that by reparenting to init before
catching a SIGKILL. The parent will not see the child death.

The thread group leader must report the exit status, even if it exits
because of another thread calling exit_group(). We do that by storing the
exit status in struct linux_emuldata_shared, and the exit hook has the
duty of setting struct proc's p_xstat for the thread group leader.

2) For exit/fork/exec hooks, move the NPTL specific code to separate functions
that are shared between COMPAT_LINUX and COMPAT_LINUX32

3) Fix LINUX_CLONE_PARENT_SETTID semantics

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:59:01 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9: +28 -4 lines
Diff to previous 1.9 (colored)

sync with head.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Dec 16 14:16:14 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, peter-altq-base, peter-altq, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-pdpolicy, rpaulo-netinet-merge-pcb
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (colored)

PR/32303: Nicolas Joly: Fix -current amd64 kernel compilation failure with
options COMPAT_LINUX

Revision 1.12 / (download) - annotate - [select for diffs], Sun Dec 11 12:20:14 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

merge ktrace-lwp.

Revision 1.11.2.2 / (download) - annotate - [select for diffs], Thu Nov 10 14:00:59 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.1: +632 -0 lines
Diff to previous 1.11.2.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

Sync with HEAD. Here we go again...

Revision 1.11.2.1, Sat Nov 5 00:47:26 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11: +0 -632 lines
FILE REMOVED

file linux_machdep.c was added on branch ktrace-lwp on 2005-11-10 14:00:59 +0000

Revision 1.11 / (download) - annotate - [select for diffs], Sat Nov 5 00:47:26 2005 UTC (18 years, 5 months ago) by manu
Branch: MAIN
CVS Tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, ktrace-lwp-base
Branch point for: ktrace-lwp
Changes since 1.10: +25 -2 lines
Diff to previous 1.10 (colored)

Instead of ifdef'ing __amd64__ all the Linux NPTL stuff, introduce an
ifdef LINUX_NPTL.
Also implement SETTLS flag to Linux clone()

Revision 1.10 / (download) - annotate - [select for diffs], Fri Nov 4 16:49:55 2005 UTC (18 years, 5 months ago) by manu
Branch: MAIN
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)

build fix

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jun 24 22:57:05 2005 UTC (18 years, 9 months ago) by manu
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-lazymbuf
Changes since 1.8: +16 -4 lines
Diff to previous 1.8 (colored)

More accurate SIGCHLD code and status for siginfo

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jun 22 20:20:30 2005 UTC (18 years, 9 months ago) by manu
Branch: MAIN
Changes since 1.7: +4 -3 lines
Diff to previous 1.7 (colored)

Fix siginfo to return the right child's status.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jun 22 15:10:51 2005 UTC (18 years, 9 months ago) by manu
Branch: MAIN
Changes since 1.6: +4 -3 lines
Diff to previous 1.6 (colored)

Implent CLONE_PARENT_SETTID, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID
options to clone(). This makes fork() work on amd64.

clone() prototype has changed and the changes is probably revelant on some
other arches.

Revision 1.6 / (download) - annotate - [select for diffs], Sun May 22 19:31:15 2005 UTC (18 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.5: +15 -20 lines
Diff to previous 1.5 (colored)

sigreturn doesn't take arguments. Instead, find out where the signal
frame is from the stack pointer in the frame frame.

Also, don't forget to copy %rip back in.

Revision 1.5 / (download) - annotate - [select for diffs], Sun May 22 14:52:12 2005 UTC (18 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.4: +18 -3 lines
Diff to previous 1.4 (colored)

Use a modified buildcontext function for Linux signals. It doesn't set
the unused segment registers, it just uses the already used values.

Revision 1.4 / (download) - annotate - [select for diffs], Fri May 20 12:48:27 2005 UTC (18 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.3: +66 -8 lines
Diff to previous 1.3 (colored)

Define linux_usertrap function, and set it in struct emul. For all
but amd64, it just returns 0, doing nothing.

For amd64, it implements vsyscalls through cheating: if the faulting
address is in the vsyscall area (which is statically known on Linux/amd64),
and the intruction pointer is too, it must have been a vsyscall. In that
case, retrieve the return address from the user stack, fix up %rip and
%rsp, and just execute the normal system call. It will return as if
the vsyscall has been executed.

Revision 1.3 / (download) - annotate - [select for diffs], Thu May 19 21:16:29 2005 UTC (18 years, 10 months ago) by manu
Branch: MAIN
Changes since 1.2: +10 -4 lines
Diff to previous 1.2 (colored)

Add support for Linux SA_RESTORER on amd64.

Revision 1.2 / (download) - annotate - [select for diffs], Sun May 15 21:43:08 2005 UTC (18 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.1: +39 -24 lines
Diff to previous 1.1 (colored)

Make the arch_prctl system call use the saved %gs and %fs mechanism.

Revision 1.1 / (download) - annotate - [select for diffs], Tue May 3 16:26:30 2005 UTC (18 years, 11 months ago) by manu
Branch: MAIN

First work on COMPAT_LINUX/amd64
Process startup and dynamiclinking work, but processes hang due to
Linux arch_prctl(2) not being really supported yet.

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>