From owner-freebsd-ia64@FreeBSD.ORG Wed May 6 16:22:27 2009 Return-Path: Delivered-To: ia64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9688E1065698; Wed, 6 May 2009 16:22:27 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from asmtpout022.mac.com (asmtpout022.mac.com [17.148.16.97]) by mx1.freebsd.org (Postfix) with ESMTP id 8094F8FC31; Wed, 6 May 2009 16:22:27 +0000 (UTC) (envelope-from xcllnt@mac.com) MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Received: from ajain-mbp.jnpr.net (natint3.juniper.net [66.129.224.36]) by asmtp022.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KJ8008C9DHAXB70@asmtp022.mac.com>; Wed, 06 May 2009 09:22:22 -0700 (PDT) Message-id: From: Marcel Moolenaar To: =?ISO-8859-2?Q?Zahemszky_G=E1bor?= In-reply-to: <20090506163043.0aad883b@Picasso.Zahemszky.HU> Content-transfer-encoding: quoted-printable Date: Wed, 06 May 2009 09:22:21 -0700 References: <20090429063852.26767.qmail@mail.integrity.hu> <20090506163043.0aad883b@Picasso.Zahemszky.HU> X-Mailer: Apple Mail (2.930.3) Cc: freebsd-stable@freebsd.org, ia64@freebsd.org Subject: Re: IA64 7.2-RC2 in HP Integrity Virtual Machine 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: Wed, 06 May 2009 16:22:28 -0000 On May 6, 2009, at 7:30 AM, Zahemszky G=E1bor wrote: >> I believe there's a problem with mpt(4) that relates to >> its error recovery, or lack thereof. >> >> Can you send a backtrace so that we can confirm or de- >> bunk that statement? > > Hi! > > here it is. (sorry for the ESC-sequences, it is the virtual machine's > EFI boot loader) > > Attached. Ok. It's not mpt(4). It looks like it's the VM itself that's the problem. The page fault is the result of a clobbered r17. Looking at the registers and the source code, as well as the assembly I conclude that writes to the region registers (which are virtualized) cause a trap in the VM and the context is not properly saved or restored. I conclude this based on r16 being 1 (we've had 1 iteration of the loop on line 2220 in file sys/ia64/ia64/pmap.c (assuming r16 is not clobbered). This means we had at least 1 write to the region register. r17 is initialized to (&pm->pm_rid[0]) and since the load has a post-increment of 4, it "walks" the pm_rid array. It never has a value of 1. So, r17 must have been clobbered, because it's never assigned 1 in the program. So either the VM is buggy, or you need explicit support for the VM in the guest OS by design. FYI, --=20 Marcel Moolenaar xcllnt@mac.com