From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=40863 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OGe2K-00013L-VF for qemu-devel@nongnu.org; Mon, 24 May 2010 16:14:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OGe28-0000CQ-E4 for qemu-devel@nongnu.org; Mon, 24 May 2010 16:14:08 -0400 Received: from fmmailgate01.web.de ([217.72.192.221]:53612) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OGe27-0000Bv-Qx for qemu-devel@nongnu.org; Mon, 24 May 2010 16:13:56 -0400 From: Jan Kiszka Date: Mon, 24 May 2010 22:13:33 +0200 Message-Id: Sender: jan.kiszka@web.de Subject: [Qemu-devel] [RFT][PATCH 00/15] HPET cleanups, fixes, enhancements List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: blue Swirl , Juan Quintela Not yet for merge (unless I happened to forgot adding bugs), just a Request For Testing (and for review, of course). This series grew beyond my initial plans and my current testing capabilities, Linux and Win7 are apparently still fine, but that's all I can say so far. To summarize contributions to the HPET model: - fixed host memory corruptions by guest (patch 1, likely stable stuff) - coding style cleanup - qdev conversion - detangling of RTC from HPET dependencies, specifically via providing "feedback" IRQ handlers to easy IRQ coalescing workaround implementations - support for level-triggered HPET IRQs (untested - does anyone know of a user?) - up to 32 comparators (configurable via qdev prop) - MSI support (configurable via qdev prop) - dropped obsolete "info hpet" and "query-hpet" Yet missing: - IRQ coalescing workaround - maybe some refactoring to easy compile-time disabling (Juan?) - build once (I leave this to Blue Swirl :) ) - multiple HPET blocks (no urgent need yet) Please give this hell. Jan Kiszka (15): 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 qemu_irq: Add IRQ handlers with delivery feedback 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 monitor/QMP: Drop info hpet / query-hpet QMP/vm-info | 2 +- hw/apic.c | 63 +++--- hw/apic.h | 11 +- hw/hpet.c | 582 +++++++++++++++++++++++++++++++++-------------------- hw/hpet_emul.h | 46 +---- hw/hw.h | 10 + hw/i8259.c | 20 ++- hw/ioapic.c | 34 ++-- hw/irq.c | 38 +++- hw/irq.h | 22 ++- hw/mc146818rtc.c | 60 ++---- hw/mc146818rtc.h | 4 +- hw/mips_jazz.c | 2 +- hw/mips_malta.c | 2 +- hw/mips_r4k.c | 2 +- hw/pc.c | 33 +++- hw/pc.h | 2 +- hw/pc_piix.c | 2 +- hw/ppc_prep.c | 2 +- monitor.c | 33 --- 20 files changed, 552 insertions(+), 418 deletions(-)