qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 4/7] monitor: use cc->get_arch_id as the cpu


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH v3 4/7] monitor: use cc->get_arch_id as the cpu index
Date: Thu, 29 Jan 2015 15:12:49 +0100

On Wed, 14 Jan 2015 15:27:27 +0800
Zhu Guihua <address@hidden> wrote:

> From: Gu Zheng <address@hidden>
> 
> Use cc->get_arch_id as the cpu index to avoid the cpu index duplicated
> issue in the QMP/HMP command output.
> 
> Signed-off-by: Gu Zheng <address@hidden>
> Signed-off-by: Zhu Guihua <address@hidden>
> ---
>  cpus.c    | 4 +++-
>  monitor.c | 4 +++-
>  2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/cpus.c b/cpus.c
> index 2edb5cd..d5e35c0 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -1420,6 +1420,7 @@ CpuInfoList *qmp_query_cpus(Error **errp)
>  
>      CPU_FOREACH(cpu) {
>          CpuInfoList *info;
> +        CPUClass *cc;
>  #if defined(TARGET_I386)
>          X86CPU *x86_cpu = X86_CPU(cpu);
>          CPUX86State *env = &x86_cpu->env;
> @@ -1437,11 +1438,12 @@ CpuInfoList *qmp_query_cpus(Error **errp)
>          CPUTriCoreState *env = &tricore_cpu->env;
>  #endif
>  
> +        cc = CPU_GET_CLASS(cpu);
>          cpu_synchronize_state(cpu);
>  
>          info = g_malloc0(sizeof(*info));
>          info->value = g_malloc0(sizeof(*info->value));
> -        info->value->CPU = cpu->cpu_index;
> +        info->value->CPU = cc->get_arch_id(cpu);
I'm not sure what impact sparse ID numbering would be on libvirt
CCing libvirt folks so they could check it.

>          info->value->current = (cpu == first_cpu);
>          info->value->halted = cpu->halted;
>          info->value->thread_id = cpu->thread_id;
> diff --git a/monitor.c b/monitor.c
> index 1808e41..2283461 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -1024,7 +1024,9 @@ static CPUArchState *mon_get_cpu(void)
>  int monitor_get_cpu_index(void)
>  {
>      CPUState *cpu = ENV_GET_CPU(mon_get_cpu());
> -    return cpu->cpu_index;
> +    CPUClass *cc = CPU_GET_CLASS(cpu);
> +
> +    return cc->get_arch_id(cpu);
>  }
>  
>  static void do_info_registers(Monitor *mon, const QDict *qdict)




reply via email to

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