From owner-freebsd-threads@FreeBSD.ORG Wed Mar 3 15:26:38 2004 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 23BD116A4DB for ; Wed, 3 Mar 2004 15:26:38 -0800 (PST) Received: from liberty.onthenet.com.au (liberty.OntheNet.com.au [203.22.124.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7EE3443D2F for ; Wed, 3 Mar 2004 15:26:37 -0800 (PST) (envelope-from grehan@freebsd.org) Received: from freebsd.org (CPE-30-38.dsl.onthenet.net [203.144.30.38]) i23NQZZG087368; Thu, 4 Mar 2004 09:26:36 +1000 (EST) (envelope-from grehan@freebsd.org) Message-ID: <40466A3F.5070904@freebsd.org> Date: Thu, 04 Mar 2004 09:29:03 +1000 From: Peter Grehan User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3.1) Gecko/20030524 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Daniel Eischen References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-threads@freebsd.org Subject: Re: User-space context switch and floating-point 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: Wed, 03 Mar 2004 23:26:38 -0000 >> Any opinions ? I noticed the alpha/sparc64 routines don't save FP. > > You don't need to save floating point registers when saving the > context from userland. But why is that any different from having to save non-volatile integer registers ? For instance, on PPC, gp regs 14-31, and also fp regs 14-31, need to be saved by the callee if used since they're non-volatile across function calls. > Look at the i386 thr_getcontext(); it only needs to save the FP > control word. Yes, but I thought the i386 FP calling convention was that all FP registers were volatile across calls, so all were preserved by the callee. later, Peter.