From owner-freebsd-threads@FreeBSD.ORG Thu Jul 24 17:46:06 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 24BD237B401; Thu, 24 Jul 2003 17:46:05 -0700 (PDT) Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13DA143F75; Thu, 24 Jul 2003 17:46:05 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([12.233.125.100]) by attbi.com (rwcrmhc11) with ESMTP id <2003072500460301300n8g60e>; Fri, 25 Jul 2003 00:46:03 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id RAA71730; Thu, 24 Jul 2003 17:45:58 -0700 (PDT) Date: Thu, 24 Jul 2003 17:45:57 -0700 (PDT) From: Julian Elischer To: David Xu In-Reply-To: <005701c35238$dc713a00$0701a8c0@tiger> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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:46:07 -0000 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 > > >