On Mon, Jan 14, 2013 at 10:08:39PM +0000, Christoffer Dall wrote:
> can't we also get rid of the isb on the return path then?
> 
> do you agree with this patch:
> 
> diff --git a/arch/arm/kvm/interrupts_head.S b/arch/arm/kvm/interrupts_head.S
> index 57cfa84..7e6eedf 100644
> --- a/arch/arm/kvm/interrupts_head.S
> +++ b/arch/arm/kvm/interrupts_head.S
> @@ -492,7 +492,6 @@ vcpu      .req    r0              @ vcpu pointer always 
> in r0
>       str     r2, [vcpu, #VCPU_TIMER_CNTV_CTL]
>       bic     r2, #1                  @ Clear ENABLE
>       mcr     p15, 0, r2, c14, c3, 1  @ CNTV_CTL
> -     isb

I'd keep this one as it stops speculation of CVAL until the timer is
disabled.

>       mrrc    p15, 3, r2, r3, c14     @ CNTV_CVAL
>       ldr     r4, =VCPU_TIMER_CNTV_CVAL
> @@ -532,18 +531,17 @@ vcpu    .req    r0              @ vcpu pointer always 
> in r0
>       ldr     r2, [r4, #KVM_TIMER_CNTVOFF]
>       ldr     r3, [r4, #(KVM_TIMER_CNTVOFF + 4)]
>       mcrr    p15, 4, r2, r3, c14     @ CNTVOFF
> -     isb
> 
>       ldr     r4, =VCPU_TIMER_CNTV_CVAL
>       add     vcpu, vcpu, r4
>       ldrd    r2, r3, [vcpu]
>       sub     vcpu, vcpu, r4
>       mcrr    p15, 3, r2, r3, c14     @ CNTV_CVAL
> +     isb
> 
>       ldr     r2, [vcpu, #VCPU_TIMER_CNTV_CTL]
>       and     r2, r2, #3
>       mcr     p15, 0, r2, c14, c3, 1  @ CNTV_CTL
> -     isb

Looks ok to me, but I'll let Marc decide as it's his code.

Will
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to