Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jun 2000 14:16:28 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Doug Rabson <dfr@nlsystems.com>, arch@FreeBSD.ORG
Subject:   Re: Syscalls and execve
Message-ID:  <Pine.SUN.3.91.1000610140414.7306A-100000@pcnet1.pcnet.com>
In-Reply-To: <Pine.BSF.4.21.0006102349070.5817-100000@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 10 Jun 2000, Bruce Evans wrote:
> On Sat, 10 Jun 2000, Daniel Eischen wrote:
> 
> > On Sat, 10 Jun 2000, Doug Rabson wrote:
> > > The trapframe which is created for syscall is identical to the trapframe
> > > for exceptions and interrupts, its just not fully populated with register
> > > values.
> > 
> > On a related subject, the alpha sigcontext is different than the 
> > trapframe.  This makes implementing {get,set}context slightly more
> > difficult because they have to know which frame is in the machine 
> > context.  For the new threads architecture (similar to scheduler
> 
> It's different on i386's too.  It is certain to be different if the
> floating point state is separate and too expensive to save in the
> trap frame.  The i386 also has complications for vm86 mode.

I was thinking that the user threads library would handle floating
point state separately.  Right now, the threads library only saves
floating point state when a signal occurs.  Normal context switches
do not save floating point state; it is only when a thread is
preempted as a result of a signal that the floating point state
is saved.

A question I've been wanting to ask is:  When a system call is
made, can we assume that the floating point registers are still
needed after return from the system call?

> > activations), the context of threads that become unblocked in
> > the kernel is passed out to the user threads library.  I want to
> > add {get,set}context as library routines and use them to handle
> > both signal contexts and trapframes as passed out of the kernel.
> 
> I don't see how they can be implemented as pure library routines,
> since they will have to get and set kernel state.

Why?  They don't now (except for getting/setting the signal mask
which can be totally avoided).

-- 
Dan Eischen



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?Pine.SUN.3.91.1000610140414.7306A-100000>