qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH v3 04/10] qemu-kvm: Clean up mpstate synchroniza


From: Marcelo Tosatti
Subject: [Qemu-devel] Re: [PATCH v3 04/10] qemu-kvm: Clean up mpstate synchronization
Date: Wed, 24 Feb 2010 19:44:19 -0300
User-agent: Mutt/1.5.20 (2009-08-17)

On Wed, Feb 24, 2010 at 03:17:52PM +0100, Jan Kiszka wrote:
> Push mpstate reading/writing into kvm_arch_load/save_regs and, on x86,
> properly synchronize with halted in the accessor functions.
> 
> Signed-off-by: Jan Kiszka <address@hidden>

> @@ -1290,6 +1318,7 @@ int kvm_arch_init_vcpu(CPUState *cenv)
>  #ifdef KVM_EXIT_TPR_ACCESS
>      kvm_tpr_vcpu_start(cenv);
>  #endif
> +    kvm_reset_mpstate(cenv);
>      return 0;
>  }
>  
> @@ -1363,15 +1392,10 @@ void kvm_arch_cpu_reset(CPUState *env)
>  {
>      kvm_arch_reset_vcpu(env);
>      kvm_put_vcpu_events(env);
> -    if (!cpu_is_bsp(env)) {
> -     if (kvm_irqchip_in_kernel()) {
> -#ifdef KVM_CAP_MP_STATE
> -         kvm_reset_mpstate(env);
> -#endif
> -     } else {
> -         env->interrupt_request &= ~CPU_INTERRUPT_HARD;
> -         env->halted = 1;
> -     }
> +    kvm_reset_mpstate(env);
> +    if (!cpu_is_bsp(env) && !kvm_irqchip_in_kernel()) {
> +        env->interrupt_request &= ~CPU_INTERRUPT_HARD;
> +        env->halted = 1;
>      }
>  }

Why are these two needed? Now that initialization of mp_state 
happens via synchronize_state(init/reset) -> arch_load_regs?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]