Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 May 2002 11:17:58 -0700
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        Doug Rabson <dfr@nlsystems.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:  <20020501181758.GB415@athlon.pn.xcllnt.net>
In-Reply-To: <200205010940.33776.dfr@nlsystems.com>
References:  <200204300637.g3U6bQc25956@freefall.freebsd.org> <20020430165257.M25863-100000@herring.nlsystems.com> <20020430195757.GA70203@gauss.cup.hp.com> <200205010940.33776.dfr@nlsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 01, 2002 at 09:40:33AM +0100, Doug Rabson wrote:
> 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.

That is correct, provided we save them on context switches, right?

BTW: The reason I added them was for ptrace(2).

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net

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?20020501181758.GB415>