From owner-freebsd-threads@FreeBSD.ORG Thu Jul 24 17:53:59 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E784737B401; Thu, 24 Jul 2003 17:53:59 -0700 (PDT) Received: from exchhz01.viatech.com.cn (ip-167-164-97-218.anlai.com [218.97.164.167]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E8E243F85; Thu, 24 Jul 2003 17:53:57 -0700 (PDT) (envelope-from davidxu@viatech.com.cn) Received: from davidw2k (ip-240-1-168-192.rev.dyxnet.com [192.168.1.240]) by exchhz01.viatech.com.cn with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21) id P3SG7XQT; Fri, 25 Jul 2003 08:36:45 +0800 Message-ID: <001b01c35247$b8bd3870$f001a8c0@davidw2k> From: "David Xu" To: "Julian Elischer" References: Date: Fri, 25 Jul 2003 08:57:29 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 cc: deischen@freebsd.org cc: threads@freebsd.org cc: marcel@xcllnt.net Subject: Re: KSD/TSD take 2 (was: KSE critical regions) X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jul 2003 00:54:00 -0000 ----- Original Message -----=20 From: "Julian Elischer" To: "David Xu" Cc: ; ; 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.