Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Aug 2003 19:18:11 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        current@freebsd.org
Subject:   Re: NVidia glx stuff dies in sysarch(I386_SET_LDT, ...)
Message-ID:  <Pine.GSO.4.10.10308011911520.321-100000@pcnet5.pcnet.com>
In-Reply-To: <20030801230157.GA6323@dhcp01.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 1 Aug 2003, Marcel Moolenaar wrote:

> On Fri, Aug 01, 2003 at 06:51:33PM -0400, Daniel Eischen wrote:
> 
> > > LUCODE_SEL is used by kernel to load _ucodesel to user %cs
> > > LUDATA_SEL is used by kernel to load _udatasel to user %ds, %es, %fs, %gs.
> > > I didn't check other ABIs, but setting to a fixed location of LDT in userland
> > > is also a bad idea, I think it will conflict with thread library soon,
> > > it is better to use dynamic allocating facility newly added in i386_set_ldt.
> > 
> > Perhaps we need to rethink the interface and disallow
> > specification of any ldt; only allow dynamic.  We would
> > need a different method of setting an array of them, though.
> 
> Why not allow setting a specific entry when it's currently unused
> and not reserved by us?
> We can simply fail if the process is trying to set a LDT entry that's
> currently being used or is reserved by us. The only case that causes
> problems is when an existing LDT entry is overwritten by another
> consumer.

That's what I was worried about.  Once an application or
library is written to use specific LDTs, you never know
how it will be affected by the use of threading libraries
(or other libraries using threads).

I can see the need to keep the old behavoir for compatibility's
sake.

-- 
Dan Eischen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10308011911520.321-100000>