Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 May 2002 09:40:33 +0100
From:      Doug Rabson <dfr@nlsystems.com>
To:        Marcel Moolenaar <marcel@cup.hp.com>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/ia64/ia64 exception.s src/sys/ia64/include frame.h
Message-ID:  <200205010940.33776.dfr@nlsystems.com>
In-Reply-To: <20020430195757.GA70203@gauss.cup.hp.com>
References:  <200204300637.g3U6bQc25956@freefall.freebsd.org> <20020430165257.M25863-100000@herring.nlsystems.com> <20020430195757.GA70203@gauss.cup.hp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tuesday 30 April 2002 8:57 pm, Marcel Moolenaar wrote:
> On Tue, Apr 30, 2002 at 04:53:59PM +0100, Doug Rabson wrote:
> > On Mon, 29 Apr 2002, Marcel Moolenaar wrote:
> > > marcel      2002/04/29 23:37:25 PDT
> > >
> > >   Modified files:
> > >     sys/ia64/ia64        exception.s
> > >     sys/ia64/include     frame.h
> > >   Log:
> > >   Add ar.lc and ar.ec to the trapframe. These are not saved for
> > > syscalls, only for exceptions.
> >
> > I was kind-of relying on the C calling conventions saving/restoring these
> > as needed.
>
> ar.lc is callee saved. We have to do it even for the syscall case.
> ar.ec is automatic as part of the call/return mechanism. We need to
> explicitly save it only if it's possible to have syscalls inlined.

What I actually meant by that statement was that since the exception entry 
path didn't disturb the value of ar.lc (or ar.ec for that matter) and that it 
can rely on the value being preserved by the higher level handlers (e.g. 
trap, interrupt, syscall etc), it can also rely on the value in 
exception_restore being the user's value.

>
> I think we should save them both for syscalls as well. Thoughts?

I don't think so (for the above reason).

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
					Phone: +44 20 8348 6160


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205010940.33776.dfr>