public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Alexander Graf <agraf@suse.de>, Pekka Enberg <penberg@kernel.org>,
	Jan Kiszka <jan.kiszka@web.de>,
	torvalds@linux-foundation.org, akpm@linux-foundation.org,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	gorcunov@gmail.com, levinsasha928@gmail.com,
	asias.hejun@gmail.com, prasadjoshi124@gmail.com
Subject: Re: [GIT PULL] Native Linux KVM tool for 3.1
Date: Mon, 25 Jul 2011 13:17:58 +0300	[thread overview]
Message-ID: <4E2D42D6.3010909@redhat.com> (raw)
In-Reply-To: <20110725100311.GH28787@elte.hu>

On 07/25/2011 01:03 PM, Ingo Molnar wrote:
> >  >  Then look at the actual drivers and interfaces within tools/kvm/.
> >  >  It's using the same symbols and conventions for 'guest' and
> >  >  'host' side.
> >  >
> >  >  Check out tools/kvm/hw/i8042.c and match it up with
> >  >  include/linux/serio.h and drivers/input/serio/i8042.c - you can
> >  >  literally walk from one side to the other and understand how
> >  >  guest and host are tightly related not just functionality but
> >  >  also implementation wise.
> >  >
> >  >  This is how Qemu should be doing it as well btw., to ease the
> >  >  debugging of host/guest interaction bugs and to ease development.
> >
> >  No. That ties the guest and host interfaces together. [...]
>
> Why would it tie the interfaces together? For a guest and host driver
> to be written in the same familiar conventions is useful for
> debugging and development easier but does not prevent both of those
> pieces to implement a precise interface. (Especially since in the
> i8042 case the host driver is used with real hardware as well.)

The driver is under no requirement to use all of the functionality of 
the device.  On the other hand, the device emulation has to be complete, 
or it risks not working with some past or future version of the driver, 
or with another OS (if you support that).

> >  [...]  If you change the guest to use a feature you didn't
> >  implement previously in the host, it's suddenly broken when
> >  virtualized.
> >
> >  The right thing is to implement the hardware interface exactly per
> >  spec, and ignore the guest(s) completely except for testing and
> >  performance.
>
> You can certainly do that too - and nothing prevents from the guest
> and host driver to look and feel similar.
>
> But note that for many of these things there no such thing as a
> 'hardware spec' that describes all the details and quirks - what we
> have are host PC drivers that have been implemented via many cycles
> of trial and error. That's especially true of i8042, the example i
> have given.

The device need not implement any quirks - it can implement the spec 
exactly.  As long as the driver can drive a standard device, all is fine.

Specs for the 8042 certainly exist.

-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2011-07-25 10:18 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-24 20:37 [GIT PULL] Native Linux KVM tool for 3.1 Pekka Enberg
2011-07-24 23:12 ` Jan Kiszka
2011-07-25  7:37   ` Pekka Enberg
2011-07-25  7:53     ` Ingo Molnar
2011-07-25  8:14       ` Alexander Graf
2011-07-25  8:23         ` Pekka Enberg
2011-07-25  8:31           ` Alexander Graf
2011-07-25  8:35             ` Avi Kivity
2011-07-25 13:10               ` Joerg Roedel
2011-07-25 15:05                 ` Avi Kivity
2011-07-25  8:37             ` Pekka Enberg
2011-07-25  8:44               ` Alexander Graf
2011-07-25  8:51                 ` Pekka Enberg
2011-07-25  8:55                   ` Alexander Graf
2011-07-25  9:16               ` Ingo Molnar
2011-07-25  9:14           ` Ingo Molnar
2011-07-25  8:30         ` Pekka Enberg
2011-07-25  8:37           ` Alexander Graf
2011-07-25  8:47             ` Pekka Enberg
2011-07-25  9:06               ` Alexander Graf
2011-07-25 12:45                 ` Pekka Enberg
2011-07-25 12:47                   ` Avi Kivity
2011-07-25 12:51                     ` Sasha Levin
2011-07-25 12:54                       ` Alexander Graf
2011-07-25 13:14                         ` Sasha Levin
2011-07-25 12:51                     ` Alexander Graf
2011-07-25 13:09                       ` Pekka Enberg
2011-07-25 13:29                         ` Alexander Graf
2011-07-25  9:26               ` Ingo Molnar
2011-07-25  9:42                 ` Alexander Graf
2011-07-25 10:16                   ` Ingo Molnar
2011-07-25 10:21                     ` Alexander Graf
2011-07-25 10:35                       ` Ingo Molnar
2011-07-25 10:47             ` Ingo Molnar
2011-07-25 12:24           ` Kevin Wolf
2011-07-25 12:41             ` Pekka Enberg
2011-07-25 12:46               ` Avi Kivity
2011-07-25  8:54         ` Ingo Molnar
2011-07-25  8:59           ` Ingo Molnar
2011-07-25  9:03           ` Alexander Graf
2011-07-25  9:41             ` Ingo Molnar
2011-07-25  9:46               ` Alexander Graf
2011-07-25 10:28                 ` Ingo Molnar
2011-07-25  9:48               ` Avi Kivity
2011-07-25 10:03                 ` Ingo Molnar
2011-07-25 10:17                   ` Avi Kivity [this message]
2011-07-25 10:29                     ` Ingo Molnar
2011-07-25 11:26             ` Olivier Galibert
2011-07-25 10:38         ` Christoph Hellwig
2011-07-25 11:08           ` Ingo Molnar
2011-07-25 11:24             ` Christoph Hellwig
2011-07-25 11:32               ` Ingo Molnar
2011-07-25 11:34               ` Olivier Galibert
2011-07-25 11:41                 ` Christoph Hellwig
2011-07-25 12:09           ` Ingo Molnar
2011-07-25 12:36           ` Pekka Enberg
2011-07-25 19:21             ` david
2011-07-25 18:24     ` Jan Kiszka
2011-07-25 19:43       ` Pekka Enberg
2011-07-25  7:50   ` Sasha Levin
2011-07-25  8:34     ` Alexander Graf
2011-07-25 12:59     ` Paolo Bonzini
2011-07-25 13:16       ` Anthony Liguori
2011-07-25  1:19 ` Anthony Liguori
2011-07-25  7:27   ` Pekka Enberg
2011-07-25  7:36     ` Avi Kivity
2011-07-25  7:39       ` Pekka Enberg
2011-07-25  7:55       ` Sasha Levin
     [not found]       ` <CAFO3S428qqUAu19QjPxDDAVv+eJSX0MEfYp5y03znNi6XbEtTg@mail.gmail.com>
2011-07-25  8:11         ` Ingo Molnar
2011-07-25  8:17           ` Pekka Enberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E2D42D6.3010909@redhat.com \
    --to=avi@redhat.com \
    --cc=agraf@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=asias.hejun@gmail.com \
    --cc=gorcunov@gmail.com \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@kernel.org \
    --cc=prasadjoshi124@gmail.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox