[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target-i386: Disable CPUID_EXT_MONITOR when KVM

From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH] target-i386: Disable CPUID_EXT_MONITOR when KVM is enabled
Date: Mon, 27 May 2013 10:07:12 -0300
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, May 27, 2013 at 02:21:36PM +0200, Paolo Bonzini wrote:
> Il 27/05/2013 14:09, Eduardo Habkost ha scritto:
> > On Sat, May 25, 2013 at 08:25:49AM +0200, Paolo Bonzini wrote:
> >> Il 25/05/2013 03:21, Bandan Das ha scritto:
> >>> There is one user-visible effect: "-cpu ...,enforce" will stop failing
> >>> because of missing KVM support for CPUID_EXT_MONITOR. But that's exactly
> >>> the point: there's no point in having CPU model definitions that would
> >>> never work as-is with neither TCG or KVM. This patch is changing the
> >>> meaning of (e.g.) "-machine ...,accel=kvm -cpu Opteron_G3" to match what
> >>> was already happening in practice.
> >>
> >> But then -cpu Opteron_G3 does not match a "real" Opteron G3.  Is it
> >> worth it?
> > 
> > No models match a "real" CPU this way, because neither TCG or KVM
> > support all features supported by a real CPU. I ask the opposite
> > question: is it worth maintaining an "accurate" CPU model definition
> > that would never work without feature-bit tweaking in the command-line?
> It would work with TCG.  Changing TCG to KVM should not change hardware
> if you use "-cpu ...,enforce", so it is right that it fails when
> starting with KVM.

Changing between KVM and TCG _does_ change hardware, today (with or
without check/enforce). All CPU models on TCG have features not
supported by TCG automatically removed. See the "if (!kvm_enabled())"
block at x86_cpu_realizefn().

(That's why I argue that we need separate classes/names for TCG and KVM
modes. Otherwise our predefined models get less useful as they will
require low-level feature-bit fiddling on the libvirt side to make them
work as expected.)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]