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

[Xen-changelog] [xen-unstable] [IA64] Fix PV break fault handler.



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1199044576 25200
# Node ID ecdc7b5f650bc02373a720187a14374044b1a191
# Parent  6c0aec4604f7d1e7c2223bdaa365fb5f54fe4fc2
[IA64] Fix PV break fault handler.

PV domain break fault handler calls C routine reflect_event() with psr.ic = 0.
It might cause unrecoverable tlb miss. set psr.ic=1 before calling it.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/ivt.S |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)

diff -r 6c0aec4604f7 -r ecdc7b5f650b xen/arch/ia64/xen/ivt.S
--- a/xen/arch/ia64/xen/ivt.S   Sun Dec 30 12:53:54 2007 -0700
+++ b/xen/arch/ia64/xen/ivt.S   Sun Dec 30 12:56:16 2007 -0700
@@ -714,15 +714,20 @@ 1:
        adds r2=PT(CR_IFS)+16,r12
        ;;
        st8 [r2]=r20
-       ;;   
+       ssm psr.ic | PSR_DEFAULT_BITS
+       ;;
+       srlz.i
+       ;;
        br.call.sptk.many b0=reflect_event
        ;;
+       rsm psr.i|psr.ic
        adds r2=PT(R14)+16,r12
        adds r3=PT(R8)+16,r12
        ;;
        //r16 contains ar.bsp before cover
        ld8 r16=[r2]
        ld8 r8=[r3]
+       srlz.i
        ;;
        br.sptk.many ia64_ret_from_syscall
        ;;

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


 


Rackspace

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