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

[Xen-changelog] [linux-2.6.18-xen] [IA64] fix fsys.S paravirtualization



# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1239071477 -32400
# Node ID b8bef3d2d3c37043c8c554c87aa5be7c63bc0957
# Parent  950b9eb2766128f85adf52d5aabcd15eb8c77dc0
[IA64] fix fsys.S paravirtualization

fix fsys.S paravirtualization.
event_mask must be cleared before checking event_pending.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 arch/ia64/kernel/fsys.S |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff -r 950b9eb27661 -r b8bef3d2d3c3 arch/ia64/kernel/fsys.S
--- a/arch/ia64/kernel/fsys.S   Mon Apr 06 13:51:20 2009 +0100
+++ b/arch/ia64/kernel/fsys.S   Tue Apr 07 11:31:17 2009 +0900
@@ -662,14 +662,16 @@ GLOBAL_ENTRY(fsys_bubble_down)
        // p15 = !running_on_xen
        cmp.ne p14,p15=r0,r14
        ;; 
-(p14)  movl r28=XSI_PSR_I_ADDR;;
-(p14)  ld8 r28=[r28];;
-(p14)  adds r28=-1,r28;;                       // event_pending
-(p14)  ld1 r14=[r28];;
-(p14)  cmp.ne.unc p13,p14=r14,r0;;
+(p14)  movl r14=XSI_PSR_I_ADDR
+       ;;
+(p14)  ld8 r14=[r14]
+       ;;
+(p14)  st1 [r14]=r0,-1                         // clear event_mask
+       ;;
+(p14)  ld1 r14=[r14]                           // event_pending
+       ;;
+(p14)  cmp.ne.unc p13,p14=r14,r0
 (p13)  XEN_HYPER_SSM_I
-(p14)  adds r28=1,r28;;                        // event_mask
-(p14)  st1 [r28]=r0;;
 (p15)  ssm psr.i
 #else
        ssm psr.i                               // M2   we're on kernel stacks 
now, reenable irqs

_______________________________________________
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®.