All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [PATCH] hmp: allow cpu index for "info lapic"
@ 2017-07-18  1:18 wang.yi59
  0 siblings, 0 replies; 2+ messages in thread
From: wang.yi59 @ 2017-07-18  1:18 UTC (permalink / raw)
  To: dgilbert; +Cc: pbonzini, rth, ehabkost, qemu-devel, Liu.Jianjun3, liu.yunh

Hi David,


Thanks a lot for your review and suggestion, I will resend a new version right now.

>* Yi Wang (wang.yi59@zte.com.cn) wrote:

>> Add [vcpu index] support for hmp command "info lapic", which is

>> useful when debugging ipi and so on.

>> 

>> Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>

>> Signed-off-by: Yun Liu <liu.yunh@zte.com.cn>

>> ---

>>  hmp-commands-info.hx  | 6 +++---

>>  target/i386/monitor.c | 7 ++++++-

>>  2 files changed, 9 insertions(+), 4 deletions(-)

>> 

>> diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx

>> index 07500ef..8ad2f81 100644

>> --- a/hmp-commands-info.hx

>> +++ b/hmp-commands-info.hx

>> @@ -115,9 +115,9 @@ ETEXI

>>  #if defined(TARGET_I386)

>>      {

>>          .name       = "lapic",

>> -        .args_type  = "",

>> -        .params     = "",

>> -        .help       = "show local apic state",

>> +        .args_type  = "vcpu:i?",

>> +        .params     = "[vcpu index]",

>> +        .help       = "show local apic state (default vcpu 0)",

>

>Normally I think the syntax for the help is 

>(vcpu: vCPU to read, default is 0)"





---

Best wishes

Yi Wang

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] hmp: allow cpu index for "info lapic"
       [not found] <1500099757-4184-1-git-send-email-wang.yi59@zte.com.cn>
@ 2017-07-17 15:13 ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 2+ messages in thread
From: Dr. David Alan Gilbert @ 2017-07-17 15:13 UTC (permalink / raw)
  To: Yi Wang; +Cc: pbonzini, rth, ehabkost, qemu-devel, Liu.Jianjun3, liu.yunh

* Yi Wang (wang.yi59@zte.com.cn) wrote:
> Add [vcpu index] support for hmp command "info lapic", which is
> useful when debugging ipi and so on.
> 
> Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
> Signed-off-by: Yun Liu <liu.yunh@zte.com.cn>
> ---
>  hmp-commands-info.hx  | 6 +++---
>  target/i386/monitor.c | 7 ++++++-
>  2 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
> index 07500ef..8ad2f81 100644
> --- a/hmp-commands-info.hx
> +++ b/hmp-commands-info.hx
> @@ -115,9 +115,9 @@ ETEXI
>  #if defined(TARGET_I386)
>      {
>          .name       = "lapic",
> -        .args_type  = "",
> -        .params     = "",
> -        .help       = "show local apic state",
> +        .args_type  = "vcpu:i?",
> +        .params     = "[vcpu index]",
> +        .help       = "show local apic state (default vcpu 0)",

Normally I think the syntax for the help is 
(vcpu: vCPU to read, default is 0)"

>          .cmd        = hmp_info_local_apic,
>      },
>  #endif
> diff --git a/target/i386/monitor.c b/target/i386/monitor.c
> index 77ead60..ca0abc1 100644
> --- a/target/i386/monitor.c
> +++ b/target/i386/monitor.c
> @@ -632,8 +632,13 @@ const MonitorDef *target_monitor_defs(void)
>  
>  void hmp_info_local_apic(Monitor *mon, const QDict *qdict)
>  {
> -    CPUState *cs = mon_get_cpu();
> +    int index = qdict_get_try_int(qdict, "vcpu", 0);
> +    CPUState *cs;
> +    if (monitor_set_cpu(index) < 0) {
> +        monitor_printf(mon, "invalid CPU index\n");
> +    }

That's setting the CPU so that subsequent commands that don't
specify the CPU will change - that's probably not what you want.
So I suspect you should probably use qemu_get_cpu(index)  to get
the CPU you want which doesn't change the currently selected CPU.

So the question then is what do you want to happen when the
parameter isn't specified.  The current behaviour is to give you
the *current* CPU but you're changing that to give vCPU 0
by default.

So I think you could change this to:

  if (qdict_haskey(qdict, "vcpu")) {
      int index = qdict_get_try_int(qdict, "vcpu", 0);
      cs = qemu_get_cpu(index);
  } else {
      cs = monitor_get_cpu();
  }

That keeps the current behaviour with no parameter, and
doesn't change the currently selected CPU when you use the
extra parameter.

Dave
> +    cs = mon_get_cpu();
>      if (!cs) {
>          monitor_printf(mon, "No CPU available\n");
>          return;
> -- 
> 1.8.3.1
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-07-18  1:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-18  1:18 [Qemu-devel] [PATCH] hmp: allow cpu index for "info lapic" wang.yi59
     [not found] <1500099757-4184-1-git-send-email-wang.yi59@zte.com.cn>
2017-07-17 15:13 ` Dr. David Alan Gilbert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.