Date: Sun, 5 May 2013 17:41:58 +0000 (UTC) From: Dmitry Chagin <dchagin@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250281 - in user/dchagin/lemul/sys: amd64/linux32 compat/linux i386/linux Message-ID: <201305051741.r45HfwqE080164@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dchagin Date: Sun May 5 17:41:58 2013 New Revision: 250281 URL: http://svnweb.freebsd.org/changeset/base/250281 Log: Get ready to commit x86_64 Linux emulation. x86_64 Linux do not use multiplexing on ipc system calls. Move struct ipc_perm definition to the MD path as it differs for 64 and 32 bit platform. Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h user/dchagin/lemul/sys/compat/linux/linux_ipc.c user/dchagin/lemul/sys/compat/linux/linux_ipc.h user/dchagin/lemul/sys/i386/linux/linux.h Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux.h Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/amd64/linux32/linux.h Sun May 5 17:41:58 2013 (r250281) @@ -568,6 +568,16 @@ union l_semun { l_uintptr_t __pad; } __packed; +struct l_ipc_perm { + l_key_t key; + l_uid16_t uid; + l_gid16_t gid; + l_uid16_t cuid; + l_gid16_t cgid; + l_ushort mode; + l_ushort seq; +}; + /* * Socket defines */ Modified: user/dchagin/lemul/sys/compat/linux/linux_ipc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ipc.c Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/compat/linux/linux_ipc.c Sun May 5 17:41:58 2013 (r250281) @@ -117,16 +117,6 @@ bsd_to_linux_shm_info( struct shm_info * lpp->swap_successes = bpp->swap_successes ; } -struct l_ipc_perm { - l_key_t key; - l_uid16_t uid; - l_gid16_t gid; - l_uid16_t cuid; - l_gid16_t cgid; - l_ushort mode; - l_ushort seq; -}; - static void linux_to_bsd_ipc_perm(struct l_ipc_perm *lpp, struct ipc_perm *bpp) { Modified: user/dchagin/lemul/sys/compat/linux/linux_ipc.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ipc.h Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/compat/linux/linux_ipc.h Sun May 5 17:41:58 2013 (r250281) @@ -82,7 +82,7 @@ #define LINUX_IPC_64 0x0100 /* New version (support 32-bit UIDs, bigger message sizes, etc. */ -#if defined(__i386__) || defined(__amd64__) +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) struct linux_msgctl_args { @@ -177,6 +177,6 @@ int linux_shmctl(struct thread *, struct int linux_shmdt(struct thread *, struct linux_shmdt_args *); int linux_shmget(struct thread *, struct linux_shmget_args *); -#endif /* __i386__ || __amd64__ */ +#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ #endif /* _LINUX_IPC_H_ */ Modified: user/dchagin/lemul/sys/i386/linux/linux.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux.h Sun May 5 17:27:58 2013 (r250280) +++ user/dchagin/lemul/sys/i386/linux/linux.h Sun May 5 17:41:58 2013 (r250281) @@ -545,6 +545,16 @@ union l_semun { void *__pad; }; +struct l_ipc_perm { + l_key_t key; + l_uid16_t uid; + l_gid16_t gid; + l_uid16_t cuid; + l_gid16_t cgid; + l_ushort mode; + l_ushort seq; +}; + /* * Socket defines */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305051741.r45HfwqE080164>