qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 7/8] hmp: added io apic dump state


From: Pavel
Subject: Re: [Qemu-devel] [PATCH 7/8] hmp: added io apic dump state
Date: Fri, 19 Jun 2015 21:03:05 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0



On 19.06.2015 19:08, Peter Maydell wrote:
On 19 June 2015 at 15:48, Denis V. Lunev <address@hidden> wrote:
From: Pavel Butsykin <address@hidden>

Added the hmp command to query io apic state, may be usefull after guest
crashes to understand IRQ routing in guest.

Implementation is only for kvm here. The dump will look like
(qemu) info apic-io
ioapic ID=00 IRR=00000000 SEL=18
ioapic 00 00000000000100ff: int=ff delmod=0:Fixed  P.H.EM dest=0
ioapic 01 0300000000000993: int=93 delmod=1:LowPri L.H.E. dest=3
...
ioapic 23 00000000000100ff: int=ff delmod=0:Fixed  P.H.EM dest=0
--- a/monitor.c
+++ b/monitor.c
@@ -957,6 +957,19 @@ int monitor_get_cpu_index(void)
      return cpu->cpu_index;
  }

+#if defined(TARGET_I386)
+static void hmp_info_apic_io(Monitor *mon, const QDict *qdict)
+{
+    if (kvm_irqchip_in_kernel()) {
+        kvm_ioapic_dump_state(mon, qdict);
+    }
+}
+#else
+static void hmp_info_apic_io(Monitor *mon, const QDict *qdict)
+{
+}
+#endif
+
  static void hmp_info_apic_local(Monitor *mon, const QDict *qdict)
  {
      CPUState *cpu;
@@ -2588,6 +2601,13 @@ static mon_cmd_t info_cmds[] = {
          .mhandler.cmd = hmp_info_apic_local,
      },
      {
+        .name       = "apic-io",
+        .args_type  = "",
+        .params     = "",
+        .help       = "show io apic state",
+        .mhandler.cmd = hmp_info_apic_io,
+    }
Can we please not add more target- and device-specific code
to monitor.c? We need a sensible abstraction layer that allows
devices and CPUs to register monitor commands without
filling monitor.c up with random ifdeffery.

thanks
-- PMM

No problem. I think anything to do with it, thanks.




reply via email to

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