From owner-freebsd-ia64@FreeBSD.ORG Mon Jul 2 15:43:42 2007 Return-Path: X-Original-To: ia64@freebsd.org Delivered-To: freebsd-ia64@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1D97016A46E for ; Mon, 2 Jul 2007 15:43:42 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.173]) by mx1.freebsd.org (Postfix) with ESMTP id 0595A13C4D3 for ; Mon, 2 Jul 2007 15:43:41 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from mac.com (smtpin02-en2 [10.13.10.147]) by smtpout.mac.com (Xserve/smtpout03/MantshX 4.0) with ESMTP id l62FhfHg024437; Mon, 2 Jul 2007 08:43:41 -0700 (PDT) Received: from [172.16.1.4] (209-128-86-226.bayarea.net [209.128.86.226]) (authenticated bits=0) by mac.com (Xserve/smtpin02/MantshX 4.0) with ESMTP id l62FhRhV018510 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 2 Jul 2007 08:43:39 -0700 (PDT) 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> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <0DB3EA9C-99B1-4CFA-A770-8C5BE8A19A5A@mac.com> Content-Transfer-Encoding: 7bit From: Marcel Moolenaar Date: Mon, 2 Jul 2007 08:42:55 -0700 To: Christian Kandeler X-Mailer: Apple Mail (2.752.3) X-Brightmail-Tracker: AAAAAA== X-Brightmail-scanned: yes Cc: ia64@freebsd.org Subject: Re: Syscalls and RSE X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jul 2007 15:43:42 -0000 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