1
0
Fork 0
alistair23-linux/arch/ia64/kvm
Gabriel L. Somlo 100943c54e kvm: x86: ignore ioapic polarity
Both QEMU and KVM have already accumulated a significant number of
optimizations based on the hard-coded assumption that ioapic polarity
will always use the ActiveHigh convention, where the logical and
physical states of level-triggered irq lines always match (i.e.,
active(asserted) == high == 1, inactive == low == 0). QEMU guests
are expected to follow directions given via ACPI and configure the
ioapic with polarity 0 (ActiveHigh). However, even when misbehaving
guests (e.g. OS X <= 10.9) set the ioapic polarity to 1 (ActiveLow),
QEMU will still use the ActiveHigh signaling convention when
interfacing with KVM.

This patch modifies KVM to completely ignore ioapic polarity as set by
the guest OS, enabling misbehaving guests to work alongside those which
comply with the ActiveHigh polarity specified by QEMU's ACPI tables.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gabriel L. Somlo <somlo@cmu.edu>
[Move documentation to KVM_IRQ_LINE, add ia64. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-03-13 11:58:21 +01:00
..
Kconfig kvm: Allow build-time configuration of KVM device assignment 2013-04-28 12:58:56 +03:00
Makefile KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles 2013-05-19 15:14:00 +03:00
asm-offsets.c drop explicit include of autoconf.h 2009-12-12 13:08:15 +01:00
irq.h KVM: ia64: Fix the build errors due to lack of macros related to MSI. 2009-03-24 11:03:13 +02:00
kvm-ia64.c kvm: x86: ignore ioapic polarity 2014-03-13 11:58:21 +01:00
kvm_fw.c KVM: ia64: remove redundant kvm_get_exit_data() NULL tests 2010-03-01 12:35:52 -03:00
kvm_lib.c KVM: ia64: fix ia64 build due to missing kallsyms_lookup() and double export 2009-06-28 14:10:30 +03:00
kvm_minstate.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
lapic.h KVM: Call common update function when ioapic entry changed. 2013-04-16 16:32:40 -03:00
memcpy.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
memset.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
misc.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
mmio.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
optvfault.S KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler 2009-06-10 11:48:29 +03:00
process.c Fix common misspellings 2011-03-31 11:26:23 -03:00
trampoline.S KVM: ia64: Add trampoline for guest/host mode switch 2008-04-27 12:01:08 +03:00
vcpu.c KVM: ia64: Fix string literal continuation lines 2010-03-01 12:36:07 -03:00
vcpu.h KVM: ia64: fix build breakage due to host spinlock change 2009-12-27 13:36:33 -02:00
vmm.c treewide: Put a space between #include and FILE 2012-06-28 11:44:36 +02:00
vmm_ivt.S Rename .text.ivt to .text..ivt. 2010-03-03 11:26:00 +01:00
vti.h KVM: ia64: fix sparse warnings 2011-05-22 08:39:57 -04:00
vtlb.c Wrong asm register contraints in the kvm implementation 2013-03-19 16:14:54 -07:00