svn commit: r265187 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux
Chagin Dmitry
dchagin at freebsd.org
Thu May 1 16:26:46 UTC 2014
On Thu, May 01, 2014 at 09:17:45AM -0600, Warner Losh wrote:
> 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.
>
They are all different. I know. We emulate only x86, not arm or mips. So what the reason to case about this platform?
> 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;
> >
>
--
Have fun!
chd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-user/attachments/20140501/5b5c9a16/attachment.sig>
More information about the svn-src-user
mailing list