This adds another piece of qemu-kvm to upstream: The accelerated in-kernel model of the i8254. It does this in the same fashion as the interrupt controllers were already introduced. And it even has one bug less than qemu-kvm: PC speaker output still works with KVM acceleration enabled. Changes in v2: - Rebased over recent upstream master to reflect QOM changes The patches depend on the follow upstream or uq/master patches: - pit, hpet, pcspk: fixes & preparation for KVM (v4, 7 patches) http://thread.gmane.org/gmane.comp.emulators.kvm.devel/86006 - kvm: Implement kvm_irqchip_in_kernel http://thread.gmane.org/gmane.comp.emulators.qemu/134399 - KVM: Fix breakages of QOM conversion http://permalink.gmane.org/gmane.comp.emulators.qemu/134844 It is based on upstream commit cb437e48ab (before the VGA breakage). The series plus dependencies is also available at git://git.kiszka.org/qemu-kvm.git queues/kvm-pit Please review / merge. Jan Kiszka (4): i8254: Factor out base class for KVM reuse i8254: Open-code timer restore kvm: Add kvm_has_pit_state2 helper kvm: x86: Add user space part for in-kernel i8254 Makefile.objs | 2 +- Makefile.target | 2 +- hw/i8254.c | 281 +++++++--------------------------------------- hw/i8254.h | 11 ++ hw/i8254_common.c | 307 +++++++++++++++++++++++++++++++++++++++++++++++++++ hw/i8254_internal.h | 85 ++++++++++++++ hw/kvm/i8254.c | 241 ++++++++++++++++++++++++++++++++++++++++ hw/pc.c | 14 ++- kvm-all.c | 10 ++ kvm-stub.c | 5 + kvm.h | 1 + 11 files changed, 717 insertions(+), 242 deletions(-) create mode 100644 hw/i8254_common.c create mode 100644 hw/i8254_internal.h create mode 100644 hw/kvm/i8254.c -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html