From owner-cvs-all Wed May 1 11:20:55 2002 Delivered-To: cvs-all@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id 42C4937B417; Wed, 1 May 2002 11:20:43 -0700 (PDT) Received: from athlon.pn.xcllnt.net (athlon.pn.xcllnt.net [192.168.4.3]) by kayak.xcllnt.net (8.11.6/8.11.4) with ESMTP id g41IHwJ05970; Wed, 1 May 2002 11:17:58 -0700 (PDT) (envelope-from marcel@kayak.pn.xcllnt.net) Received: from athlon.pn.xcllnt.net (localhost [127.0.0.1]) by athlon.pn.xcllnt.net (8.12.3/8.12.2) with ESMTP id g41IHwO8000501; Wed, 1 May 2002 11:17:58 -0700 (PDT) (envelope-from marcel@athlon.pn.xcllnt.net) Received: (from marcel@localhost) by athlon.pn.xcllnt.net (8.12.3/8.12.3/Submit) id g41IHwab000500; Wed, 1 May 2002 11:17:58 -0700 (PDT) Date: Wed, 1 May 2002 11:17:58 -0700 From: Marcel Moolenaar To: Doug Rabson 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> References: <200204300637.g3U6bQc25956@freefall.freebsd.org> <20020430165257.M25863-100000@herring.nlsystems.com> <20020430195757.GA70203@gauss.cup.hp.com> <200205010940.33776.dfr@nlsystems.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200205010940.33776.dfr@nlsystems.com> User-Agent: Mutt/1.3.27i Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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