KSD/TSD take 2 (was: KSE critical regions)

Daniel Eischen eischen at vigrid.com
Fri Jul 25 01:33:46 PDT 2003


On Fri, 25 Jul 2003, David Xu wrote:
> From: "Daniel Eischen" <eischen at vigrid.com>
> 
> 
> > On Fri, 25 Jul 2003, Terry Lambert wrote:
> > 
> > > Daniel Eischen wrote:
> > > > I'd like to try and get his implemented in this next
> > > > round of changes.  If you are going to add a system
> > > > call, it's easy enough just to call the guts of it
> > > > from kse_create().
> > > 
> > > FWIW: One trick would be to use an "invalid" value for one of the
> > > parameters on the existing call to mux you into an alternate
> > > implementsion (which could even take additional parameters, for
> > > obvious reasons).
> > 
> > Possibly...
> > 
> >     i386_set_ldt(int start_sel, union descriptor *descs, int num_sels);
> > 
> > You could use start_sel = 0 and num_sels = 1 to have it automatically
> > find the first one not already allocated.  The function already
> > returns the first selector allocated.
> > 
> Not only allocate, there needs a deallocate call.

You could pass in NULL for descs...

-- 
Dan Eischen



More information about the freebsd-threads mailing list