Date: Tue, 21 Nov 2000 17:19:23 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: Daniel Eischen <eischen@vigrid.com> Cc: Jonathan Lemon <jlemon@flugsvamp.com>, arch@FreeBSD.org Subject: Re: Thread-specific data and KSEs Message-ID: <XFMail.001121171923.jhb@FreeBSD.org> In-Reply-To: <Pine.SUN.3.91.1001121201152.11654A-100000@pcnet1.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 22-Nov-00 Daniel Eischen wrote: > On Tue, 21 Nov 2000, John Baldwin wrote: >> >> On 22-Nov-00 Daniel Eischen wrote: >> > On Tue, 21 Nov 2000, Jonathan Lemon wrote: >> >> On Tue, Nov 21, 2000 at 06:51:59PM -0500, Daniel Eischen wrote: >> >> > I'm going to start working on the user-side of the new threads >> >> > library. I need to be able to quickly get at the current KSE >> >> > (or perhaps KSEG). Can we define a register on each architecture >> >> > that should not be used by FreeBSD ABI compliant applications? >> >> > The register doesn't have to be 32 bits or larger, just large >> >> > enough to hold the maximum number of KSEs (or KSEGs). >> >> >> >> Um. On a i386 I'm not sure this will be practical, there aren't >> >> a whole lot of architecturally visible registers for use by the >> >> application. >> > >> > Why can't we use a segment register? >> >> %cs = code segment and is taken >> %ds = data segment and is taken >> %es = not sure, but bet it isn't safe >> %ss = stack, taken >> %fs = per-CPU data > > Isn't this kernel-only? I think so, but I would prefer that we use %gs if we go this route so that the same mechanism can be used both in and out of the kernel. If that makes sense. >> %gs ? as I mentioned in my other message, this one might be useful for >> addressing a structure of thread-local variables much like %fs is used for >> per-CPU data. It also has value in that supposedly x86-64 (aka k64) has >> both >> %fs and %gs, but no other seg regs. > > All I need is one. Well, %gs would cover x86 and k64. I think ia64 has several application registers that are available for OS use and we could steal one of those. I'm not sure about the alpha though. -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.001121171923.jhb>