[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v3 14/14] qemu: x86: ignore ioapic polarity
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL v3 14/14] qemu: x86: ignore ioapic polarity |
Date: |
Sun, 9 Mar 2014 21:20:41 +0200 |
From: "Gabriel L. Somlo" <address@hidden>
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 the emulated ioapic.
This patch modifies the emulated ioapic to completely ignore 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: Gabriel L. Somlo <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/intc/ioapic.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c
index 652dd47..b527932 100644
--- a/hw/intc/ioapic.c
+++ b/hw/intc/ioapic.c
@@ -93,9 +93,6 @@ static void ioapic_set_irq(void *opaque, int vector, int
level)
uint32_t mask = 1 << vector;
uint64_t entry = s->ioredtbl[vector];
- if (entry & (1 << IOAPIC_LVT_POLARITY_SHIFT)) {
- level = !level;
- }
if (((entry >> IOAPIC_LVT_TRIGGER_MODE_SHIFT) & 1) ==
IOAPIC_TRIGGER_LEVEL) {
/* level triggered */
--
MST
- [Qemu-devel] [PULL v3 03/14] virtio-net: remove function calls from assert, (continued)
- [Qemu-devel] [PULL v3 03/14] virtio-net: remove function calls from assert, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 04/14] memory_region_present: return false if address is not found in child MemoryRegion, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 06/14] Rework --name to use QemuOpts, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 05/14] PCIE: fix regression with coldplugged multifunction device, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 08/14] Add a 'name' parameter to qemu_thread_create, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 09/14] MAINTAINERS: drop an out of date address, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 10/14] acpi-test: retain both asl and aml files on failure, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 11/14] acpi-test: issue errors instead of warnings when possible, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 12/14] pam: partly fix write-only mode, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 13/14] pckbd: return 'keyboard enabled' on read input port command, Michael S. Tsirkin, 2014/03/09
- [Qemu-devel] [PULL v3 14/14] qemu: x86: ignore ioapic polarity,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL v3 07/14] Add 'debug-threads' suboption to --name, Michael S. Tsirkin, 2014/03/09
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Peter Maydell, 2014/03/10
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Michael S. Tsirkin, 2014/03/10
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Peter Maydell, 2014/03/11
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Michael S. Tsirkin, 2014/03/11
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Peter Maydell, 2014/03/11
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Michael S. Tsirkin, 2014/03/11
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Peter Maydell, 2014/03/11
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Michael S. Tsirkin, 2014/03/11
- Re: [Qemu-devel] [PULL v3 00/14] acpi, pc, pci, virtio, memory bug fixes, Peter Maydell, 2014/03/11