Date: Mon, 18 Aug 2008 10:05:41 +0200 From: "Alexander Leidinger" <Alexander@Leidinger.net> To: "Chagin Dmitry" <dchagin@freebsd.org> Cc: freebsd-emulation@freebsd.org Subject: Re: x86_64 linuxulator patches Message-ID: <20080818100541.20073jcxqbtyci80@webmail.leidinger.net> In-Reply-To: <20080817181757.GA2940@dchagin.dialup.corbina.ru> References: <20080810072013.GA15196@dchagin.dialup.corbina.ru> <20080810115406.GR97161@deviant.kiev.zoral.com.ua> <20080810120424.GA15768@dchagin.dialup.corbina.ru> <20080810122124.GS97161@deviant.kiev.zoral.com.ua> <20080817181757.GA2940@dchagin.dialup.corbina.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting "Chagin Dmitry" <dchagin@freebsd.org> (from Sun, 17 Aug 2008 =20 22:17:57 +0400): > On Sun, Aug 10, 2008 at 03:21:24PM +0300, Kostik Belousov wrote: >> On Sun, Aug 10, 2008 at 04:04:24PM +0400, Chagin Dmitry wrote: >> > On Sun, Aug 10, 2008 at 02:54:06PM +0300, Kostik Belousov wrote: >> > > On Sun, Aug 10, 2008 at 11:20:13AM +0400, Chagin Dmitry wrote: >> > > > Hi, as promised, I place x86_64 linuxulator patches. >> > > > >> > > > here the basic patch: >> > > > http://78.107.232.239/linuxulator64-current.patch >> > > > >> > > > here recvmsg && sendmsg patch (not tested with really applications)= : >> > > > http://78.107.232.239/send-recv-msg.patch >> > > > >> > > > here master repository: >> > > > git://78.107.232.239/linuxulator >> > > > >> > > > and ports used for testing (and only for testing): >> > > > git://78.107.232.239/linux_base-f8 >> > > > git://78.107.232.239/linux_devel-f8 >> > > > git://78.107.232.239/linux_kdump-1.6 >> > > > >> > > > by default on amd64 builds i386 linuxulator, for build x86_64 use >> > > > cd sys/modules/linux >> > > > make -D COMPAT_LINUX64 >> > > > >> > > > for correct recognition of what linuxulator version is used >> > > > added new sysctl compat.linux.platform >> > > > for example use in ports Makefile's: >> > > > >> > > > LINUX_PLATFORM!=3D /sbin/sysctl -n compat.linux.platform =20 >> 2>/dev/null >> > > > >> > > > .if ${LINUX_PLATFORM}x =3D=3D "x" >> > > > IGNORE=3D linuxulator is not (kld)loaded >> > > > .elif ${LINUX_PLATFORM} =3D=3D "i386" >> > > > LINUX_RPM_ARCH=3D i386 >> > > > .elif ${LINUX_PLATFORM} =3D=3D "x86_64" >> > > > LINUX_RPM_ARCH=3D x86_64 >> > > > SFX=3D 64 >> > > > .else >> > > > IGNORE=3D ${LINUX_PLATFORM} is not supported >> > > > .endif >> > > > >> > > > I shal glad to remarks, proposals and results of testing. >> > > > thnx >> > > >> > > Reading your email, I got an impression that i386/linux and x86_64/li= nux >> > > ABI emulators are mutually exclusive. Is this right ? I think it woul= d >> > > be most useful to be able to have them both in one kernel. >> > >> > yes, it so. if there are ports working only on i386 it's necessary >> > to do it. I don't know such ports :( >> >> Whether there is a _port_ that has no amd64 counterpart for i386 one is >> irrelevant there. The Linux ABI emulation is supposed to work not only wi= th >> a software installed from port, but with most binaries. >> >> If emulating both ia32 and x86_64 simultaneously is technically feasible >> (and I believe it is), then both should be available. i386->amd64 is >> not the replacement step, this is an backward-compatible upgrade. > > Something few the interested participants of discussion :) > problem in that I am not familiar with a ports infrastructure... > > in my opinion the best decision for amd64 looks so. > we use two modules. linux.ko for x86_64 and linux32.ko for ia32, > option COMPAT_LINUX for x86_64 and COMPAT_LINUX32 for ia32. > and two linux_base directories: /compat/linux for x86_64 > and /compat/linux32 for ia32. > > there are other opinions? I propose: - /compat/linux64 for 64bit stuff - /compat/linux32 a symlink to /compat/linux - /compat/linux for 32bit stuff (we can think about having) Reasons: - existing installations don't get fucked up with a partial update (very big point!) - we don't have to special case amd64-linux32 for LINUXBASE, we just have to distinguish 32 and 64 bit (maybe with switches USE_LINUX and USE_LINUX64, we have to have separate 64bit ports anyway, when we want to be able to install in parallel) Bye, Alexander. --=20 If God wanted us to be brave, why did he give us legs? =09=09-- Marvin Kitman http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080818100541.20073jcxqbtyci80>