On 2013-05-02 11:52, Andreas Färber wrote:
> Due to a preceding while loop, no CPU would've been put into stopped
> state. Reinitialize the variable.
> This fixes commit d798e97456658ea7605303b7c69b04ec7df95c10 (Allow to use
> pause_all_vcpus from VCPU context) for non-KVM case.
> 
> While at it, change a 0 to false, amending commit
> 4fdeee7cd4c8f90ef765537b9346a195d9483ab5 (cpu: Move stop field to
> CPUState).
> 
> Signed-off-by: Andreas Färber <[email protected]>
> ---
>  For 1.5 I'm going for the least invasive change here.
>  On qom-cpu-10 I'm preparing to replace each CPU loop with 
> qemu_for_each_cpu().
> 
>  cpus.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/cpus.c b/cpus.c
> index a2d92c7..c232265 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -974,9 +974,10 @@ void pause_all_vcpus(void)
>      if (qemu_in_vcpu_thread()) {
>          cpu_stop_current();
>          if (!kvm_enabled()) {
> +            penv = first_cpu;
>              while (penv) {
>                  CPUState *pcpu = ENV_GET_CPU(penv);
> -                pcpu->stop = 0;
> +                pcpu->stop = false;
>                  pcpu->stopped = true;
>                  penv = penv->next_cpu;
>              }
> 

Reviewed-by: Jan Kiszka <[email protected]>

Thanks,
Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

Reply via email to