qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/2] add pci-serial device.


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH 0/2] add pci-serial device.
Date: Thu, 27 Sep 2012 07:53:47 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120825 Thunderbird/10.0.7

  Hi,

> Understood, but I'd really prefer a file in docs/.  We should be
> rigorous about having formal specs for all of our paravirtual devices.
> The code shouldn't be the spec.

Well, pci-serial and pci-bridge are *not* paravirtual devices.

They follow a specification describing the programming interface, and
likewise does real hardware.  Same is true for all usb host controllers
and ahci btw.  I can certainly place a text file for pci-serial in
docs/spec/, but there isn't much qemu-specific to specify ...

Guests have generic drivers which just match the PCI class and
programming interface fields in the pci config space and don't care
(much) what the pci id is.  The pci id is used to print the name of the
hardware, apply quirks, handle vendor-specific extensions, and in case
of pci-serial windows also uses it to figure whenever the device is just
a serial port or a modem (behind a 16550).

Whenever we'll pick the pci ids of existing hardware or assign a unique
one is a matter of taste.  Picking unique IDs from Red Hat vendor space
doesn't make the devices paravirtual.  usb controllers and ahci got IDs
matching the ones of the intel chipsets (piix, q35) emulated by qemu,
which makes sense in that case.

For pci-serial windows needs a "driver" (which is just a inf file, the
driver itself is shipped by windows).  So in that case it is easier to
go with our own ids I think, as we can simply ship a inf file then.
When picking the IDs of other cards, existing as real hardware, users
would have to hunt down the (non-redistributable) driver package for the
real hardware to get it going in windows.

cheers,
  Gerd



reply via email to

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