svn commit: r265187 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux

Warner Losh imp at bsdimp.com
Thu May 1 15:17:51 UTC 2014


Re this and the signals changes: Are you sure that these values are identical on all linux ABIs? Last time I checked, there was substantial variation between arm, x86 and mips for these values.

Warner

On May 1, 2014, at 8:02 AM, Dmitry Chagin <dchagin at FreeBSD.org> wrote:

> Author: dchagin
> Date: Thu May  1 14:02:47 2014
> New Revision: 265187
> URL: http://svnweb.freebsd.org/changeset/base/265187
> 
> Log:
>  To avoid code duplication move MI open/fcntl definitions to the MI
>  header file.
> 
> Modified:
>  user/dchagin/lemul/sys/amd64/linux/linux.h
>  user/dchagin/lemul/sys/amd64/linux32/linux.h
>  user/dchagin/lemul/sys/compat/linux/linux_file.h
>  user/dchagin/lemul/sys/compat/linux/linux_socket.c
>  user/dchagin/lemul/sys/i386/linux/linux.h
> 
> Modified: user/dchagin/lemul/sys/amd64/linux/linux.h
> ==============================================================================
> --- user/dchagin/lemul/sys/amd64/linux/linux.h	Thu May  1 14:01:45 2014	(r265186)
> +++ user/dchagin/lemul/sys/amd64/linux/linux.h	Thu May  1 14:02:47 2014	(r265187)
> @@ -353,44 +353,6 @@ struct l_rt_sigframe {
> };
> 
> /*
> - * open/fcntl flags
> - */
> -#define	LINUX_O_RDONLY		00000000
> -#define	LINUX_O_WRONLY		00000001
> -#define	LINUX_O_RDWR		00000002
> -#define	LINUX_O_ACCMODE		00000003
> -#define	LINUX_O_CREAT		00000100
> -#define	LINUX_O_EXCL		00000200
> -#define	LINUX_O_NOCTTY		00000400
> -#define	LINUX_O_TRUNC		00001000
> -#define	LINUX_O_APPEND		00002000
> -#define	LINUX_O_NONBLOCK	00004000
> -#define	LINUX_O_NDELAY		LINUX_O_NONBLOCK
> -#define	LINUX_O_SYNC		00010000
> -#define	LINUX_FASYNC		00020000
> -#define	LINUX_O_DIRECT		00040000	/* Direct disk access hint */
> -#define	LINUX_O_LARGEFILE	00100000
> -#define	LINUX_O_DIRECTORY	00200000	/* Must be a directory */
> -#define	LINUX_O_NOFOLLOW	00400000	/* Do not follow links */
> -#define	LINUX_O_NOATIME		01000000
> -#define	LINUX_O_CLOEXEC		02000000
> -
> -#define	LINUX_F_DUPFD		0
> -#define	LINUX_F_GETFD		1
> -#define	LINUX_F_SETFD		2
> -#define	LINUX_F_GETFL		3
> -#define	LINUX_F_SETFL		4
> -#define	LINUX_F_GETLK		5
> -#define	LINUX_F_SETLK		6
> -#define	LINUX_F_SETLKW		7
> -#define	LINUX_F_SETOWN		8
> -#define	LINUX_F_GETOWN		9
> -
> -#define	LINUX_F_RDLCK		0
> -#define	LINUX_F_WRLCK		1
> -#define	LINUX_F_UNLCK		2
> -
> -/*
>  * mount flags
>  */
> #define	LINUX_MS_RDONLY		0x0001
> 
> Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h
> ==============================================================================
> --- user/dchagin/lemul/sys/amd64/linux32/linux.h	Thu May  1 14:01:45 2014	(r265186)
> +++ user/dchagin/lemul/sys/amd64/linux32/linux.h	Thu May  1 14:02:47 2014	(r265187)
> @@ -468,47 +468,12 @@ struct l_rt_sigframe {
> } __packed;
> 
> /*
> - * open/fcntl flags
> + * arch specific open/fcntl flags
>  */
> -#define	LINUX_O_RDONLY		00000000
> -#define	LINUX_O_WRONLY		00000001
> -#define	LINUX_O_RDWR		00000002
> -#define	LINUX_O_ACCMODE		00000003
> -#define	LINUX_O_CREAT		00000100
> -#define	LINUX_O_EXCL		00000200
> -#define	LINUX_O_NOCTTY		00000400
> -#define	LINUX_O_TRUNC		00001000
> -#define	LINUX_O_APPEND		00002000
> -#define	LINUX_O_NONBLOCK	00004000
> -#define	LINUX_O_NDELAY		LINUX_O_NONBLOCK
> -#define	LINUX_O_SYNC		00010000
> -#define	LINUX_FASYNC		00020000
> -#define	LINUX_O_DIRECT		00040000	/* Direct disk access hint */
> -#define	LINUX_O_LARGEFILE	00100000
> -#define	LINUX_O_DIRECTORY	00200000	/* Must be a directory */
> -#define	LINUX_O_NOFOLLOW	00400000	/* Do not follow links */
> -#define	LINUX_O_NOATIME		01000000
> -#define	LINUX_O_CLOEXEC		02000000
> -
> -#define	LINUX_F_DUPFD		0
> -#define	LINUX_F_GETFD		1
> -#define	LINUX_F_SETFD		2
> -#define	LINUX_F_GETFL		3
> -#define	LINUX_F_SETFL		4
> -#define	LINUX_F_GETLK		5
> -#define	LINUX_F_SETLK		6
> -#define	LINUX_F_SETLKW		7
> -#define	LINUX_F_SETOWN		8
> -#define	LINUX_F_GETOWN		9
> -
> #define	LINUX_F_GETLK64		12
> #define	LINUX_F_SETLK64		13
> #define	LINUX_F_SETLKW64	14
> 
> -#define	LINUX_F_RDLCK		0
> -#define	LINUX_F_WRLCK		1
> -#define	LINUX_F_UNLCK		2
> -
> union l_semun {
> 	l_int		val;
> 	l_uintptr_t	buf;
> 
> Modified: user/dchagin/lemul/sys/compat/linux/linux_file.h
> ==============================================================================
> --- user/dchagin/lemul/sys/compat/linux/linux_file.h	Thu May  1 14:01:45 2014	(r265186)
> +++ user/dchagin/lemul/sys/compat/linux/linux_file.h	Thu May  1 14:02:47 2014	(r265187)
> @@ -54,4 +54,42 @@
> #define	LINUX_MS_NOEXEC		0x0008
> #define	LINUX_MS_REMOUNT	0x0020
> 
> +/*
> + * common open/fcntl flags
> + */
> +#define	LINUX_O_RDONLY		00000000
> +#define	LINUX_O_WRONLY		00000001
> +#define	LINUX_O_RDWR		00000002
> +#define	LINUX_O_ACCMODE		00000003
> +#define	LINUX_O_CREAT		00000100
> +#define	LINUX_O_EXCL		00000200
> +#define	LINUX_O_NOCTTY		00000400
> +#define	LINUX_O_TRUNC		00001000
> +#define	LINUX_O_APPEND		00002000
> +#define	LINUX_O_NONBLOCK	00004000
> +#define	LINUX_O_NDELAY		LINUX_O_NONBLOCK
> +#define	LINUX_O_SYNC		00010000
> +#define	LINUX_FASYNC		00020000
> +#define	LINUX_O_DIRECT		00040000	/* Direct disk access hint */
> +#define	LINUX_O_LARGEFILE	00100000
> +#define	LINUX_O_DIRECTORY	00200000	/* Must be a directory */
> +#define	LINUX_O_NOFOLLOW	00400000	/* Do not follow links */
> +#define	LINUX_O_NOATIME		01000000
> +#define	LINUX_O_CLOEXEC		02000000
> +
> +#define	LINUX_F_DUPFD		0
> +#define	LINUX_F_GETFD		1
> +#define	LINUX_F_SETFD		2
> +#define	LINUX_F_GETFL		3
> +#define	LINUX_F_SETFL		4
> +#define	LINUX_F_GETLK		5
> +#define	LINUX_F_SETLK		6
> +#define	LINUX_F_SETLKW		7
> +#define	LINUX_F_SETOWN		8
> +#define	LINUX_F_GETOWN		9
> +
> +#define	LINUX_F_RDLCK		0
> +#define	LINUX_F_WRLCK		1
> +#define	LINUX_F_UNLCK		2
> +
> #endif	/* !_LINUX_FILE_H_ */
> 
> Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c
> ==============================================================================
> --- user/dchagin/lemul/sys/compat/linux/linux_socket.c	Thu May  1 14:01:45 2014	(r265186)
> +++ user/dchagin/lemul/sys/compat/linux/linux_socket.c	Thu May  1 14:02:47 2014	(r265187)
> @@ -70,6 +70,7 @@ __FBSDID("$FreeBSD$");
> #include <machine/../linux/linux.h>
> #include <machine/../linux/linux_proto.h>
> #endif
> +#include <compat/linux/linux_file.h>
> #include <compat/linux/linux_socket.h>
> #include <compat/linux/linux_util.h>
> 
> 
> Modified: user/dchagin/lemul/sys/i386/linux/linux.h
> ==============================================================================
> --- user/dchagin/lemul/sys/i386/linux/linux.h	Thu May  1 14:01:45 2014	(r265186)
> +++ user/dchagin/lemul/sys/i386/linux/linux.h	Thu May  1 14:02:47 2014	(r265187)
> @@ -445,47 +445,12 @@ struct l_rt_sigframe {
> extern struct sysentvec linux_sysvec;
> 
> /*
> - * open/fcntl flags
> + * arch specific open/fcntl flags
>  */
> -#define	LINUX_O_RDONLY		00000000
> -#define	LINUX_O_WRONLY		00000001
> -#define	LINUX_O_RDWR		00000002
> -#define	LINUX_O_ACCMODE		00000003
> -#define	LINUX_O_CREAT		00000100
> -#define	LINUX_O_EXCL		00000200
> -#define	LINUX_O_NOCTTY		00000400
> -#define	LINUX_O_TRUNC		00001000
> -#define	LINUX_O_APPEND		00002000
> -#define	LINUX_O_NONBLOCK	00004000
> -#define	LINUX_O_NDELAY		LINUX_O_NONBLOCK
> -#define	LINUX_O_SYNC		00010000
> -#define	LINUX_FASYNC		00020000
> -#define	LINUX_O_DIRECT		00040000	/* Direct disk access hint */
> -#define	LINUX_O_LARGEFILE	00100000
> -#define	LINUX_O_DIRECTORY	00200000	/* Must be a directory */
> -#define	LINUX_O_NOFOLLOW	00400000	/* Do not follow links */
> -#define	LINUX_O_NOATIME		01000000
> -#define	LINUX_O_CLOEXEC		02000000
> -
> -#define	LINUX_F_DUPFD		0
> -#define	LINUX_F_GETFD		1
> -#define	LINUX_F_SETFD		2
> -#define	LINUX_F_GETFL		3
> -#define	LINUX_F_SETFL		4
> -#define	LINUX_F_GETLK		5
> -#define	LINUX_F_SETLK		6
> -#define	LINUX_F_SETLKW		7
> -#define	LINUX_F_SETOWN		8
> -#define	LINUX_F_GETOWN		9
> -
> #define	LINUX_F_GETLK64		12
> #define	LINUX_F_SETLK64		13
> #define	LINUX_F_SETLKW64	14
> 
> -#define	LINUX_F_RDLCK		0
> -#define	LINUX_F_WRLCK		1
> -#define	LINUX_F_UNLCK		2
> -
> union l_semun {
> 	l_int		val;
> 	struct l_semid_ds	*buf;
> 



More information about the svn-src-user mailing list