From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49047) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T6Po1-0006HN-Ci for qemu-devel@nongnu.org; Tue, 28 Aug 2012 13:42:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T6Po0-0005i5-5d for qemu-devel@nongnu.org; Tue, 28 Aug 2012 13:42:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:61536) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T6Pnz-0005ho-Qx for qemu-devel@nongnu.org; Tue, 28 Aug 2012 13:42:24 -0400 Date: Tue, 28 Aug 2012 20:43:39 +0300 From: "Michael S. Tsirkin" Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCHv4 0/4] migrate PV EOI MSR List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , avi@redhat.com, mtosatti@redhat.com, gleb@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org, Jan Kiszka Cc: Blue Swirl 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