Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jan 2002 09:14:58 -0500 (EST)
From:      Daniel Eischen <eischen@pcnet1.pcnet.com>
To:        Bernd Walter <ticso@cicely8.cicely.de>
Cc:        alpha@FreeBSD.org
Subject:   Re: {get,set,make,swap}context for alpha
Message-ID:  <Pine.SUN.3.91.1020104090012.16130A-100000@pcnet1.pcnet.com>
In-Reply-To: <20020104143622.A8703@cicely8.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 4 Jan 2002, Bernd Walter wrote:
> On Thu, Jan 03, 2002 at 04:05:25PM -0500, Daniel Eischen wrote:
> > I've got *context implemented and working for i386, but need some
> > help getting them to work on the alpha.  Anyone here care to give
> > it a try?  You can get them from:
> > 
> >   http://people.freebsd.org/~deischen/ucontext/uc-libc-sys.diffs
> >   http://people.freebsd.org/~deischen/ucontext/uc-i386-standalone.tgz
> >   http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz

[...]

> One problem I found is that you defined getcontext to be a LEAF
> function, but actually call others.

Hmm, lib/libc/alpha/gen/setjmp.S does the same thing and also
makes a call to sigprocmask.  I see that it does save and restore
ra though.

So I guess I should use NESTED, or make sure I save and restore ra
and any S register I use?

It seems weird that ra needs to be restored in order for a branch
instruction to work properly...

-- 
Dan Eischen

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" 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.1020104090012.16130A-100000>