From: Pavel Butsykin <pbutsy...@virtuozzo.com> Added support emulator for the hmp command "info apic-io"
Signed-off-by: Pavel Butsykin <pbutsy...@virtuozzo.com> Signed-off-by: Denis V. Lunev <d...@openvz.org> CC: Paolo Bonzini <pbonz...@redhat.com> CC: Luiz Capitulino <lcapitul...@redhat.com> --- hw/intc/ioapic.c | 12 ++++++++++++ include/hw/i386/pc.h | 1 + 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 <http://www.gnu.org/licenses/>. */ +#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) } } +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 437085f..142cebe 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/monitor.c b/monitor.c index 5449663..192b09d 100644 --- a/monitor.c +++ b/monitor.c @@ -962,6 +962,8 @@ static void hmp_info_apic_io(Monitor *mon, const QDict *qdict) { if (kvm_irqchip_in_kernel()) { kvm_ioapic_dump_state(mon, qdict); + } else { + ioapic_dump_state(mon, qdict); } } #else -- 1.9.1