3 messages in com.xensource.lists.xen-ia64-develRE: [Xen-ia64-devel] unaligned access...| From | Sent On | Attachments |
|---|---|---|
| Xu, Anthony | 24 Aug 2006 18:32 | |
| Xu, Anthony | 25 Aug 2006 00:05 | |
| Gareth Knight | 25 Aug 2006 01:18 |
| Subject: | RE: [Xen-ia64-devel] unaligned access handler deadlock when auserapplication runs in big endian mode ( psr.be is set )![]() |
|---|---|
| From: | Xu, Anthony (anth...@intel.com) |
| Date: | 08/25/2006 12:05:51 AM |
| List: | com.xensource.lists.xen-ia64-devel |
Bin endian mode application investigation.
RHEL4U2 2.6.9-22. Both native and VTIdomain can't support big endian mode application, This will cause kernel hang. From the source code 2,6.9-22 should support big endian application, Seems there is a bug in the path of handling unaligned fault. Which cause kernel hang.
Kernel 2.6.16 Both native and VTIdomain support big endian mode application, kernel will send bus signal to application. Output is, Performing unaligned load from 60000fffffaaf1b0 Bus error.
Seems VTI-domain supports big endian application. VTI-domain doesn't support big endian OS by far.
Thanks, Anthony
-----Original Message----- From: xen-...@lists.xensource.com [mailto:xen-...@lists.xensource.com] On Behalf Of Xu, Anthony Sent: 2006?8?25? 9:33 To: Gareth Knight; xen-...@lists.xensource.com Subject: RE: [Xen-ia64-devel] unaligned access handler deadlock when auserapplication runs in big endian mode ( psr.be is set )
Hi Gareth
Handling big endian mode is an interesting topic. Frankly, In VTI side, we didn't handle big endian mode, and we knew this is an issue. I would like to look at this issue.
Did you run this application on domU or VTI-domain?
Thanks Anthony
-----Original Message----- From: xen-...@lists.xensource.com [mailto:xen-...@lists.xensource.com] On Behalf Of Gareth Knight Sent: 2006?8?25? 7:58 To: xen-...@lists.xensource.com Subject: [Xen-ia64-devel] unaligned access handler deadlock when a userapplication 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.
_______________________________________________ Xen-ia64-devel mailing list Xen-...@lists.xensource.com http://lists.xensource.com/xen-ia64-devel
_______________________________________________ Xen-ia64-devel mailing list Xen-...@lists.xensource.com http://lists.xensource.com/xen-ia64-devel




