segment register usage

Andreas Fuchs asf at void.at
Thu Jul 24 01:56:00 PDT 2003


Today, Matthew Dillon <dillon at xxxxxxxxxxxxxxxxxxxx> wrote:
>     The kernel saves and restores all the segment registers, but as
>     per Julian libc is expected to be able to use %gs.  So that leaves
>     %es and %fs for third-party use.

Good to know. Thanks.

>:Also, will you remove the requirement to recompile the kernel with
>:option USER_LDT to get access to the i386_set/get_ldt functions? These
>:are really useful if you have a free segment register to point to an
>:LDT containing thread-local data.
>
>     That's fairly i386-specific, I would hate it if people got used to
>     using those functions.  A better solution would be some sort of 
>     kernel-supported abstraction which we would just happen to be able
>     to optimize to USER_LDT operations on i386.

Well, given that I'd like to use them in a native-code compiler, which
is by definition pretty i386-specific on i386 (-;, I felt it natural to
expect the i386_*ldt functions to be present.

It's not like people aren't used to recompiling their kernels in order
to use wine, but this always felt like a wart to me.

But anyway, this has probably been discussed to death on other mailing
lists. I'll be back with some nagging questions about threads and
signals when the time has come (-:

Have fun,
-- 
Andreas Fuchs, <asf at xxxxxxx>, asf at xxxxxxxxx, antifuchs





More information about the Kernel mailing list