[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: %gs:0 thread pseudoregister in oskit-mach
From: |
Farid Hajji |
Subject: |
Re: %gs:0 thread pseudoregister in oskit-mach |
Date: |
Wed, 24 Apr 2002 17:09:13 +0200 (CEST) |
> > The UTCB is a central information page for L4 userspace threads
> > and it's pretty difficult to find another x86 register that can
> > be used to point to it.
>
> What's wrong with %fs? But anyway, that is fine if the one word at %gs:0
> can be made available for user use. Ideally that word would be writable
> (which you could manage along with read-only use by situating the segment
> base on a page boundary, one page writable and one not). But the only
> thing that would write it is pthreads innards, so it would be workable to
> have a system call to set the %gs:0 word for a thread.
Hmmm, the L4 X.2 spec only says that %gs:0 points to the UTCB area
and that it should be read out.
If userspace threads can change %gs:0 without interfering with L4, fine.
We could just squirrel %gs:0 away in crt0.c before glibc takes over
and changes %gs.
BUT, I'm not sure if
* %gs:0 can be written to by userspace threads
* the L4 API _implementation_ reads %gs:0 afterwards.
> I don't know the L4 interfaces, but why not just make this page accessible
> at a canonical address accessible from the standard user %ds segment?
%ds and other registers are needed for the L4 syscalls.
The problem is that especially x86 has so few registers :-(
Espen or someone from the L4ka team should comment on this, please.
-Farid.
--
Farid Hajji -- Unix Systems and Network Admin | Phone: +49-2131-67-555
Broicherdorfstr. 83, D-41564 Kaarst, Germany | farid.hajji@ob.kamp.net
- - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - -
One OS To Rule Them All And In The Darkness Bind Them... --Bill Gates.
Re: %gs:0 thread pseudoregister in oskit-mach, Roland McGrath, 2002/04/23