Date: Fri, 25 Jul 2003 08:57:29 +0800 From: "David Xu" <davidxu@viatech.com.cn> To: "Julian Elischer" <julian@elischer.org> Cc: marcel@xcllnt.net Subject: Re: KSD/TSD take 2 (was: KSE critical regions) Message-ID: <001b01c35247$b8bd3870$f001a8c0@davidw2k> References: <Pine.BSF.4.21.0307241632290.71231-100000@InterJet.elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
----- Original Message -----=20 From: "Julian Elischer" <julian@elischer.org> To: "David Xu" <davidxu@freebsd.org> Cc: <deischen@freebsd.org>; <threads@freebsd.org>; <marcel@xcllnt.net> Sent: Friday, July 25, 2003 8:45 AM Subject: Re: KSD/TSD take 2 (was: KSE critical regions) >=20 >=20 > On Fri, 25 Jul 2003, David Xu wrote: >=20 > >=20 > > >=20 > >=20 > > Dan has two fields in kse_mailbox: > >=20 > > void *km_ksdaddr; /* KSE specific data address */ > > uint32_t km_ksdsize; /* KSE specific data size */ > >=20 > > I think it is used to tell kernel to map start address=20 > > of libkse's kse mailbox like above lib_kse_mailbox. > >=20 > > > presently it requires special code to do the segments.. > > > (in teh library) > > >=20 > > >=20 > > Did you make some progresses in this area ? >=20 > 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.. >=20 >=20 > 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. > This sounds good to me. =20 > having it done by by the library with the 'shotgun' code > is probably good enough for now >=20 >=20 OK.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001b01c35247$b8bd3870$f001a8c0>