Skip to contentSkip to conversation

kvm updates

GIT PULL Avi Kivity 3 participants 4 messages Mar 1, 2012 – Mar 4, 2012 KVM

lore
Share & tools
lore

Avi Kivity

author
#0 lore raw

This batch of updates is mostly Jan's rework of qemu-kvm's TPR optimization for 32-bit Windows, making Windows XP much faster with kvm enabled on older Intel and any AMD hardware. Any similarities to the original hack are purely coincidental.

Please pull from:

git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git uq/master

----------------------------------------------------------------
Avi Kivity (1):
pc-bios: update kvmvapic.bin

Gleb Natapov (1):
kvm: Synchronize cpu state in kvm_arch_stop_on_emulation_error()

Jan Kiszka (10):
kvm: Set cpu_single_env only once
Remove useless casts from cpu iterators
Process pending work while waiting for initial kick-off in TCG mode Allow to use pause_all_vcpus from VCPU context
target-i386: Add infrastructure for reporting TPR MMIO accesses
kvmvapic: Add option ROM
kvmvapic: Introduce TPR access optimization for Windows guests
kvmvapic: Simplify mp/up_set_tpr
optionsrom: Reserve space for checksum
kvmvapic: Use optionrom helpers

 .gitignore                    |    1 +
 Makefile                      |    2 +-
 Makefile.target               |    3 +-
 cpu-all.h                     |    3 +-
 cpus.c                        |   26 ++-
 hw/apic.c                     |  126 ++++++-
 hw/apic.h                     |    2 +
 hw/apic_common.c              |   69 ++++-
 hw/apic_internal.h            |   27 ++
 hw/kvm/apic.c                 |   32 ++
 hw/kvmvapic.c                 |  805
+++++++++++++++++++++++++++++++++++++++++
 hw/mc146818rtc.c              |    5 +-
 kvm-all.c                     |    5 -
 pc-bios/kvmvapic.bin          |  Bin 0 -> 9216 bytes
 pc-bios/optionrom/Makefile    |    2 +-
 pc-bios/optionrom/kvmvapic.S  |  335 +++++++++++++++++
 pc-bios/optionrom/optionrom.h |    3 +-
 target-i386/cpu.h             |   10 +
 target-i386/helper.c          |   16 +
 target-i386/kvm.c             |   26 ++-
 20 files changed, 1468 insertions(+), 30 deletions(-)
 create mode 100644 hw/kvmvapic.c
 create mode 100755 pc-bios/kvmvapic.bin
 create mode 100644 pc-bios/optionrom/kvmvapic.S
Signature · 1 line
error compiling committee.c: too many arguments to function
#1 lore raw

Am 01.03.2012 13:47, schrieb Avi Kivity:

Quoted 6 lines

Avi Kivity (1):
pc-bios: update kvmvapic.bin

Gleb Natapov (1):
kvm: Synchronize cpu state in kvm_arch_stop_on_emulation_error()

Quoted 11 lines

Jan Kiszka (10):
kvm: Set cpu_single_env only once
Remove useless casts from cpu iterators
Process pending work while waiting for initial kick-off in TCG mode Allow to use pause_all_vcpus from VCPU context
target-i386: Add infrastructure for reporting TPR MMIO accesses
kvmvapic: Add option ROM
kvmvapic: Introduce TPR access optimization for Windows guests
kvmvapic: Simplify mp/up_set_tpr
optionsrom: Reserve space for checksum
kvmvapic: Use optionrom helpers

What about my kvmclock kvm_enabled() fix? Should I rather submit that as part of my qom-cpu queue? It depends on it.

Andreas

Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
author
#2 lore raw
Quoted 19 lines · Andreas Färber

Am 01.03.2012 13:47, schrieb Avi Kivity:

Quoted 6 lines

Avi Kivity (1):
pc-bios: update kvmvapic.bin

Gleb Natapov (1):
kvm: Synchronize cpu state in kvm_arch_stop_on_emulation_error()

Quoted 11 lines

Jan Kiszka (10):
kvm: Set cpu_single_env only once
Remove useless casts from cpu iterators
Process pending work while waiting for initial kick-off in TCG mode Allow to use pause_all_vcpus from VCPU context
target-i386: Add infrastructure for reporting TPR MMIO accesses
kvmvapic: Add option ROM
kvmvapic: Introduce TPR access optimization for Windows guests
kvmvapic: Simplify mp/up_set_tpr
optionsrom: Reserve space for checksum
kvmvapic: Use optionrom helpers

Quoted 2 lines

What about my kvmclock kvm_enabled() fix? Should I rather submit that as part of my qom-cpu queue? It depends on it.

I am still catching up with my queue post vacation. Somehow it seems to be getting longer instead of shorter.

Signature · 1 line
error compiling committee.c: too many arguments to function
#3 lore raw
In reply to Avi Kivity
Quoted 8 lines · Avi Kivity

This batch of updates is mostly Jan's rework of qemu-kvm's TPR optimization for 32-bit Windows, making Windows XP much faster with kvm enabled on older Intel and any AMD hardware. Any similarities to the original hack are purely coincidental.

Please pull from:

git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git uq/master

Pulled. Thanks.

Regards,

Anthony Liguori

Quoted 46 lines

----------------------------------------------------------------
Avi Kivity (1):
pc-bios: update kvmvapic.bin

Gleb Natapov (1):
kvm: Synchronize cpu state in kvm_arch_stop_on_emulation_error()

Jan Kiszka (10):
kvm: Set cpu_single_env only once
Remove useless casts from cpu iterators
Process pending work while waiting for initial kick-off in TCG mode Allow to use pause_all_vcpus from VCPU context
target-i386: Add infrastructure for reporting TPR MMIO accesses
kvmvapic: Add option ROM
kvmvapic: Introduce TPR access optimization for Windows guests
kvmvapic: Simplify mp/up_set_tpr
optionsrom: Reserve space for checksum
kvmvapic: Use optionrom helpers

  .gitignore                    |    1 +
  Makefile                      |    2 +-
  Makefile.target               |    3 +-
  cpu-all.h                     |    3 +-
  cpus.c                        |   26 ++-
  hw/apic.c                     |  126 ++++++-
  hw/apic.h                     |    2 +
  hw/apic_common.c              |   69 ++++-
  hw/apic_internal.h            |   27 ++
  hw/kvm/apic.c                 |   32 ++
  hw/kvmvapic.c                 |  805
+++++++++++++++++++++++++++++++++++++++++
  hw/mc146818rtc.c              |    5 +-
  kvm-all.c                     |    5 -
  pc-bios/kvmvapic.bin          |  Bin 0 ->  9216 bytes
  pc-bios/optionrom/Makefile    |    2 +-
  pc-bios/optionrom/kvmvapic.S  |  335 +++++++++++++++++
  pc-bios/optionrom/optionrom.h |    3 +-
  target-i386/cpu.h             |   10 +
  target-i386/helper.c          |   16 +
  target-i386/kvm.c             |   26 ++-
  20 files changed, 1468 insertions(+), 30 deletions(-)

create mode 100644 hw/kvmvapic.c
create mode 100755 pc-bios/kvmvapic.bin
create mode 100644 pc-bios/optionrom/kvmvapic.S