* Avi Kivity <avi@xxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html