KSD/TSD take 2 (was: KSE critical regions)
Julian Elischer
julian at elischer.org
Thu Jul 24 17:46:07 PDT 2003
On Fri, 25 Jul 2003, David Xu wrote:
>
> >
>
> Dan has two fields in kse_mailbox:
>
> void *km_ksdaddr; /* KSE specific data address */
> uint32_t km_ksdsize; /* KSE specific data size */
>
> I think it is used to tell kernel to map start address
> of libkse's kse mailbox like above lib_kse_mailbox.
>
> > presently it requires special code to do the segments..
> > (in teh library)
> >
> >
> Did you make some progresses in this area ?
It requires thatI rewrite the LDT code in WINE
because wine just clobbers the LDT without looking to see if anyone else
is using entries..
My aim was to have a call i386_set_ldt that takes an addr and length
and returns teh value that needs to be set into a segment register
in order to access that segment (or error if no more segments
available). Wine could use it from userland and kse_create could use it
from inside the kernel to set up a segment that covers the mailbox.
kse_create would set it into the %gs register of the newly created kse.
having it done by by the library with the 'shotgun' code
is probably good enough for now
>
>
>
More information about the freebsd-threads
mailing list