All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Denis V. Lunev" <den@openvz.org>
Cc: "Markus Armbruster" <armbru@redhat.com>,
	"Luiz Capitulino" <lcapitulino@redhat.com>,
	qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>,
	"Pavel Butsykin" <pbutsykin@virtuozzo.com>
Subject: Re: [Qemu-devel] [PATCH v3 0/9] hmp command IO- and Local APIC dump state
Date: Mon, 21 Sep 2015 15:59:38 +0200	[thread overview]
Message-ID: <56000D4A.8080300@redhat.com> (raw)
In-Reply-To: <1442833057-8186-1-git-send-email-den@openvz.org>



On 21/09/2015 12:57, Denis V. Lunev wrote:
> Added the hmp command to query IO- and Local APIC registers state,
> it can be very useful to identify problems related to the emulation devices.
> 
> (qemu) info lapic
> dumping local APIC state for CPU 0
> 
> LVT0     0x00010700 active-hi edge  masked                      ExtINT (vec 0)
> LVT1     0x00000400 active-hi edge                              NMI
> LVTPC    0x00010000 active-hi edge  masked                      Fixed  (vec 0)
> LVTERR   0x000000fe active-hi edge                              Fixed  (vec 254)
> LVTTHMR  0x00010000 active-hi edge  masked                      Fixed  (vec 0)
> LVTT     0x000000ef active-hi edge                 one-shot     Fixed  (vec 239)
> Timer    DCR=0x3 (divide by 16) initial_count = 62278
> SPIV     0x000001ff APIC enabled, focus=off, spurious vec 255
> ICR      0x000000fd physical edge de-assert no

s/no/no-shorthand/ or similar.

> ICR2     0x00000001 cpu 1 (X2APIC ID)
> ESR      0x00000000
> ISR

Adding a "(none)" here would be nice.

> IRR      239
> 
> APR 0x00 TPR 0x00 DFR 0x0f LDR 0x00 PPR 0x00
> 
> (qemu) info ioapic
> ioapic id=0x00 sel=0x2e (redir[15])
> pin 0  0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 1  0x0000000000000031 dest=0 vec=49  active-hi edge         fixed  physical
> pin 2  0x0000000000000030 dest=0 vec=48  active-hi edge         fixed  physical
> pin 3  0x0000000000000033 dest=0 vec=51  active-hi edge         fixed  physical
> pin 4  0x0000000000010034 dest=0 vec=52  active-hi edge  masked fixed  physical
> pin 5  0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 6  0x0000000000000036 dest=0 vec=54  active-hi edge         fixed  physical
> pin 7  0x0000000000000037 dest=0 vec=55  active-hi edge         fixed  physical
> pin 8  0x0000000000000038 dest=0 vec=56  active-hi edge         fixed  physical
> pin 9  0x0000000000018041 dest=0 vec=65  active-hi level masked fixed  physical
> pin 10 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 11 0x0300000000008081 dest=3 vec=129 active-hi level        fixed  physical
> pin 12 0x000000000000003c dest=0 vec=60  active-hi edge         fixed  physical
> pin 13 0x000000000000003d dest=0 vec=61  active-hi edge         fixed  physical
> pin 14 0x000000000000003e dest=0 vec=62  active-hi edge         fixed  physical
> pin 15 0x000000000000003f dest=0 vec=63  active-hi edge         fixed  physical
> pin 16 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 17 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 18 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 19 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 20 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 21 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 22 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> pin 23 0x0000000000010000 dest=0 vec=0   active-hi edge  masked fixed  physical
> IRR (none)

I would print IRR as a bitmap here, like ISR/IRR in the local APIC dump.
 Similarly, it would be nice to print the "Remote IRR" bits of the
redirection table (printing them as a bitmap with the same format).

> 
> Changes from v1:
>  - implementation of hmp commands moved to the target-i386 part
>  - the cpu_dump_apic_local_state interface moved to the target-i386 part
> 
> Changes from v2:
>  - lapic and ioapic format dump are fixed for more human readable view
> 
> Signed-off-by: Pavel Butsykin <pbutsykin@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Paolo Bonzini <pbonzini@redhat.com>
> CC: Andreas Färber <afaerber@suse.de>

I would like a second look at the HMP code.

Paolo

> Pavel Butsykin (9):
>   apic_internal.h: make some apic_get_* functions externally visible
>   apic_internal.h: rename ESR_ILLEGAL_ADDRESS to
>     APIC_ESR_ILLEGAL_ADDRESS
>   apic_internal.h: added more constants
>   apic_internal.h: fix formatting and drop unused consts
>   monitor: make monitor_fprintf and mon_get_cpu externally visible
>   hmp: added local apic dump state
>   ioapic_internal.h: added more constants
>   hmp: added io apic dump state
>   hmp: implemented io apic dump state for TCG
> 
>  disas.c                           |  10 --
>  hmp-commands-info.hx              |  32 +++++++
>  hw/i386/kvm/ioapic.c              |  10 ++
>  hw/intc/apic.c                    |  22 +----
>  hw/intc/ioapic.c                  |  12 +++
>  hw/intc/ioapic_common.c           |  37 ++++++++
>  include/hw/i386/apic_internal.h   |  96 ++++++++++++++++---
>  include/hw/i386/ioapic_internal.h |   7 ++
>  include/hw/i386/pc.h              |   5 +
>  include/monitor/hmp-target.h      |   3 +
>  include/monitor/monitor.h         |   1 +
>  monitor.c                         |   5 +-
>  target-i386/cpu.h                 |   3 +
>  target-i386/helper.c              | 190 ++++++++++++++++++++++++++++++++++++++
>  target-i386/monitor.c             |  17 ++++
>  15 files changed, 407 insertions(+), 43 deletions(-)
> 

  parent reply	other threads:[~2015-09-21 13:59 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-21 10:57 [Qemu-devel] [PATCH v3 0/9] hmp command IO- and Local APIC dump state Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 1/9] apic_internal.h: make some apic_get_* functions externally visible Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 2/9] apic_internal.h: rename ESR_ILLEGAL_ADDRESS to APIC_ESR_ILLEGAL_ADDRESS Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 3/9] apic_internal.h: added more constants Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 4/9] apic_internal.h: fix formatting and drop unused consts Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 5/9] monitor: make monitor_fprintf and mon_get_cpu externally visible Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 6/9] hmp: added local apic dump state Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 7/9] ioapic_internal.h: added more constants Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 8/9] hmp: added io apic dump state Denis V. Lunev
2015-09-21 10:57 ` [Qemu-devel] [PATCH 9/9] hmp: implemented io apic dump state for TCG Denis V. Lunev
2015-09-21 13:59 ` Paolo Bonzini [this message]
2015-09-22 10:46   ` [Qemu-devel] [PATCH v3 0/9] hmp command IO- and Local APIC dump state Pavel Butsykin
2015-09-22 11:09     ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56000D4A.8080300@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=afaerber@suse.de \
    --cc=armbru@redhat.com \
    --cc=den@openvz.org \
    --cc=lcapitulino@redhat.com \
    --cc=pbutsykin@virtuozzo.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.