Date: Tue, 9 Oct 2007 03:48:51 +0300 From: Mihai =?utf-8?q?Don=C8=9Bu?= <mihai.dontu@gmail.com> To: Jung-uk Kim <jkim@freebsd.org> Cc: freebsd-emulation@freebsd.org, freebsd-questions@freebsd.org Subject: Re: amd64_set_gsbase() Message-ID: <200710090348.52036.mihai.dontu@gmail.com> In-Reply-To: <200710081841.35968.jkim@FreeBSD.org> References: <200710082135.58099.mihai.dontu@gmail.com> <200710090100.58577.mihai.dontu@gmail.com> <200710081841.35968.jkim@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 09 October 2007, Jung-uk Kim wrote: > In long mode, we don't really care about segment registers. While > implementing TLS for Linuxulator, I had to do the following hack, for > example: > > http://docs.freebsd.org/cgi/mid.cgi?200703300006.l2U06LA1075891 > > Under Linux and Windows, they do preserve segment registers vs. base > addresses mapping for backward compatibility, AFAIK with some > performance penalty. Ah! But you are doing your magic _in the kernel_. I don't have this luxury :) I have to do everything in user space (as a normal user) on an out-of-the-box FreeBSD (-stable). I have *one* more question: maybe I don't fully understand the hole BASE thing, but since the FreeBSD kernel does not preserve %gs and %fs, what is the purpose of amd64_set_XXbase()? Thanks, -- Mihai Donțu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710090348.52036.mihai.dontu>