From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34119) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvvFv-0000OM-0H for qemu-devel@nongnu.org; Fri, 10 Feb 2012 13:31:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RvvFp-0002ow-JN for qemu-devel@nongnu.org; Fri, 10 Feb 2012 13:31:34 -0500 Received: from thoth.sbs.de ([192.35.17.2]:22651) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvvFp-0002nz-6a for qemu-devel@nongnu.org; Fri, 10 Feb 2012 13:31:29 -0500 From: Jan Kiszka Date: Fri, 10 Feb 2012 19:31:15 +0100 Message-Id: Subject: [Qemu-devel] [PATCH v2 0/8] uq/master: TPR access optimization for Windows guests List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity , Marcelo Tosatti Cc: Paolo Bonzini , Anthony Liguori , qemu-devel , kvm@vger.kernel.org, Gleb Natapov Here is v2 of the TPR access optimization. Changes: - plug race between patching and running VCPUs accessing the same TPR instruction by stopping VCPUs during patch process - realized forward/backward check in evaluate_tpr_instruction via a table but kept patch_instruction as is (too much variations for a table-driven approach) - dropped smp_cpus == 1 special case from get_kpcr_number - fixed comment why R/W ROM alias has to be page-aligned The series is also available at git://git.kiszka.org/qemu-kvm.git queues/kvm-tpr Please review/apply. CC: Paolo Bonzini Jan Kiszka (8): kvm: Set cpu_single_env only once 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 | 13 + hw/apic.c | 126 ++++++- hw/apic.h | 2 + hw/apic_common.c | 68 ++++- hw/apic_internal.h | 27 ++ hw/kvm/apic.c | 32 ++ hw/kvmvapic.c | 774 +++++++++++++++++++++++++++++++++++++++++ kvm-all.c | 5 - pc-bios/optionrom/Makefile | 2 +- pc-bios/optionrom/kvmvapic.S | 335 ++++++++++++++++++ pc-bios/optionrom/optionrom.h | 3 +- target-i386/cpu.h | 9 + target-i386/helper.c | 19 + target-i386/kvm.c | 24 ++- 18 files changed, 1423 insertions(+), 25 deletions(-) create mode 100644 hw/kvmvapic.c create mode 100644 pc-bios/optionrom/kvmvapic.S -- 1.7.3.4