From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbmSX-0000km-GV for qemu-devel@nongnu.org; Tue, 15 Sep 2015 05:23:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZbmSW-0006FH-Ii for qemu-devel@nongnu.org; Tue, 15 Sep 2015 05:23:29 -0400 Received: from mailhub.sw.ru ([195.214.232.25]:10258 helo=relay.sw.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbmSW-0006DP-5J for qemu-devel@nongnu.org; Tue, 15 Sep 2015 05:23:28 -0400 From: "Denis V. Lunev" Date: Tue, 15 Sep 2015 12:23:08 +0300 Message-Id: <1442308988-653-10-git-send-email-den@openvz.org> In-Reply-To: <1442308988-653-1-git-send-email-den@openvz.org> References: <1442308988-653-1-git-send-email-den@openvz.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 9/9] hmp: implemented io apic dump state for TCG List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Denis V. Lunev" , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Paolo Bonzini , qemu-devel@nongnu.org, Pavel Butsykin From: Pavel Butsykin Added support emulator for the hmp command "info apic-io" Signed-off-by: Pavel Butsykin Signed-off-by: Denis V. Lunev CC: Andreas F=C3=A4rber CC: Paolo Bonzini --- hw/intc/ioapic.c | 12 ++++++++++++ include/hw/i386/pc.h | 1 + target-i386/monitor.c | 2 ++ 3 files changed, 15 insertions(+) diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index b527932..8c3aeae 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -20,6 +20,7 @@ * License along with this library; if not, see . */ =20 +#include "monitor/monitor.h" #include "hw/hw.h" #include "hw/i386/pc.h" #include "hw/i386/ioapic.h" @@ -137,6 +138,17 @@ void ioapic_eoi_broadcast(int vector) } } =20 +void ioapic_dump_state(Monitor *mon, const QDict *qdict) +{ + int i; + + for (i =3D 0; i < MAX_IOAPICS; i++) { + if (ioapics[i] !=3D 0) { + ioapic_print_redtbl(mon, ioapics[i]); + } + } +} + static uint64_t ioapic_mem_read(void *opaque, hwaddr addr, unsigned int size) { diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 539cf64..7c9f3a5 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -126,6 +126,7 @@ void hmp_info_irq(Monitor *mon, const QDict *qdict); /* ioapic.c */ =20 void kvm_ioapic_dump_state(Monitor *mon, const QDict *qdict); +void ioapic_dump_state(Monitor *mon, const QDict *qdict); =20 /* Global System Interrupts */ =20 diff --git a/target-i386/monitor.c b/target-i386/monitor.c index 797ea2d..f0774a3 100644 --- a/target-i386/monitor.c +++ b/target-i386/monitor.c @@ -505,5 +505,7 @@ void hmp_info_apic_io(Monitor *mon, const QDict *qdic= t) { if (kvm_irqchip_in_kernel()) { kvm_ioapic_dump_state(mon, qdict); + } else { + ioapic_dump_state(mon, qdict); } } --=20 2.1.4