WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

[Xen-ia64-devel] unaligned access handler deadlock when a user applicati

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] unaligned access handler deadlock when a user application runs in big endian mode ( psr.be is set )
From: Gareth Knight <gareth@xxxxxxxxxxxxxx>
Date: Fri, 25 Aug 2006 00:33:07 +0100
Delivery-date: Thu, 24 Aug 2006 16:33:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
All,

I've got top of tree xen-ia64-unstable.hg running on my Tiger system. I'm working on getting our (Transitive's) QuickTransit dynamic binary translator working in a guest machine. QuickTransit Sparc Solaris -> ia64 linux makes use of the big endian mode to speed up its translation of Sparc applications.

I've tried adding a "rum psr.be" in all the interrupt vectors near the top and that certainly improves matters, but it also causes the unaligned access handler to believe the user app is running in little endian mode, which is not true. I've put together an example to demonstrate the issue. The source is attached below. Basically the example tries to do an unaligned access whilst in big endian mode, which when running correctly currently produces a SIGBUS ( since the Linux kernel currently has no big endian unaligned access handling ). On the Xen kernel it currently deadlocks.

Comments welcome,

Gareth.

Attachment: asmFunction.s
Description: Binary data

Attachment: asmTest.c
Description: Binary data

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel