summaryrefslogtreecommitdiffstats
path: root/target-i386
diff options
context:
space:
mode:
authorWanpeng Li2016-09-23 05:47:36 +0200
committerDr. David Alan Gilbert2016-10-04 18:16:15 +0200
commit456d97d364e34adc4e68cbd51c2ad6ecd548492d (patch)
tree34e0c9d503e9427cf4c0f120b0779dd207388270 /target-i386
parentMerge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (diff)
downloadqemu-456d97d364e34adc4e68cbd51c2ad6ecd548492d.tar.gz
qemu-456d97d364e34adc4e68cbd51c2ad6ecd548492d.tar.xz
qemu-456d97d364e34adc4e68cbd51c2ad6ecd548492d.zip
hmp: fix qemu crash due to ioapic state dump w/ split irqchip
The qemu will crash when info ioapic through hmp if irqchip is split. Below message is splat: KVM_GET_IRQCHIP failed: Unknown error -6 This patch fix it by dumping the ioapic state from the qemu emulated ioapic if irqchip is split. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com> Message-Id: <1474602456-3232-1-git-send-email-wanpeng.li@hotmail.com> Reviewed-by: Peter Xu <peterx@redhat.com> Message-ID: <20160923090824.GF15411@pxdev.xzpeter.org> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/monitor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/target-i386/monitor.c b/target-i386/monitor.c
index fccfe40ab7..9a3b4d746e 100644
--- a/target-i386/monitor.c
+++ b/target-i386/monitor.c
@@ -504,7 +504,8 @@ void hmp_info_local_apic(Monitor *mon, const QDict *qdict)
void hmp_info_io_apic(Monitor *mon, const QDict *qdict)
{
- if (kvm_irqchip_in_kernel()) {
+ if (kvm_irqchip_in_kernel() &&
+ !kvm_irqchip_is_split()) {
kvm_ioapic_dump_state(mon, qdict);
} else {
ioapic_dump_state(mon, qdict);