mirror_qemu/hw
Gabriel L. Somlo 220c8ed536 qemu: 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 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 <somlo@cmu.edu>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2014-03-09 21:09:38 +02:00
..
9pfs hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation 2014-03-04 00:57:57 +05:30
acpi QOM infrastructure fixes and device conversions 2014-02-20 13:05:48 +00:00
alpha exec: Make stq_*_phys input an AddressSpace 2014-02-11 22:57:12 +10:00
arm console: add head to index to qemu consoles. 2014-03-05 09:52:04 +01:00
audio hda-audio: qom cleanups 2014-02-24 10:42:09 +01:00
block Add a 'name' parameter to qemu_thread_create 2014-03-09 21:09:38 +02:00
bt Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
char QOM infrastructure fixes and device conversions 2014-02-20 13:05:48 +00:00
core qdev: Keep global allocation counter per bus 2014-03-05 03:06:47 +01:00
cpu icc_bus: QOM'ify ICC 2013-12-24 18:02:18 +01:00
cris cris: Remove the CRIS PIC glue 2014-02-03 14:04:00 +00:00
display xenfb: Fix graphic_console_init() build failure 2014-03-08 11:27:00 +00:00
dma dma/pl330: implement dmaadnh instruction 2014-02-26 17:20:09 +00:00
gpio max7310: QOM'ify 2014-02-14 16:22:32 +01:00
i2c i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
i386 acpi-build: append description for non-hotplug 2014-03-09 21:09:30 +02:00
ide hw/ide/ahci.h: Avoid shifting left into sign bit 2014-03-07 11:29:21 +01:00
input pckbd: return 'keyboard enabled' on read input port command 2014-03-09 21:09:38 +02:00
intc qemu: x86: ignore ioapic polarity 2014-03-09 21:09:38 +02:00
ipack ipack: Move IndustryPack out of hw/char/ 2014-02-14 21:11:53 +01:00
isa QOM infrastructure fixes and device conversions 2014-02-20 13:05:48 +00:00
lm32 hw/lm32: print error if cpu model is not found 2014-02-04 19:47:39 +01:00
m68k an5206: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
microblaze xilinx: Delete hw/include/xilinx.h 2014-02-26 14:54:45 +10:00
mips i2c: Rename i2c_bus to I2CBus 2014-02-14 16:22:31 +01:00
misc Updates include: 2014-02-27 11:31:52 +00:00
moxie moxie: fix load_elf() usage 2014-03-05 03:06:46 +01:00
net virtio-net: remove function calls from assert 2014-03-09 21:09:37 +02:00
nvram qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
openrisc openrisc-timer: Reduce overhead, Separate clock update functions 2013-11-20 21:46:45 +08:00
pci PCIE: fix regression with coldplugged multifunction device 2014-03-09 21:09:37 +02:00
pci-bridge pci/shpc: convert SHPC hotplug to use hotplug-handler API 2014-02-10 10:27:00 +02:00
pci-host pam: partly fix write-only mode 2014-03-09 21:09:38 +02:00
pcmcia pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState 2013-11-05 18:06:52 +01:00
ppc target-ppc: spapr: e500: fix to use cpu_dt_id 2014-03-05 03:07:04 +01:00
s390x Patch queue for ppc - 2014-03-05 2014-03-07 16:36:38 +00:00
scsi spapr_vscsi: Fix REPORT_LUNS handling 2014-03-05 03:06:26 +01:00
sd QOM infrastructure fixes and device conversions 2014-02-20 13:05:48 +00:00
sh4 exec: Make stw_*_phys input an AddressSpace 2014-02-11 22:57:32 +10:00
sparc sun4m: Add Sun CG3 framebuffer initialisation function 2014-02-27 10:01:41 +00:00
sparc64 pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ssi xilinx_spi: QOM cast cleanup 2013-07-29 21:07:01 +02:00
timer Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging 2014-03-04 13:09:06 +00:00
tpm aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
unicore32 console: add head to index to qemu consoles. 2014-03-05 09:52:04 +01:00
usb Add a 'name' parameter to qemu_thread_create 2014-03-09 21:09:38 +02:00
virtio qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
watchdog qemu-option: Remove qemu_opts_create_nofail 2014-01-06 15:02:30 -05:00
xen Call pci_piix3_xen_ide_unplug from unplug_disks 2014-02-20 17:28:08 +00:00
xtensa hw/xtensa: add support for ML605 and KC705 FPGA board 2014-02-24 04:47:01 +04:00
Makefile.objs hw/9pfs: Include virtio-9p-device.o in build 2014-03-04 09:20:49 +05:30