Skip to content

uq/master: Introduce KVM PIT support

Jan Kiszka kvm qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 5 repliesIn review

Changes in v2 from the cover letter

- Rebased over recent upstream master to reflect QOM changes

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4i8254: Factor out base class for KVM reuseMakefile.objs hw/i8254.c hw/i8254_common.c +1 more+424 -2390 replies
2/4i8254: Open-code timer restorehw/i8254.c hw/i8254_common.c+15 -33 replies
3/4kvm: Add kvm_has_pit_state2 helperkvm-all.c kvm-stub.c kvm.h+16 -02 replies
4/4kvm: x86: Add user space part for in-kernel i8254Makefile.target hw/i8254.h hw/kvm/i8254.c +1 more+265 -30 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] uq/master: Introduce KVM PIT support

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
Signature · 1 line
1.7.3.4