Date: Mon, 2 Jul 2007 08:42:55 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Christian Kandeler <christian.kandeler@hob.de> Cc: ia64@freebsd.org Subject: Re: Syscalls and RSE Message-ID: <0DB3EA9C-99B1-4CFA-A770-8C5BE8A19A5A@mac.com> In-Reply-To: <200707021019.58451.christian.kandeler@hob.de> References: <200706211132.32524.christian.kandeler@hob.de> <200706290948.04330.christian.kandeler@hob.de> <23365936-A0DB-48FF-A051-2E18816FC742@mac.com> <200707021019.58451.christian.kandeler@hob.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 2, 2007, at 1:19 AM, Christian Kandeler wrote: >>> The way I see it, the code right now either >>> a) wrongly assumes RNAT is preserved by the backing store switch >>> or b) wrongly assumes RNAT does not need to be preserved. >> >> Both. If A then B :-) > > Well, I meant b) as "RNAT gets clobbered, but it doesn't matter". > Which I think would actually be true if we didn't advance BSPSTORE. I'm testing the following patch locally. It simply writes back to ar.rnat what it previously read from it (with the backing store switch in between): Index: syscall.S =================================================================== RCS file: /home/ncvs/src/sys/ia64/ia64/syscall.S,v retrieving revision 1.14 diff -u -r1.14 syscall.S --- syscall.S 6 Jan 2005 22:18:22 -0000 1.14 +++ syscall.S 29 Jun 2007 17:07:19 -0000 @@ -251,10 +251,10 @@ add sp=-16,r30 ;; } -{ .mib +{ .mmi + mov ar.rnat=r19 mov r21=ar.unat add r31=8,r30 - nop 0 ;; } { .mib -- Marcel Moolenaar xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0DB3EA9C-99B1-4CFA-A770-8C5BE8A19A5A>