From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36117) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZePAC-00024e-98 for qemu-devel@nongnu.org; Tue, 22 Sep 2015 11:07:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZePAA-000182-Br for qemu-devel@nongnu.org; Tue, 22 Sep 2015 11:07:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48640) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZePAA-00017x-7S for qemu-devel@nongnu.org; Tue, 22 Sep 2015 11:07:22 -0400 From: Paolo Bonzini Date: Tue, 22 Sep 2015 17:05:50 +0200 Message-Id: <1442934371-12567-28-git-send-email-pbonzini@redhat.com> In-Reply-To: <1442934371-12567-1-git-send-email-pbonzini@redhat.com> References: <1442934371-12567-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL 27/48] hmp: implemented io apic dump state for TCG List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: "Denis V. Lunev" , =?UTF-8?q?Andreas=20F=C3=83=C2=A4rber?= , Pavel Butsykin From: Pavel Butsykin Added support emulator for the hmp command "info ioapic" Signed-off-by: Pavel Butsykin Signed-off-by: Denis V. Lunev CC: Paolo Bonzini CC: Andreas F=C3=83=C2=A4rber Message-Id: <1442927901-1084-10-git-send-email-den@openvz.org> Signed-off-by: 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 bde52e8..de2dd4b 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" @@ -139,6 +140,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 829fff9..aac6b1b 100644 --- a/target-i386/monitor.c +++ b/target-i386/monitor.c @@ -505,5 +505,7 @@ void hmp_info_io_apic(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.5.0