The use of r28 doesn't seem necessary. Only use r14.
[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>
diff --git a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S
--- a/arch/ia64/kernel/fsys.S
+++ b/arch/ia64/kernel/fsys.S
@@ -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
On Tue, Mar 31, 2009 at 02:38:55PM +0900, Isaku Yamahata wrote:
> [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>
>
> diff --git a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S
> --- a/arch/ia64/kernel/fsys.S
> +++ b/arch/ia64/kernel/fsys.S
> @@ -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 r28=XSI_PSR_I_ADDR
> + ;;
> +(p14) ld8 r28=[r28]
> + ;;
> +(p14) st1 [r28]=r0,-1 // clear event_mask
> + ;;
> +(p14) ld1 r14=[r28] // 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
>
>
--
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|