Second round, specifically adressing: - IRQMsg framework to refactor existing de-coalescing code - RTC IRQ output as GPIO pin (routed depening on HPET or -no-hpet) - ISA reservation for RTC IRQ
If discussion around IRQMsg and de-coalescing happens to continue, I would suggest to merge patches 1..7 as they are likely uncontroversial and also fix bugs. Jan Kiszka (16): hpet: Catch out-of-bounds timer access hpet: Coding style cleanups and some refactorings hpet: Silence warning on write to running main counter hpet: Move static timer field initialization hpet: Convert to qdev hpet: Start/stop timer when HPET_TN_ENABLE is modified monitor/QMP: Drop info hpet / query-hpet Pass IRQ object on handler invocation Enable message delivery via IRQs x86: Refactor RTC IRQ coalescing workaround hpet/rtc: Rework RTC IRQ replacement by HPET hpet: Drop static state hpet: Add support for level-triggered interrupts vmstate: Add VMSTATE_STRUCT_VARRAY_UINT8 hpet: Make number of timers configurable hpet: Add MSI support QMP/vm-info | 2 +- hw/acpi_piix4.c | 3 +- hw/apic.c | 66 +++--- hw/apic.h | 11 +- hw/arm11mpcore.c | 12 +- hw/arm_gic.c | 18 +- hw/arm_pic.c | 6 +- hw/arm_timer.c | 4 +- hw/bitbang_i2c.c | 4 +- hw/bt-hci-csr.c | 2 +- hw/cbus.c | 6 +- hw/cris_pic_cpu.c | 4 +- hw/esp.c | 2 +- hw/etraxfs_pic.c | 16 +- hw/fdc.c | 2 +- hw/heathrow_pic.c | 3 +- hw/hpet.c | 595 ++++++++++++++++++++++++++++++----------------- hw/hpet_emul.h | 46 +--- hw/hw.h | 10 + hw/i8259.c | 28 ++- hw/ide/cmd646.c | 2 +- hw/ide/microdrive.c | 2 +- hw/integratorcp.c | 10 +- hw/ioapic.c | 22 ++- hw/irq.c | 48 ++++- hw/irq.h | 42 +++- hw/lance.c | 2 +- hw/max7310.c | 2 +- hw/mc146818rtc.c | 111 +++++----- hw/mc146818rtc.h | 4 +- hw/mcf5206.c | 6 +- hw/mcf_intc.c | 14 +- hw/microblaze_pic_cpu.c | 5 +- hw/mips_int.c | 10 +- hw/mips_jazz.c | 4 +- hw/mips_malta.c | 4 +- hw/mips_r4k.c | 2 +- hw/mst_fpga.c | 10 +- hw/musicpal.c | 16 +- hw/nseries.c | 4 +- hw/omap.h | 2 +- hw/omap1.c | 34 ++-- hw/omap2.c | 8 +- hw/omap_dma.c | 8 +- hw/omap_mmc.c | 2 +- hw/openpic.c | 6 +- hw/palm.c | 2 +- hw/pc.c | 59 ++++-- hw/pc.h | 8 +- hw/pci.c | 4 +- hw/pl061.c | 4 +- hw/pl190.c | 6 +- hw/ppc.c | 8 +- hw/ppc4xx_devs.c | 2 +- hw/ppc_prep.c | 4 +- hw/pxa2xx.c | 2 +- hw/pxa2xx_gpio.c | 2 +- hw/pxa2xx_pcmcia.c | 3 +- hw/pxa2xx_pic.c | 10 +- hw/r2d.c | 2 +- hw/rc4030.c | 7 +- hw/sbi.c | 2 +- hw/sh_intc.c | 4 +- hw/sh_intc.h | 2 +- hw/sharpsl.h | 1 - hw/slavio_intctl.c | 16 +- hw/slavio_misc.c | 3 +- hw/sparc32_dma.c | 2 +- hw/spitz.c | 14 +- hw/ssd0323.c | 2 +- hw/stellaris.c | 6 +- hw/sun4c_intctl.c | 8 +- hw/sun4m.c | 14 +- hw/sun4u.c | 12 +- hw/syborg_interrupt.c | 8 +- hw/tc6393xb.c | 7 +- hw/tosa.c | 2 +- hw/tusb6010.c | 3 +- hw/twl92230.c | 5 +- hw/versatilepb.c | 10 +- hw/xilinx_intc.c | 8 +- hw/zaurus.c | 2 +- monitor.c | 22 -- qemu-monitor.hx | 21 -- 84 files changed, 874 insertions(+), 643 deletions(-)