Skip site navigation (1)Skip section navigation (2)
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>