Date: Wed, 1 May 2002 12:37:19 -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: <20020501193719.GA699@athlon.pn.xcllnt.net> In-Reply-To: <200205012015.32377.dfr@nlsystems.com> References: <200204300637.g3U6bQc25956@freefall.freebsd.org> <200205010940.33776.dfr@nlsystems.com> <20020501181758.GB415@athlon.pn.xcllnt.net> <200205012015.32377.dfr@nlsystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 01, 2002 at 08:15:32PM +0100, Doug Rabson wrote: > > > > > > 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? > > Right. Ok, I'll add them to savectx() and cpu_switch() then :-) > > > > BTW: The reason I added them was for ptrace(2). > > Thats as good a reason as any. Another way would be to use the unwind system > to find if/where the register had been saved and access it either directly or > at the save location. Wicked! I'll let this run through my head for a while. My first reaction is that it sounds like a very costly approach, time and complexity wise. For example: if ar.lc has been saved in the process' pcb, then there's no way the unwind information can tell us that. We need to handle those cases seperately, AFAICT. -- 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?20020501193719.GA699>