diff options
author | Pavel Butsykin <pbutsykin@virtuozzo.com> | 2015-09-22 16:18:21 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-09-25 12:04:42 +0200 |
commit | 6bde8fd69f874a107f04cea2695ebece849213c5 (patch) | |
tree | fa20b0af749a7373ff57eddf7dd3489dba3c52e2 | |
parent | d665d696c53f776ec2cb91505658969b9eb9906b (diff) | |
download | qemu-6bde8fd69f874a107f04cea2695ebece849213c5.tar.gz qemu-6bde8fd69f874a107f04cea2695ebece849213c5.tar.bz2 qemu-6bde8fd69f874a107f04cea2695ebece849213c5.zip |
hmp: implemented io apic dump state for TCG
Added support emulator for the hmp command "info ioapic"
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>
Message-Id: <1442927901-1084-10-git-send-email-den@openvz.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | hw/intc/ioapic.c | 12 | ||||
-rw-r--r-- | include/hw/i386/pc.h | 1 | ||||
-rw-r--r-- | target-i386/monitor.c | 2 |
3 files changed, 15 insertions, 0 deletions
diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index bde52e8953..de2dd4ba8e 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -20,6 +20,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#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) } } +void ioapic_dump_state(Monitor *mon, const QDict *qdict) +{ + int i; + + for (i = 0; i < MAX_IOAPICS; i++) { + if (ioapics[i] != 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 539cf64ed6..7c9f3a598e 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 */ void kvm_ioapic_dump_state(Monitor *mon, const QDict *qdict); +void ioapic_dump_state(Monitor *mon, const QDict *qdict); /* Global System Interrupts */ diff --git a/target-i386/monitor.c b/target-i386/monitor.c index 829fff9e03..aac6b1ba8e 100644 --- a/target-i386/monitor.c +++ b/target-i386/monitor.c @@ -505,5 +505,7 @@ void hmp_info_io_apic(Monitor *mon, const QDict *qdict) { if (kvm_irqchip_in_kernel()) { kvm_ioapic_dump_state(mon, qdict); + } else { + ioapic_dump_state(mon, qdict); } } |