Re: [GIT PULL] Native Linux KVM tool for 3.1

Ingo Molnar
2011-07-25T10:30:26Z

* Avi Kivity <avi@redhat.com> wrote:

> 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).

Sure, and nothing in tools/kvm/hw/i8042.c contradicts that and my
points still remain.

You can have clean, harmonic code *and* have it work to spec, agreed?

Thanks,

Ingo