[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] unaligned access handler deadlock when a user application runs in big endian mode ( psr.be is set )



All,

Repost sans confidentiality notice !

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.