From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: [PATCHv4 0/4] migrate PV EOI MSR Date: Tue, 28 Aug 2012 20:43:39 +0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Blue Swirl To: Anthony Liguori , avi@redhat.com, mtosatti@redhat.com, gleb@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org, Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:63701 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751686Ab2H1RmY (ORCPT ); Tue, 28 Aug 2012 13:42:24 -0400 Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: It turns out PV EOI gets disabled after migration - until next guest reset. This is because we are missing code to actually migrate it. This patch fixes it up: it applies cleanly to qemu.git as well as qemu-kvm.git, so I think it's cleaner to apply it in qemu.git to keep diff to minimum. Note: there's talk about adding infrastructure for CPUID whitelisting which thinkably could be used for migration compat support. I am guessing this won't be 1.2 material - when it's ready we can easily replace a simple flag that this patchset adds with something else. So this just adds minimal code to avoid regressing cross-version migration. Note: there's a kernel bug in linux 3.6-rc3 - apply my patch 'kvm: fix KVM_GET_MSR for PV EOI' in order to use this patchset on it. Needed for 1.2. Changes from v2 and v3: Multiple tweaks in variable name to confirm to strict C99 (Blue Swirl) Changes from v1: Update all headers from 3.6-rc3 to keep them in sync (Jan) Disable cpuid flag for qemu 1.2 and older (Orit) Michael S. Tsirkin (4): linux-headers: update to 3.6-rc3 pc: refactor compat code cpuid: disable pv eoi for 1.1 and older compat types kvm: get/set PV EOI MSR hw/Makefile.objs | 2 +- hw/cpu_flags.c | 32 +++++++++++++++++++++++++++ hw/cpu_flags.h | 9 ++++++++ hw/pc_piix.c | 46 ++++++++++++++++++++++++++++++++------- linux-headers/asm-s390/kvm.h | 2 +- linux-headers/asm-s390/kvm_para.h | 2 +- linux-headers/asm-x86/kvm.h | 1 + linux-headers/asm-x86/kvm_para.h | 7 ++++++ linux-headers/linux/kvm.h | 3 +++ target-i386/cpu.c | 8 +++++++ target-i386/cpu.h | 1 + target-i386/kvm.c | 13 +++++++++++ target-i386/machine.c | 21 ++++++++++++++++++ 13 files changed, 136 insertions(+), 11 deletions(-) create mode 100644 hw/cpu_flags.c create mode 100644 hw/cpu_flags.h -- MST