bug-hurd
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]