On Mon, Mar 12, 2012 at 10:32:21AM -0300, Eduardo Habkost wrote:
On Mon, Mar 12, 2012 at 03:15:32PM +0200, Gleb Natapov wrote:
> On Mon, Mar 12, 2012 at 01:04:19PM +0000, Daniel P. Berrange wrote:
> > On Mon, Mar 12, 2012 at 09:52:27AM -0300, Eduardo Habkost wrote:
> > > On Sun, Mar 11, 2012 at 09:12:58AM -0500, Anthony Liguori wrote:
> > > > On 03/11/2012 08:27 AM, Gleb Natapov wrote:
> > > > >On Sat, Mar 10, 2012 at 12:24:47PM -0600, Anthony Liguori wrote:
> > > > >>Let's step back here.
> > > > >>
> > > > >>Why are you writing these patches? It's probably not
because you
> > > > >>have a desire to say -cpu Westmere when you run QEMU on your
laptop.
> > > > >>I'd wager to say that no human has ever done that or that
if they
> > > > >>had, they did so by accident because they read documentation
and
> > > > >>thought they had to.
> > >
> > > No, it's because libvirt doesn't handle all the tiny small
details
> > > involved in specifying a CPU. All libvirty knows about are a set of CPU
> > > flag bits, but it knows nothing about 'level', 'family',
and 'xlevel',
> > > but we would like to allow it to expose a Westmere-like CPU to the
> > > guest.
> >
> > This is easily fixable in libvirt - so for the point of going discussion,
> > IMHO, we can assume libvirt will support level, family, xlevel, etc.
> >
> And fill in all cpuid leafs by querying /dev/kvm when needed or, if TCG
> is used, replicating QEMU logic? And since QEMU should be usable without
> libvirt the same logic should be implemented in QEMU anyway.
To implement this properly, libvirt will need a proper probing interface
to know what exactly is available and can be enabled. I plan to
implement that.
I am have no problem in giving to libvirt the power to shoot itself in
the foot. I believe libvirt developers can handle that. I have a problem
with requiring every user (human or machine) to handle a weapon that can
shoot their foot (that means, requiring the user to write the CPU model
definition from scratch, or requiring the user to blindly copy&paste the
default config file).
You are dangerous person Eduardo!
--
Gleb.